这是我们对 JavaScript 领域的2021年度总结。
比较了过去 12 个月在 GitHub 上添加的星数。我们分析了来自Best of JS的项目,这是与 Web 平台相关的最佳项目的精选列表。
总体上最受欢迎的项目
今年最流行的项目是zx,这是 Google 的一个全新工具,可以用 JavaScript 或 TypeScript 编写简单的命令行脚本。
基本上,它允许您在代码中嵌入任何 bash 表达式(ls, cat, git… 任何东西!),并await使用JavaScript 模板文字作为结果。
它包括几个流行包提供的实用程序:
- node-fetchfetch使用与浏览器中相同的 API 发出 HTTP 请求
- fs-extra处理文件系统操作
- globby匹配给定用户友好模式的文件名
其次,Vite是一个构建工具,它使用esbuild编译器来提供出色的性能。一开始它与 Vue.js 社区相关联,但现在它已经设置了主要的 UI 框架:React、Svelte、Lit。
Next.js 位居第三,保持其在 React 世界中领先的“元框架”的地位。
第五名Tauri是一种使用 Web 技术构建桌面应用程序的解决方案。
与Electron相比,它是用 Rust 编写的,并且不会随每个应用程序附带 Node.js 运行时。
Astro是今年最引人注目的项目之一。Astro 是一种构建加载速度更快的网站的工具,因为它们发布的 JavaScript 更少。
这个概念接近于静态站点生成 (SSG),但主要区别在于 Astro 允许您在称为“岛屿”的页面中包含动态交互片段。
可以应用不同的策略在客户端渲染动态组件:
- 页面加载时
- 如果页面是低优先级组件,则当页面空闲时(考虑跟踪。)
- 当组件使用浏览器Intersection Observer API可见时
最好的部分之一是 Astro 页面可以使用 HTML 和使用任何框架编写的组件的组合构建:React、Vue.js 或 Svelte…
前端框架
React是第一次成为排名第一的 UI 框架,但如果我们考虑到 Vue.js 分为两个存储库(对于版本 2 和 3),Vue.js实际上是领导者。
最大的变化是Svelte的崛起,它在[url=https://angular.io/]Angular[/url]之前排名第三。
越来越多的工具或组件在目标框架中包含了 Svelte(例如我们提到了Vite)。
今年的主要头条新闻之一是,Svelte 的创建者 Rich Harris 将加入 Vercel,成为Next.js背后的团队。
与 Next.js 一样,Svelte 有自己的元框架来构建高性能应用程序:SvelteKit。
第五,Solid是 React 的一个有趣的替代品。组件是使用 JSX 编写的,但它不像 React 那样依赖虚拟 DOM。
它激发了Mitosis的灵感,这是一个编写和编译针对任何框架的组件的工具:React、Vue.js、Angular、Svelte…
Node.js 框架
主要的 UI 框架都有自己的“元框架”来构建现代和可扩展的应用程序,提供路由、服务器端渲染、提前静态生成页面、为生产优化构建等功能…
Remix是一个构建 React 应用程序的全栈框架,是该类别的新成员。这是今年最大的故事之一。它由React Router的作者创建,直到 10 月才对付费支持者开放。
自公开以来,该项目获得了很大的关注(以及 300 万美元的种子资金,这也有帮助!)。它的座右铭很明确:“Web Fundamentals, Modern UX”,因为它的 API 尽可能地遵循 Web 标准(HTTP 响应、表单提交…)。
Nest是更传统的服务器端 Node.js 框架的领导者,不依赖于任何 UI 库。
Strapi是“无头 CMS”的领导者,这些应用程序提供了丰富的仪表板让用户管理数据和现代 API 让开发人员可以从数据中构建任何东西。最新版本 (4) 提供了一个构建在 React 组件库之上的设计系统。
Vue 生态系统
随着Vite成为 Vue 的新默认工具,Nuxt 3、Quasar和VitePress等元框架现在使用 Vite 作为其默认引擎。提供巨大的开发人员体验改进并为创新打开许多新大门。
新的 VS Code 扩展Volar为 Vue 带来了一流的 TypeScript 支持;一个新的状态管理器Pinia,它是基于新的 Composition API 构建的,成为 Vuex 的继承者。
社区还为使 Vue 2 的 DX 与 Vue 3 保持一致,并使迁移过程更加顺畅方面付出了很多努力。对于 Vue 开发人员来说,这是伟大的一年,他们的 DX 和应用程序的性能都得到了巨大的改进。很高兴看到 2022 年即将发生的事情!