关于javascript:2021-年-JavaScript-明星项目榜zxVite-Nextjs-React-大受欢迎

54次阅读

共计 4670 个字符,预计需要花费 12 分钟才能阅读完成。

近日,risingstars 出炉了“2021 JavaScript Rising Stars”报告。该报告联合过来 12 个月里 GitHub 上新增的 star 数而对 2021 年 JavaScript 畛域的优良我的项目做了总结。

本次“2021 JavaScript Rising Stars”报告里共包含以下局部:最受欢迎我的项目、前端框架、Node.js 框架、构建工具、Vue 生态圈、React 生态圈、CSS in JavaScript、测试框架、挪动开发、桌面开发、动态网站生成器、状态治理
GraphQL。

本次总结报告里,有不少有意思的后果,比方在“最受欢迎我的项目”里,此次的新“冠军”竟然是一个命令行工具。上面就是此次报告的次要局部,快一起来看看吧!

最受欢迎我的项目

Top10


本次年度风行我的项目 Top10 里最受欢迎的是 zx —— 一款由谷歌推出的全新的工具,可用于以 JavaScript 或 TypeScript 编写简略的命令行脚本。基本上它能够让你在代码中嵌入任何 bash 表达式(ls, cat, git… 等任何命令),并 await 应用 JavaScript 模板字符串的后果。

它引入了由几个风行的软件包提供的实用工具:

  • node-fetch 与浏览器中 fetch 有着雷同的 API,可创立 HTTP 申请。
  • fs-extra 可解决文件系统操作。
  • globby 以用户敌对模式来匹配给定的文件名。

排在第二位的 Vite 是一款采纳 esbuild 编译器的性能优良的构建工具。最后创立时,它仅与 Vue.js 社区相连,但当初它曾经为 React、Svelte、Lit 这些支流的 UI 框架都提供了反对。

排在第三位的 Next.js 仍旧放弃了其在 React 世界中“元框架”的领先地位。

除了前三位,前十位里的第五名 Tauri 是一款应用 Web 技术构建桌面应用程序的解决方案。与 Electron 相比,Tauri 是用 Rust 编写的,且它不在每一个应用程序中搭载 Node.js runtime(Tauri 的 1.0 测试版刚于 5 月公布)。

除了前十位,也有一些特选我的项目值得探讨。比方 Astro 只管没有进入前十名,但却是往年最值得注意的我的项目之一。因为采纳较少的 JavaScript,Astro 也因而成为了一款加载速度更快的建站工具。

它的概念靠近于动态网站生成(SSG),但要害的区别在于,Astro 能够让你在网页中引入被称为“岛屿”的动静互动局部。

在客户端渲染动静组件时可利用不同的策略:

  • 当页面加载时
  • 当页面闲暇时,如果它是一个低优先级的组件(思考跟踪。)
  • 当组件可见时,应用游览器 Intersection Observer API

最厉害的局部之一是 Astro 页面能够用任何框架(React、Vue.js 或 Svelte…)编写的 HTML 和组件来进行组合构建。

前端框架

此次报告后果中,“前端框架”一栏里的排名前五别离是:React,Vue.js,Svelte,Angular,Solid。

其中,排名第一的 React,是“JavaScript Rising Stars “ 流动评比以来首次被评为头等 UI 框架的我的项目,但思考到 Vue.js 被分成了两个仓库(第二和第三版本),所以实际上 Vue.js 才是第一名。

本次”前段框架“一栏排名最大的变动是 Svelte 的崛起,它超过 Angular 占据第三位。现在,已有越来越多的工具或组件将 Svelte 纳入指标框架中(如 Vite)。

此前对于“Svelte 的创造者 Rich Harris 正在退出 Next.js 背地的 Vercel 团队”的重磅新闻置信大家都有所耳闻。与 Next.js 一样,Svelte 也有本人的元框架来构建高性能的应用程序:SvelteKit。

排在第五名的 Solid —— 一款 React 乏味的替代品,其组件是用 JSX 编写的,但它不像 React 那样依赖虚构 DOM。

值得注意的是,Solid 的呈现也启发了 Mitosis,后者一个针对任何框架(React, Vue.js, Angular, Svelte…)编写和编译组件的工具。

Node.js 框架

本次榜单的“Node.js 框架”一栏里,排名前五的我的项目别离是 Next.js,Nest,Strapi,Remix,Nuxt。

一般而言,次要的 UI 框架都有本人的“元框架”来构建古代和可扩大的应用程序,提供诸如路由、服务器端渲染、提前动态生成页面、为生产优化构建 … 等性能。

  • React 的 Next.js,是这个类别的冠军,也能够说是这个畛域的先驱者
  • Vue.js 的 Nuxt,当初分为 Vue.js v2 和 v3 两个版本
  • Svelte 也有 SvelteKit

如排在第四的 Remix 就是一款构建 React 利用的全栈框架。作为该类别中的新秀,Remix 也是往年最“有故事”的我的项目之一,因为它是由 React Router 的作者创立的,在 10 月之前,它只对付费支持者凋谢。

Remix 我的项目自公开以来失去了很多助力,其座右铭很明确:“Web 根底,古代用户体验”,因为它的 API 尽可能遵循 web 规范(HTTP 响应,表单提交 …)。

除了这些元框架,在第二位的 Nest 是更传统的服务器端 Node.js 框架的领导者,不与任何 UI 库相分割。

而排在第三位的 Strapi 像是个“无头 CMS”的领导者,就是那些提供丰盛的仪表盘让用户治理数据和古代 API 让开发者从数据中建设任何货色的应用程序(最新版本提供了一个建设在 React 组件库之上的设计零碎)。

构建工具

在“构建工具”一项里,排名前五的别离为:Vite,esbuild,swc,Turborepo,Nx。

刚刚过来的 2021 年里,一些浮现的趋势更进一步在倒退。比方对原生 ES 模块的接收仍在继续,而 Vite 也已被宽泛采纳(比 snowpack 更快),引领了一个新的工具生态系统(如 Vitest —— 一款基于 ES 的古代测试框架)。ES 模块也在 Node.js 生态系统中逐步被接收,TypeScript 甚至在 Node.js 中推延了对 ES 模块的反对。

出名开发者 Lee Robinson 曾称“Rust 是 JavaScript 基础设施的将来”。Rust 特地乏味,因为它既有很好的性能,又与 JavaScript 有互操作性。NAPI-RS 容许 JavaScript 和 Rust 在没有任何序列化老本的状况下互相通信。而 Next.js 正押注 SWC(一款可扩大的 Rust 编译器,容许他们将最风行的 Babel 插件移植到 Rust)。

Parcel2 曾经公布了一个新的 Rust 编译器。Rome 工具链也正在用 Rust 重写,但其创始人之一 Jamie Kyle 刚悄无声息地来到了公司。

Rust 显然是一款当先的非 JS 语言,但它并不是惟一提供杰出性能的语言。Bun 是用 Zig 语言写的,该项里排名第四的 Turborepo 和排名第二的 esbuild 是用 Go 语言写的。值得注意的是,Evan Wallace 来到了 Figma:这可能让他有更多的工夫来钻研 esbuild。

在 monorepo 畛域,Lerna 依然被宽泛应用,但保护得不是很好。而 Nx 则是一个有助于大幅缩小构建工夫的单引擎工具,始终在快速增长。其较新的竞争者 Turborepo 在被 Vercel 收买后受害于微小的营销。

Vue 生态圈

在 Vue 生态圈“一项里,排名前五的别离是:Slidev,Vue Element Admin,
Headless UI,Naive UI,vue-next。

在 Vue 3 正式公布一年后,咱们看到这个生态系统正随同着许多平凡的翻新迅速倒退。如 Vue 3 外围中的 <script setup>,将组件创作的体验晋升到一个新的程度;新的 VS Code 扩大 Volar 为 Vue 带来了一流的 TypeScript 反对;以 Composition API 为根底建设的新状态管理器 Pinia 成为 Vuex 的继承者。

随着 Vite 成为 Vue 新的默认工具,Nuxt 3、Quasar 和 VitePress 等元框架当初都应用 Vite 作为其默认引擎,让开发者体验有了微小的改良的同时,也为翻新关上了许多新的大门。

同时,社区也在调整 Vue2 到 Vue3 的开发者体验上付出了许多致力,使迁徙过程更加顺利。对于 Vue 开发者来说,这是平凡的一年,他们的利用在开发者体验和性能方面都失去了微小的改善,期待看到 2022 年的更进一步倒退。

React 生态圈

在”React 生态圈“一项里,咱们看到排名前五的别离为:Next.js,Ant Design,MUI (Material UI),Remix,react-use。

随着 React 18 行将公布,当初曾经能够应用 RC 版,并从一些开箱即用的改良中获益,比方主动批处理以缩小渲染或 SSR 对 Suspense 的反对。

React 18 减少了期待已久的并发渲染器和对 Suspense 的更新,但没有任何重大的突破性变动。

React 持续发力于浏览器和服务端,而且在 React Native 的多平台愿景下,它正变得无处不在。

最初,咱们也将后续几个类如 CSS in JavaScript、测试框架、挪动开发、桌面开发、动态网站生成器、状态治理,GraphQL 里的明星我的项目榜繁多一列出:

CSS in JavaScript:

排名前五别离是 vanilla-extract,Styled,Components,Stitches,Twin,Emotion。

测试框架:

排名前五别离是 Playwright,Storybook,Cypress,Puppeteer,Jest。

挪动开发:

排名前五别离是 React Native,Ionic,Expo,Quasar,Flipper。

桌面开发:

排名前五别离是 Tauri,Electron,Svelte NodeGUI,NodeGUI
,Neutralino。

动态网站生成器:

排名前五别离是 Next.js,Astro,Docusaurus,Nuxt,Nuxt 3。

状态治理:

排名前五别离是 Zustand,XState,Jotai,Recoil,Pinia。

GraphQL:

排名前五别离是 Prisma,Hasura GraphQL Engine,Redwood,Gatsby,GraphQL Code Generator。

综述:

为了构建古代网站和应用程序,咱们仿佛曾经进入了元框架的时代:Next.js、Nuxt、SvelteKit…… 以及前景广大的新秀 Remix。

现在,更有许多 JavaScript 社区的出名成员退出了科技公司,如 Kent C. Dodds 退出了 Remix 团队,Svelte 创建者的 Rich Harris 及 Turborepo 创始人 Jared Palmer 均退出了 Vercel…… 越来越多的优良的创作者独特从事这些解决方案的工作。

正如 Lee Robinson 放出豪言:Rust 是 JavaScript 基础设施的将来。对于工具,对速度的需要导致了对 Rust 和 Go 等语言的转变,而非 JavaScript。

作为 2021 年的一个重要主题,无服务器性能及边缘计算被人们经常谈起,这里就有 Vercel Edge Functions、CloudFlare Workers 或 Netlify Edge 等解决方案,在凑近用户的中央运行后端代码。如 Next.js 或 Remix 这样的元框架恰好就利用了边缘计算的劣势,使 React 应用程序中后端代码的整合变得轻而易举。

让咱们大胆预测一下,2022 年会不会是一个进入 JavaScript 全栈利用的鼎盛年份呢?如果您有相干认识,也欢送在评论区交换互动。

点击查看残缺报告:https://risingstars.js.org/20…

正文完
 0