2021 年 JavaScript 明星项目公布,最受欢迎的竟是它?

【编者按】在过去一年中,JavaScript 生态圈的技术框架大放异彩,根据 GitHub 中增加的星星数量排名,JavaScript 领域最受欢迎的项目是 zx、Vite 和 Next.js。开发者越来越看重速度的提升,为构建更好的网站和应用,元框架开始走进大家的视野。许多社区成员都开始从事开发工作,为用户带来更好的体验。今年又将出现哪些表现出色的项目呢?让我们一起来看看吧!

这是「进击的Coder」的第 577 篇技术分享

作者:Michael Rambeau

编译:郭露

来源:CSDN(ID:CSDNnews)

阅读本文大概需要 8 分钟。

9d518c1fd778ef5931fb00ed1059196d.png

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

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

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

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

  • node-fetch:使用与浏览器中相同的 API 发出 HTTP 请求

  • fs-extra:运行文件系统

  • Globby:匹配给定用户友好模式的文件名

dd821ba849ddcde83a7999c672a75a76.png

排在第二位的是 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。

6a85b96473f1ce04874ea8a9dde7346c.png

8a9b6a4bdf38f89a20db5211cf803aef.png

前端框架

自 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。

ba2ec35d2dcc834f866c3cdfcc613ef2.png

5831789aed53bface095cc062945fe0d.png

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 响应、表单提交等)。

4d6e5b7f77466b3c52b1beb7a4d1820a.png

d938e983e0670f6735465799f1001d13.png

构建工具

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 收购后抢占了巨大的市场。

a9084a7d0dd4fbda8bd818caba2dbff5.png

2d08413dddfe41a06d009e370d49e8bd.png

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 和性能方面都得到了极大改善。

9301c360ff4358fb25d55a6376326bf7.png

36ddec96bbab168c67aa21d761fceab7.png

React生态圈

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

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

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

b8fa6b29a77c550b7f496ab8bf754cb4.png

4fcaf6900981b9fb3a827a7b8a6a9f3e.png

JavaScript 中的 CSS

82c35491250f2a4dea2d578980ea1145.png

0f3ff55aa346593a59a9b15d1ee4eef1.png

测试框架

965c0d278501f462e12929f07e7a1036.png

a8aa5ee522d37a5504ca58891f31b5d8.png

移动开发

260fffd8d014f957f598e2c19f8fb989.png

6147c83cee7c9a838f9f23e29a9e9520.png

桌面开发

6b55969fcad5b9f0fbc9d55d41802016.png

a7ead119caa7e1df9cb637de97f7e00b.png

静态站点

03d0a79b988bc9c146f52aeacf0c694f.png

20246ac4886514b9612109e46ccc8a52.png

状态管理

71e261a88f8b6ee87da6d83c12e48542.png

fbad7f781e174438eb215873ef54a05d.png

GraphQL

e01dcbf35c27b38bb416ecba0b356cc7.png

444ee01f1d948ea71f8a911a93e90b62.png

结论

为构建更好的网站和应用程序,元框架时代已悄然来临。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

9d5aa6856e8c1aa40271e1bd7f5566d4.png

End

崔庆才的新书《Python3网络爬虫开发实战(第二版)》已经正式上市了!书中详细介绍了零基础用 Python 开发爬虫的各方面知识,同时相比第一版新增了 JavaScript 逆向、Android 逆向、异步爬虫、深度学习、Kubernetes 相关内容,‍同时本书已经获得 Python 之父 Guido 的推荐,目前本书正在七折促销中!

内容介绍:《Python3网络爬虫开发实战(第二版)》内容介绍

44f9e1fa834cfd7ee0149de468fb34f3.png

扫码购买

7537418e8508213025ba795124476e35.png

好文和朋友一起看~

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值