2020年 JavaScript 明星项目

欢迎来到 JavaScript Rising Stars 第五版,这是我们对 Javascript 领域的年度总结。 关注点与之前一样:通过比较各项目在过去12个月里在 GitHub 上增加的 star 数,看看2020年哪些项目受到青睐。


下列图表对比了各个项目在 GitHub 上于过去 12 个月新增的 star 数量。分析的数据来源为 Best of JS 网站 ,一个 WEB 领域优秀项目的精选网站。通过点击项目,可以查看更多信息。

最受欢迎项目

1
Deno

Deno

A secure JavaScript and TypeScript runtime
+30.2k
2.8k
1.5k
1.0k
1.3k
13.7k
3.0k
1.3k
897
836
742
912
1.2k
1月
2月
3月
4月
5月
6月
7月
8月
9月
10月
11月
12月
2
Vue.js

Vue.js

A progressive, incrementally-adoptable framework for building UI on the web
+22.5k
1.4k
1.7k
2.3k
2.4k
1.9k
1.9k
2.0k
1.9k
2.1k
1.3k
1.3k
1.4k
1月
2月
3月
4月
5月
6月
7月
8月
9月
10月
11月
12月
3
React

React

A declarative, efficient, and flexible JavaScript library for building user interfaces.
+19.8k
1.4k
1.4k
1.5k
1.7k
1.8k
1.6k
1.9k
1.8k
1.6k
1.5k
1.4k
1.6k
1月
2月
3月
4月
5月
6月
7月
8月
9月
10月
11月
12月
4
Playwright

Playwright

Node.js library to automate Chromium, Firefox and WebKit with a single API
+19.7k
7.0k
2.6k
840
747
1.5k
1.3k
847
634
789
680
469
1.8k
1月
2月
3月
4月
5月
6月
7月
8月
9月
10月
11月
12月
5
VS Code

VS Code

Visual Studio Code
+19.1k
1.4k
1.3k
1.5k
1.7k
1.8k
1.5k
1.8k
1.7k
1.4k
1.4k
1.4k
1.7k
1月
2月
3月
4月
5月
6月
7月
8月
9月
10月
11月
12月
6
esbuild

esbuild

An extremely fast JavaScript bundler and minifier
+16.6k
1.9k
819
749
1月
2月
3月
4月
5月
6月
7月
8月
9月
10月
11月
12月
7
Vue Element Admin

Vue Element Admin

A magical vue admin
+16.0k
1.1k
1.2k
1.7k
1.8k
1.6k
1.4k
1.3k
1.1k
1.1k
880
1.1k
1.1k
1月
2月
3月
4月
5月
6月
7月
8月
9月
10月
11月
12月
8
eDEX-UI

eDEX-UI

A cross-platform, customizable science fiction terminal emulator with advanced monitoring & touchscreen support.
+15.7k
129
148
127
189
163
142
2.3k
209
973
2.5k
4.5k
3.8k
1月
2月
3月
4月
5月
6月
7月
8月
9月
10月
11月
12月
9
Next.js

Next.js

The React Framework
+15.5k
937
823
965
1.1k
1.4k
1.2k
1.3k
1.1k
1.1k
1.8k
1.9k
1.3k
1月
2月
3月
4月
5月
6月
7月
8月
9月
10月
11月
12月
10
Tailwind CSS

Tailwind CSS

A utility-first CSS framework for rapid UI development.
+15.5k
968
1.1k
885
1.1k
1.2k
1.1k
1.0k
1.2k
923
1.2k
2.6k
1.6k
1月
2月
3月
4月
5月
6月
7月
8月
9月
10月
11月
12月

由于很多原因 2020 年成为非常特殊的一年。其中最重要的一个原因是:这是五年来 Rising Stars 的冠军第一次不再是 Vue.js 而是 Deno。是不是很惊喜?

Deno 是 Node.js 的作者 Ryan Dahl 创建的一个 Javascript 的运行时环境。

它经常被认为是 Node.js 的继任者,因为它基于 Node.js 这10年的使用和迭代经验,对很多地方做了修改和改进。

包含的主要特性:

  • 默认包含 Typescript 编译器(当然,你可以使用普通的 Javascript 编程)
  • 没有集中的包管理器,任何 Javascript 的依赖都可以通过 URL 加载
  • “标准库” 可以为一般的需要在 Node.js 中安装包的需求提供解决方案
  • Deno 尽可能多的使用 web 标准, 比如 Fetch API
  • 使用 ECMAScript 的模块引入文件
  • 内建的测试运行器和调试器

虽然 Deno 的生态系统 非常年轻,但是我们期望它能对围绕它的质疑,作出更大的改变。

Deno 的成功证实了两大趋势:

  • 在前端和客户端上,Typescript 都在兴起
  • Snowpack 这种解决 ES6 模块动态导入的解决方案也在兴起,请查看 “构建工具” 部分的新内容

前端框架

1
Vue.js

Vue.js

A progressive, incrementally-adoptable framework for building UI on the web
+22.5k
1.4k
1.7k
2.3k
2.4k
1.9k
1.9k
2.0k
1.9k
2.1k
1.3k
1.3k
1.4k
1月
2月
3月
4月
5月
6月
7月
8月
9月
10月
11月
12月
2
React

React

A declarative, efficient, and flexible JavaScript library for building user interfaces.
+19.8k
1.4k
1.4k
1.5k
1.7k
1.8k
1.6k
1.9k
1.8k
1.6k
1.5k
1.4k
1.6k
1月
2月
3月
4月
5月
6月
7月
8月
9月
10月
11月
12月
3
Angular

Angular

One framework. Mobile & desktop.
+13.3k
1.1k
1.3k
1.0k
1.0k
1.1k
1.1k
997
1.6k
937
748
1.1k
890
1月
2月
3月
4月
5月
6月
7月
8月
9月
10月
11月
12月
4
Svelte

Svelte

Cybernetically enhanced web apps
+12.0k
1.2k
1.0k
996
1.1k
985
805
886
660
742
1.6k
843
841
1月
2月
3月
4月
5月
6月
7月
8月
9月
10月
11月
12月
5
Alpine.js

Alpine.js

A rugged, minimal framework for composing JavaScript behavior in your markup.
+11.5k
1.6k
1.5k
1.4k
1.0k
1.4k
895
583
530
550
512
492
632
1月
2月
3月
4月
5月
6月
7月
8月
9月
10月
11月
12月

Front-end Frameworks 分类中,Vue.jsReact 对榜首的竞争依然激烈。

紧随其后的是 Angular,其与 Svelte 的排名发生互换,重新排名第三。

前五名中的新面孔是 Alpine.js,一个为浏览器而生的简约响应框架,由 Laravel LiveWire 的创作者创作。

它借鉴了 Vue.js 和 Angular 的一些想法:自定义 HTML 指令,双向绑定……

Alpine.js 只需在HTML中添加旧的 <script> 标签即可轻松使用,无需构建,并且只需使用HTML标记即可完成所有操作,因此如果想要快速增强现有网页而不想引用整个框架,Alpine.js 可能是一个完美的解决方案。

作为一个可以将交互性引入到网页中的轻量级解决方案,它可以与 Elixir Phoenix 这样的现代框架很好的协作。甚至有个叫做 PETAL 的栈包含了 Alpine.jsTailwind CSS,以后会引入更多的框架……

Node.js 框架

1
Next.js

Next.js

The React Framework
+15.5k
937
823
965
1.1k
1.4k
1.2k
1.3k
1.1k
1.1k
1.8k
1.9k
1.3k
1月
2月
3月
4月
5月
6月
7月
8月
9月
10月
11月
12月
2
Strapi

Strapi

Open source Node.js Headless CMS to easily build customisable APIs
+11.8k
891
689
841
891
1.4k
1.3k
923
721
1.0k
800
618
1.2k
1月
2月
3月
4月
5月
6月
7月
8月
9月
10月
11月
12月
3
Nest

Nest

A progressive Node.js framework for building efficient, scalable, and enterprise-grade server-side applications on top of TypeScript & JavaScript (ES6, ES7, ES8)
+10.3k
1.0k
844
812
861
870
843
748
698
886
681
756
886
1月
2月
3月
4月
5月
6月
7月
8月
9月
10月
11月
12月
4
Nuxt

Nuxt

The Intuitive Vue Framework
+8.2k
467
524
566
570
632
603
608
631
1.2k
505
1.2k
497
1月
2月
3月
4月
5月
6月
7月
8月
9月
10月
11月
12月
5
Blitz

Blitz

️The Fullstack React Framework — built on Next.js
+6.0k
481
492
1月
2月
3月
4月
5月
6月
7月
8月
9月
10月
11月
12月

Node.js Frameworks 分类中,有两种类型的项目占有统治地位。

一种是全栈框架,比如 Next.jsNuxt,它们对于如何将 React 和 Vue.js 引入服务端后如何构建应用都有自己的看法。

另一种是更经典的框架,它们只在服务端运行,比如 Nest (去年的引领者) 或者 Fastify

在 2018 年,本分类的引领者是 Next.js。最初,它以能为服务端渲染 React 应用提供解决方案而闻名于世。现在它则是使用 React 构建全栈 Web 应用的解决方案的引领者。

最新的版本提供了像 Incremental Static Regeneration 这样的特性,带来了最佳的静态和动态世界,使其可以适应更多的案例。

在全栈框架中,BlitzRedwood 是两个新的竞争者,它们的目标是为开发者构建完整的 Web 应用提供最佳的开发体验。

有趣的是,Express 这个诞生在 11 年前的框架,仍然在 JavaScript 领域发挥着作用。

React 生态圈

1
Next.js

Next.js

The React Framework
+15.5k
937
823
965
1.1k
1.4k
1.2k
1.3k
1.1k
1.1k
1.8k
1.9k
1.3k
1月
2月
3月
4月
5月
6月
7月
8月
9月
10月
11月
12月
2
React Query

React Query

Hooks for fetching, caching and updating asynchronous data in React
+13.6k
160
1.2k
1.3k
1.2k
837
1.1k
1.5k
1.0k
2.1k
1.1k
702
901
1月
2月
3月
4月
5月
6月
7月
8月
9月
10月
11月
12月
3
Recoil

Recoil

An experimental state management library for React apps
+11.1k
4.2k
1.7k
673
593
557
554
504
351
1月
2月
3月
4月
5月
6月
7月
8月
9月
10月
11月
12月
4
Ant Design

Ant Design

A UI Design Language and React UI library
+10.9k
966
1.1k
1.1k
979
957
969
958
782
751
604
675
704
1月
2月
3月
4月
5月
6月
7月
8月
9月
10月
11月
12月
5
React Hook Form

React Hook Form

React Hooks for forms validation (Web + React Native)
+10.8k
774
782
1.4k
958
999
888
1.2k
741
876
620
692
637
1月
2月
3月
4月
5月
6月
7月
8月
9月
10月
11月
12月

Lee Robinson 是一个开发者,作家,创作者,他是 Vercel 的解决方案架构师(Solutions Architect)。

2020 年,React 生态系统的主题是稳定性。尽管 React 17 并未带来重大变化,但它为未来奠定了基础 -- React 服务端组件

React 服务端组件会通过减少客户端构建包大小和改善启动时间两种方式改变我们构建 React 应用的方式。未来,他们还会简化数据的获取和对数据源(比如,数据库和文件系统)的访问。

Next.js 已经成长为最受欢迎的构建 React 应用的解决方案。它的这种混合方式将是 React 服务端组件的第一个应用。

React QueryRecoilReact Hook Form 这些围绕 Hooks 的支持库也已经发展成熟。每一种库都简化了一部分 React 的开发工作。当与完善的组件库组合使用时,React 开发者比以往有了更多的工具。

Vue 生态圈

1
Vue Element Admin

Vue Element Admin

A magical vue admin
+16.0k
1.1k
1.2k
1.7k
1.8k
1.6k
1.4k
1.3k
1.1k
1.1k
880
1.1k
1.1k
1月
2月
3月
4月
5月
6月
7月
8月
9月
10月
11月
12月
2
Vite

Vite

Next generation frontend tooling. It's fast!
+14.1k
545
1.9k
1.8k
923
1.5k
806
647
761
1月
2月
3月
4月
5月
6月
7月
8月
9月
10月
11月
12月
3
Nuxt

Nuxt

The Intuitive Vue Framework
+8.2k
467
524
566
570
632
603
608
631
1.2k
505
1.2k
497
1月
2月
3月
4月
5月
6月
7月
8月
9月
10月
11月
12月
4
Element Plus

Element Plus

A Vue.js 3.0 UI Library made by Element team
+7.3k
208
1月
2月
3月
4月
5月
6月
7月
8月
9月
10月
11月
12月
5
vue-next

vue-next

Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
+5.9k
537
729
2.7k
654
455
621
1月
2月
3月
4月
5月
6月
7月
8月
9月
10月
11月
12月

Vue.js 社区最大的新闻莫过于 Version 3 的发布。

它带来了新的 Composition API 针对 Vue.js 2 的一些限制做了针对性处理。

  • 曾经很难通过组件内部的逻辑来组织代码
  • 使跨组件的代码重用变得更简单(使用 Vue 2, mixins, mixing factory and scoped slots 不是最优方案)
  • 对 Typescript 有了更好的支持

关于 Version 3 引入的更改的更多细节,可以查看迁移指南

在 2020 年,新的构建工具 Vite 也面世了。由 ES 模块提供支持,它是从命令行开始创建 Vue.js 应用最快的方式。

Angular 生态圈

1
ngx-admin

ngx-admin

Customizable admin dashboard template based on Angular 10+
+2.5k
209
216
288
228
251
234
200
155
181
160
184
148
1月
2月
3月
4月
5月
6月
7月
8月
9月
10月
11月
12月
2
Material Design for Angular

Material Design for Angular

Component infrastructure and Material Design components for Angular
+1.5k
89
125
100
172
126
134
115
114
105
89
226
98
1月
2月
3月
4月
5月
6月
7月
8月
9月
10月
11月
12月
3
Scully

Scully

The Static Site Generator for Angular apps
+1.4k
223
268
75
142
152
100
80
65
102
70
60
49
1月
2月
3月
4月
5月
6月
7月
8月
9月
10月
11月
12月
4
Angular CLI

Angular CLI

CLI tool for Angular
+1.3k
151
121
111
108
109
121
112
82
71
115
79
46
1月
2月
3月
4月
5月
6月
7月
8月
9月
10月
11月
12月
5
NG-ZORRO

NG-ZORRO

Angular UI Component Library based on Ant Design
+1.2k
118
96
125
118
117
78
96
72
98
77
90
88
1月
2月
3月
4月
5月
6月
7月
8月
9月
10月
11月
12月

Angular 前 5 名的项目基本与去年相同,只有排名第三的是新的竞争者。

Scully 是一个将 Angular 带入 Jamstack 的静态网站的生成器。它在 2019 年 12 月份发布,有着非常不错的文档教你如何开始使用。

2020 年,Angular 有三个主要的发布。

Version 9发布于 2 月份,主要的修改是使用了 Ivy 编译器,带来了更小体积的包和其他很多的构建的改进。Version 1011 在今年的晚些时候发布。

下半年,Angular 团队主要的关注点是听取社区的意见。团队花费大量的精力识别 Issues 和 Pull Requests 从而获得社区的需求。他们也发布了一张路线图来分享团队现在的工作和未来的计划。

构建工具

1
esbuild

esbuild

An extremely fast JavaScript bundler and minifier
+16.6k
1.9k
819
749
1月
2月
3月
4月
5月
6月
7月
8月
9月
10月
11月
12月
2
Rome

Rome

The Rome Toolchain. A linter, compiler, bundler, and more for JavaScript, TypeScript, HTML, Markdown, and CSS.
+14.2k
979
777
626
156
438
3.6k
359
283
128
374
1月
2月
3月
4月
5月
6月
7月
8月
9月
10月
11月
12月
3
Vite

Vite

Next generation frontend tooling. It's fast!
+14.1k
545
1.9k
1.8k
923
1.5k
806
647
761
1月
2月
3月
4月
5月
6月
7月
8月
9月
10月
11月
12月
4
Snowpack

Snowpack

WASM-powered frontend build tool. Fast, lightweight, unbundled ESM.
+10.1k
1.2k
486
154
328
1.6k
1.4k
655
618
510
918
692
1.1k
1月
2月
3月
4月
5月
6月
7月
8月
9月
10月
11月
12月
5
Webpack

Webpack

A bundler for javascript and friends. Packs many modules into a few bundled assets. Code Splitting allows for loading parts of the application on demand. Through "loaders", modules can be CommonJs, AMD, ES6 modules, CSS, Images, JSON, Coffeescript, LESS, ... and your custom stuff.
+4.5k
339
316
460
445
352
360
333
321
316
452
335
304
1月
2月
3月
4月
5月
6月
7月
8月
9月
10月
11月
12月

Sébastien 是 React 的早期使用者,与 Facebook Open-Source 在 Docusaurus 上合作。

对于构建工具而言,2020 年也是重大的一年,我们发现了很多新的趋势。

在未来 ES 模块的首选方法上,SnowpackVite 展开角逐。他们在不会构建开发中代码,而是仅构建生产环境的代码(除非浏览器的支持提高),并有着极快的反馈循环。

swcesbuild 分别使用 Rust 和 Go 编写,因此有着难以置信的性能,它们都支持 Typescript。

Webpack 经常被认为过于复杂,而其更简单的替代工具,比如 ParcelRollup 已经非常成熟。Webpack 仍然是实际使用最多的构建工具,它新的缓存层可以很显著的提高构建效率。

Monorepos 正在成为主流:Yarn 和 Lerna 的使用非常广泛,npm 7 也参与其中。

就我个人而言,在 2021 年将关注:RomeToastTurborepo

CSS Frameworks

1
Tailwind CSS

Tailwind CSS

A utility-first CSS framework for rapid UI development.
+15.5k
968
1.1k
885
1.1k
1.2k
1.1k
1.0k
1.2k
923
1.2k
2.6k
1.6k
1月
2月
3月
4月
5月
6月
7月
8月
9月
10月
11月
12月
2
Bootstrap

Bootstrap

The most popular HTML, CSS, and JavaScript framework for developing responsive, mobile first projects on the web.
+8.2k
444
493
730
785
720
974
1.0k
608
561
537
461
666
1月
2月
3月
4月
5月
6月
7月
8月
9月
10月
11月
12月
3
Bulma

Bulma

Modern CSS framework based on Flexbox
+4.2k
379
353
382
444
406
317
343
329
328
294
279
227
1月
2月
3月
4月
5月
6月
7月
8月
9月
10月
11月
12月
4
new.css

new.css

A classless CSS framework to write modern websites using only HTML.
+3.1k
786
289
67
50
40
31
50
52
1月
2月
3月
4月
5月
6月
7月
8月
9月
10月
11月
12月
5
Halfmoon

Halfmoon

Front-end framework with a built-in dark mode and full customizability using CSS variables; great for building dashboards and tools.
+2.0k
513
363
95
163
79
1月
2月
3月
4月
5月
6月
7月
8月
9月
10月
11月
12月

跟去年相比,我们新增了这一部分来强调 Tailwind CSS 的成功以及它 “实用至上” 的态度。

与传统的 CSS 框架(比如,BootstrapBulma)相比,它提供命名规范,从而让开发者可以通过类名的组合来调整页面和组件的样式。

根据 State of CSS 的调查,它是满意度最高的 CSS 框架。

Version 2 已经发布,并带来了很多新的特性,比如对深受喜爱的 “黑暗模式” 的支持。

CSS in JavaScript

1
Styled Components

Styled Components

Visual primitives for the component age. Use the best bits of ES6 and CSS to style your apps without stress
+4.8k
533
420
416
448
458
367
379
339
352
314
324
322
1月
2月
3月
4月
5月
6月
7月
8月
9月
10月
11月
12月
2
Twin

Twin

Blends the magic of Tailwind with the flexibility of css-in-js
+2.8k
370
1月
2月
3月
4月
5月
6月
7月
8月
9月
10月
11月
12月
3
Emotion

Emotion

CSS-in-JS library designed for high performance style composition
+2.5k
202
226
213
226
244
218
152
193
203
173
174
179
1月
2月
3月
4月
5月
6月
7月
8月
9月
10月
11月
12月
4
Linaria

Linaria

Zero-runtime CSS in JS library
+1.8k
119
130
142
130
227
146
149
107
116
135
186
192
1月
2月
3月
4月
5月
6月
7月
8月
9月
10月
11月
12月
5
Theme UI

Theme UI

Build consistent, themeable React apps based on constraint-based design principles
+1.8k
228
208
172
222
189
130
132
99
105
92
91
103
1月
2月
3月
4月
5月
6月
7月
8月
9月
10月
11月
12月

测试框架

1
Playwright

Playwright

Node.js library to automate Chromium, Firefox and WebKit with a single API
+19.7k
7.0k
2.6k
840
747
1.5k
1.3k
847
634
789
680
469
1.8k
1月
2月
3月
4月
5月
6月
7月
8月
9月
10月
11月
12月
2
Storybook

Storybook

The UI component explorer. Develop, document, & test for React, Vue, Angular, Ember, Web Components, & more!
+12.3k
780
770
751
731
1.2k
843
1.6k
1.8k
704
662
789
1.5k
1月
2月
3月
4月
5月
6月
7月
8月
9月
10月
11月
12月
3
Puppeteer

Puppeteer

Headless Chrome Node.js API
+10.6k
901
831
785
1.0k
980
788
975
1.0k
731
721
783
708
1月
2月
3月
4月
5月
6月
7月
8月
9月
10月
11月
12月
4
Cypress

Cypress

Fast, easy and reliable testing for anything that runs in a browser.
+9.0k
750
715
558
528
681
708
915
627
866
482
527
1.4k
1月
2月
3月
4月
5月
6月
7月
8月
9月
10月
11月
12月
5
Headless Recorder

Headless Recorder

a Chrome extension that records your browser interactions and generates a Puppeteer or Playwright script
+6.0k
79
84
77
110
101
83
1.4k
330
1.1k
2.1k
203
126
1月
2月
3月
4月
5月
6月
7月
8月
9月
10月
11月
12月

移动开发

1
React Native

React Native

A framework for building native apps with React.
+8.8k
879
649
650
816
836
682
678
730
604
560
882
548
1月
2月
3月
4月
5月
6月
7月
8月
9月
10月
11月
12月
2
Expo

Expo

An open-source platform for making universal native apps with React. Expo runs on Android, iOS, and the web.
+4.3k
338
267
302
339
361
310
380
922
262
195
223
224
1月
2月
3月
4月
5月
6月
7月
8月
9月
10月
11月
12月
3
Quasar

Quasar

Responsive Single Page Apps, Server-side Render Apps, Progressive Web Apps, Hybrid Mobile Apps (that look native!) & Electron Apps, all using the same codebase.
+4.0k
298
333
333
331
318
359
493
322
303
273
287
277
1月
2月
3月
4月
5月
6月
7月
8月
9月
10月
11月
12月
4
Ionic

Ionic

A powerful cross-platform UI toolkit for building native-quality iOS, Android, and Progressive Web Apps with HTML, CSS, and JavaScript.
+2.8k
212
187
268
229
190
181
168
214
205
186
192
499
1月
2月
3月
4月
5月
6月
7月
8月
9月
10月
11月
12月
5
Sonar

Sonar

A desktop debugging platform for mobile developers.
+1.8k
134
106
238
382
214
149
91
103
112
83
83
80
1月
2月
3月
4月
5月
6月
7月
8月
9月
10月
11月
12月

编译工具

1
TypeScript

TypeScript

A superset of JavaScript that compiles to clean JavaScript output.
+10.4k
714
680
718
789
1.0k
792
878
1.2k
773
613
1.1k
832
1月
2月
3月
4月
5月
6月
7月
8月
9月
10月
11月
12月
2
swc

swc

A super-fast compiler written in rust
+3.4k
285
310
1月
2月
3月
4月
5月
6月
7月
8月
9月
10月
11月
12月
3
Babel

Babel

A compiler for writing next generation JavaScript.
+2.7k
237
206
271
247
226
240
211
198
179
157
193
217
1月
2月
3月
4月
5月
6月
7月
8月
9月
10月
11月
12月
4
Reason

Reason

Simple, fast & type safe code that leverages the JavaScript & OCaml ecosystems
+818
97
79
79
92
72
60
46
52
58
37
45
75
1月
2月
3月
4月
5月
6月
7月
8月
9月
10月
11月
12月
5
Flow

Flow

Adds static typing to JavaScript to improve developer productivity and code quality.
+799
66
71
69
51
75
87
87
61
74
44
47
36
1月
2月
3月
4月
5月
6月
7月
8月
9月
10月
11月
12月

State Management

1
Recoil

Recoil

An experimental state management library for React apps
+11.1k
4.2k
1.7k
673
593
557
554
504
351
1月
2月
3月
4月
5月
6月
7月
8月
9月
10月
11月
12月
2
XState

XState

State machines and statecharts for the modern web.
+5.1k
659
515
602
385
568
303
290
308
281
354
368
286
1月
2月
3月
4月
5月
6月
7月
8月
9月
10月
11月
12月
3
Immer

Immer

Create the next immutable state by mutating the current one
+4.2k
401
357
405
433
338
371
319
339
305
293
272
239
1月
2月
3月
4月
5月
6月
7月
8月
9月
10月
11月
12月
4
Zustand

Zustand

Bear necessities for state management in React
+3.2k
110
1.0k
737
396
315
417
1月
2月
3月
4月
5月
6月
7月
8月
9月
10月
11月
12月
5
Redux

Redux

Predictable state container for JavaScript apps
+3.2k
246
260
342
331
319
255
284
253
196
159
197
206
1月
2月
3月
4月
5月
6月
7月
8月
9月
10月
11月
12月

GraphQL

1
Gatsby

Gatsby

Build blazing fast, modern apps and websites with React
+7.4k
813
629
648
725
794
664
659
517
446
493
370
380
1月
2月
3月
4月
5月
6月
7月
8月
9月
10月
11月
12月
2
Hasura GraphQL Engine

Hasura GraphQL Engine

Blazing fast, instant realtime GraphQL APIs on Postgres with fine grained access control, also trigger webhooks on database events.
+5.9k
558
620
573
771
531
427
404
570
370
364
305
237
1月
2月
3月
4月
5月
6月
7月
8月
9月
10月
11月
12月
3
Redwood

Redwood

Bringing full-stack to the Jamstack.
+5.5k
649
352
436
287
232
173
178
188
366
656
1月
2月
3月
4月
5月
6月
7月
8月
9月
10月
11月
12月
4
Prisma

Prisma

Next-generation ORM for Node.js & TypeScript | PostgreSQL, MySQL, MariaDB, SQL Server & SQLite
+4.0k
271
510
422
533
510
470
500
622
1月
2月
3月
4月
5月
6月
7月
8月
9月
10月
11月
12月
5
Apollo client

Apollo client

A fully-featured, production ready caching GraphQL client for every UI framework and GraphQL server
+2.4k
166
193
190
204
223
188
268
191
186
166
147
161
1月
2月
3月
4月
5月
6月
7月
8月
9月
10月
11月
12月

学习资源

1
JS Algorithms & Data Structures

JS Algorithms & Data Structures

Algorithms and data structures implemented in JavaScript with explanations and links to further readings
+31.9k
1.9k
1.2k
2.1k
4.4k
2.9k
1.6k
2.1k
3.5k
1.9k
1.6k
3.2k
4.2k
1月
2月
3月
4月
5月
6月
7月
8月
9月
10月
11月
12月
2
Node.js Best Practices

Node.js Best Practices

The Node.js best practices list (January 2021)
+20.2k
968
1.3k
2.1k
956
2.1k
1.9k
831
3.2k
1.5k
1.3k
746
2.8k
1月
2月
3月
4月
5月
6月
7月
8月
9月
10月
11月
12月
3
You Don't Know JS

You Don't Know JS

A book series on JavaScript
+18.0k
1.9k
2.3k
1.2k
1.1k
1.7k
1.6k
1.2k
1.4k
1.2k
1.3k
937
1.6k
1月
2月
3月
4月
5月
6月
7月
8月
9月
10月
11月
12月
4
Clean Code

Clean Code

Clean Code concepts adapted for JavaScript
+15.1k
3.6k
1.4k
1.3k
686
721
908
734
1.0k
496
553
2.1k
1.2k
1月
2月
3月
4月
5月
6月
7月
8月
9月
10月
11月
12月
5
30 seconds of code

30 seconds of code

Short JavaScript code snippets for all your development needs
+13.3k
798
576
552
732
737
625
782
772
3.2k
2.5k
820
946
1月
2月
3月
4月
5月
6月
7月
8月
9月
10月
11月
12月

总结

今年是 Javascript 领域又一个伟大的年份,Best of JS 追踪到几位不同领域的新的领导者。

后端开发人员可以在 Deno 中发现乐趣,并开始直接使用 Typescript 而不需要关心依赖包。

前端开发人员现在有了更快更简单的构建工具,比如 esbuildSnowpackVite

说到工具,NPM 的version 7 提供了 workspaces - 可以在一个仓库中处理多个包。这个曾经是它的竞争对手 Yarn 提供的非常好的特性之一。

在样式方面,像 Tailwind CSS 这样的解决方案,也基于同样的思路,变得更简单,而且它围绕一个简单的概念构建了一个生态系统。

在 2021 年我们期待什么呢?

让我们期待一下 React Server Components 会给我们带来什么有趣的变化吧。

现在 Sebastian McKenzie 将工作专注在 Rome 上,这次统一 Javascript 工具的尝试能走多远呢?它会成为一个集处理编译,测试,格式校验等所有操作的依赖项吗?

我们也会一直关注全栈框架 Redwood,它跟 GraphQL 配合的很好,而且使用一种他们称为 “cells” 的独特机制来获取数据。

如果您想从实时用户反馈的角度了解趋势的变化,可以关注 State of JS 的调查结果。

谢谢您对我们项目的关注,明年再见!

Chinese (simplified) version

Angelo Zuo
Front-end Developer

Authors

Available Translations

English

Pусский

日本語

Español