2021 年 JS 明星项目排名第一竟是它?

2022-01-18 19:22:24 浏览数 (1)

作者 | Michael Rambeau 编译 | 郭露

01

最受欢迎的项目:zx、Vite和Next.js

今年最受欢迎的项目是谷歌的zx,可在JavaScript或TypeScript中编写简单的命令行脚本。

zx支持在代码中嵌入任何bash表达式(ls、cat、git等等),并借助JavaScript模板字面量获得结果。

zx涵盖了多个软件包提供的功能:

  • node-fetch:使用与浏览器中相同的API发出HTTP请求
  • fs-extra:运行文件系统
  • Globby:匹配给定用户友好模式的文件名

排在第二位的是Vite。Vite是一个构建工具,可通过esbuild编译器提供出色的性能。Vite最初借助 Vue.js 社区提供支持,但如今Vite已兼容主要UI框架:React、Svelte和Lit。

Next.js排名第三,在React领域依旧保持领先的“元框架”地位。

特色工具

尽管未进入前10,但它是今年最引人注目的工具之一。Astro可构建加载速度更快的网站,这些网站的JavaScript数据更少。

这一概念与静态站点生成 (SSG) 非常相似,但主要区别在于Astro支持在页面中使用动态交互内容。

以下是能够在客户端渲染动态组件的情况:

  • 页面加载时
  • 页面闲置时,前提是它是一个低优先级的组件
  • 当使用浏览器Intersection Observer API时组件可见时

Astro最大的优势在于其页面可以使用HTML和任何框架编写的组件组合进行构建:React、Vue.js或Svelte。

02

前端框架

自JavaScript明星项目推出以来,React首次成为最受欢迎的UI框架,其次是Vue.js。

其中最引人注意的是Svelt的崛起,它超过了Angular,位列第三。如今越来越多的工具以及组件将Svelte纳入选择框架中(其中包括Vite)。而Svelt的作者Rich Harris于去年加入Next.js后的Vercel团队。

与Next.js类似的是,Svelte拥有自己的元框架,即SvelteKit,可构建高性能应用程序。

排名第五的是Solid,是React的替代工具之一。其组件采用JSX编写,但与React不同的是,Solid并不依赖虚拟DOM。

03

Node.js框架

一般来说,各大UI框架都拥有自己的“元框架”来构建可扩展的应用程序,并提供诸如路由、服务器端渲染(SSR)、生成静态页面、优化构建等功能。

  • React拥有最优秀的元框架Next.js
  • Vue.js的元框架为Nuxt,同时Vue.js分为Vue.js v2和v3两个版本。
  • Svelte的元框架为SvelteKit

排在第二位的Nest为服务器端Node.js框架的先驱,不与任何UI库相关联。

位列第三的Strapi则是“无头CMS”的先驱,Strapi拥有强大的功能,用户可进行数据管理,其最新版本提供了建立在React组件库之上的设计系统。

Remix由React Router的作者创建,为构建React应用的全栈框架,是Node.js框架中的新秀,同时也是今年最惊艳的工具之一。

自推出以来,Remix就受到大量支持。该框架旨在“提供网络基础,提升用户体验”,其API以网络标准为准(HTTP响应、表单提交等)。

04

构建工具

2021年,构建工具已有的趋势越发明显。

越来越多人开始采用原生ES模块。Vite得到广泛采用(其发展速度比snowpack更快),因而催生出新的工具生态系统(例如基于ES的现代测试框架Vitest)。Node.js生态圈中也开始采用ES模块,但难度要更大。TypeScript甚至推迟了对Node.js中ES模块的支持。

出于性能的考虑,越来越多的前端工具采用其他语言进行开发。

Lee Robinson认为,Rust是JavaScript基础设施的未来。Rust有着良好的性能,同时与JavaScript的互操作性较强。NAPI-RS可让JavaScript和Rust进行交互。

而Next.js则非常看好swc的发展,作为一个可扩展的Rust编译器,swc可将Babel插件移植到Rust上。

Rust是最受欢迎的的非JS语言,但它并不是唯一的语言。Bun采用的是Zig,而Turborepo和esbuild均采用的是Go。

在monorepo中广泛采用的仍然是Lerna。而单引擎工具Nx能够大幅减少构建时间,其覆盖范围一直在快速扩大。其竞争者Turborepo在被Vercel收购后抢占了巨大的市场。

05

Vue生态圈

在Vue 3正式发布的一年中,Vue生态圈正以前所未有的速度迅速发展。

Vue生态圈提供的新的语法例如Vue 3的<script setup>对于创作组件更加友好。同时新的VS Code插件Volar可为Vue提供TypeScript支持;基于Composition API的状态管理器Pinea成为Vuex的替代品之一。

随着Vite成为新的Vue的默认工具,Nuxt 3、Quasar和VitePress等元框架均选择Vite作为默认引擎。Vite大大地提高了开发者体验,并为开发创新提供了新的支撑。

同时开发者在努力将Vue 2的DX迁移到Vue 3上。对于Vue开发者来说,2021年是伟大的一年,他们的应用在DX和性能方面都得到了极大改善。

06

React生态圈

React 18即将发布,现在已经可以使用RC版本体验新功能,例如自动批处理以减少渲染或SSR对Suspense的支持。

React 18增加了人们期待已久的并发渲染器并支持Suspense,但没有任何重大更新,其初始版本将提供部分并发功能,例如startTransition。

React去年在各浏览器和服务器上迅速发展,期待它能够走得越来越远。

07

JavaScript中的CSS

08

测试框架

09

移动开发

10

桌面开发

11

静态站点

12

状态管理

13

GraphQL

14

结论

为构建更好的网站和应用程序,元框架时代已悄然来临。Next.js、Nuxt、SvelteKit以及Remix等框架都为开发者了更多的可能。

许多JavaScript社区中的著名成员都加入了科技公司并从事开发工作:

  • Kent C. Dodds加入了Remix团队,他认为Remix能够为用户带来绝佳的开发体验。
  • Svelte的作者Rich Harris、React核心团队的Sebastian Markbåge以及Jared Palmer则加入了Vercel,并采用开源解决方案来管理monorepos(Turborepo)。

由于开发者越来越注重速度的提升,因此Rust和Go等编程语言的应用范围越来越广,JavaScript前途未卜。

Deno开始采用swc工具,过去一年中其表现依旧非常强势,并且仍在不断推出更新。同时Deno还推出了Deno Deploy。

2022年能否成为JavaScript全栈应用的黄金时代呢?让我们一起期待一下吧!

参考链接

  • https://risingstars.js.org/2021/en#conclusion

如果你觉得还有比较优秀的项目,欢迎留言!

0 人点赞