【编者按】在过去一年中,JavaScript 生态圈的技术框架大放异彩,根据 GitHub 中增加的星星数量排名,JavaScript 领域最受欢迎的项目是 zx、Vite 和 Next.js。开发者越来越看重速度的提升,为构建更好的网站和应用,元框架开始走进大家的视野。许多社区成员都开始从事开发工作,为用户带来更好的体验。今年又将出现哪些表现出色的项目呢?让我们一起来看看吧!
这是「进击的Coder」的第 577 篇技术分享
作者:Michael Rambeau
编译:郭露
来源:CSDN(ID:CSDNnews)
“
阅读本文大概需要 8 分钟。
”最受欢迎的项目: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。
前端框架
自 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。
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 响应、表单提交等)。
构建工具
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 收购后抢占了巨大的市场。
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 和性能方面都得到了极大改善。
React生态圈
React 18 即将发布,现在已经可以使用 RC 版本体验新功能,例如自动批处理以减少渲染或 SSR 对 Suspense 的支持。
React 18 增加了人们期待已久的并发渲染器并支持 Suspense,但没有任何重大更新,其初始版本将提供部分并发功能,例如 startTransition。
React 去年在各浏览器和服务器上迅速发展,期待它能够走得越来越远。
JavaScript 中的 CSS
测试框架
移动开发
桌面开发
静态站点
状态管理
GraphQL
结论
为构建更好的网站和应用程序,元框架时代已悄然来临。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
End
崔庆才的新书《Python3网络爬虫开发实战(第二版)》已经正式上市了!书中详细介绍了零基础用 Python 开发爬虫的各方面知识,同时相比第一版新增了 JavaScript 逆向、Android 逆向、异步爬虫、深度学习、Kubernetes 相关内容,同时本书已经获得 Python 之父 Guido 的推荐,目前本书正在七折促销中!
内容介绍:《Python3网络爬虫开发实战(第二版)》内容介绍
扫码购买
好文和朋友一起看~