2020 JavaScript Rising Stars

Добро пожаловать в пятый выпуск JavaScript Rising Stars, ежегодного обзора тенденций в мире JavaScript!

В 2020 году смысл проекта не изменился: изучение наиболее успешных проектов путём сравнения количества звёзд на GitHub за последние 12 месяцев.


В представленных ниже графиках сравнивается количество звёзд на GitHub за последние 12 месяцев. Мы проанализировали проекты, участвующие в Best of JS, отобранного списка лучших веб-проектов. Нажмите на проект, чтобы узнать подробнее про него.

Самые популярные проекты

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
Я
Ф
М
А
М
И
И
А
С
О
Н
Д
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
Я
Ф
М
А
М
И
И
А
С
О
Н
Д
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
Я
Ф
М
А
М
И
И
А
С
О
Н
Д
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
Я
Ф
М
А
М
И
И
А
С
О
Н
Д
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
Я
Ф
М
А
М
И
И
А
С
О
Н
Д
6
esbuild

esbuild

An extremely fast JavaScript bundler and minifier
+16.6k
1.9k
819
749
Я
Ф
М
А
М
И
И
А
С
О
Н
Д
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
Я
Ф
М
А
М
И
И
А
С
О
Н
Д
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
Я
Ф
М
А
М
И
И
А
С
О
Н
Д
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
Я
Ф
М
А
М
И
И
А
С
О
Н
Д
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
Я
Ф
М
А
М
И
И
А
С
О
Н
Д

По многим причинам 2020 год был очень необычным. Самое примечательное, что впервые за пять лет абсолютным победителем Rising Stars стал не Vue.js, а Deno... очень неожиданно!

Deno — среда выполнения JavaScript-кода от создателя Node.js Райана Дала.

Её часто считают продолжением Node.js, и опираясь на его 10-летний опыт работы в новой среде были исправлены многие недостатки и недоработки существующей платформы.

Среди отличительных особенностей можно отметить следующее:

  • Встроенный по умолчанию компилятор TypeScript (хотя ничего не мешает писать код на обычном JavaScript);
  • Отсутствие какого-либо централизованного менеджера пакетов, поэтому JavaScript-зависимость может быть загружена с любого URL-адреса;
  • Из коробки есть решения многих распространённых задач, которые в Node.js обычно потребовали бы установки сторонних пакетов;
  • Deno в максимальной степени ориентируется на стандарты веба (например, Fetch API);
  • Файлы импортируются при помощи ECMAScript-модулей;
  • Имеется собственный исполнитель тестов и отладчик.

Экосистема Deno достаточно маленькая, но, учитывая хайп вокруг Deno, её ждут большие изменения.

Успешное развитие Deno говорит о двух довольно больших тенденциях:

  • Заметное увеличение использования TypeScript как во фронтенде, так и в целом на стороне клиента;
  • Всплеск количества динамически импортируемых ES6-модулей через такие инструменты как Snowpack (см. раздел «Инструменты сборки»).

Фронтенд-фреймворки

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
Я
Ф
М
А
М
И
И
А
С
О
Н
Д
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
Я
Ф
М
А
М
И
И
А
С
О
Н
Д
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
Я
Ф
М
А
М
И
И
А
С
О
Н
Д
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
Я
Ф
М
А
М
И
И
А
С
О
Н
Д
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
Я
Ф
М
А
М
И
И
А
С
О
Н
Д

Vue.js и React продолжают противостоять друг другу, находясь на вершине категории фронтенд-фреймворков.

За ними на третьей позиции теперь следует Angular, который поменялся местами с Svelte, занимавшего эту строчку рейтинга в 2019 году.

А пятерку лидеров замыкает совсем молодой проект Alpine.js — минималистичный реактивный фреймворк для браузера от автора Laravel LiveWire.

Он вдохновлён концепциями Vue.js и Angular, поскольку в нём есть и пользовательские HTML-директивы, и двусторонняя привязка...

Его довольно легко начать использовать, вставив старый-добрый тег <script> на HTML-страницу. Не нужно использовать инструменты для сборки, всё делается прямо из HTML-разметки, поэтому данный фреймворк может стать отличным решением для быстрого улучшения существующей веб-страницы без необходимости добавления полноценного фреймворка.

Из-за своей простоты и лёгкости для придания интерактивности веб-страницам, новенький инструмент хорошо интегрируется с современными фреймворками, например, с Elixir Phoenix. Уже есть даже специальный стек PETAL, который включает в себя как Alpine.js, так и Tailwind 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
Я
Ф
М
А
М
И
И
А
С
О
Н
Д
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
Я
Ф
М
А
М
И
И
А
С
О
Н
Д
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
Я
Ф
М
А
М
И
И
А
С
О
Н
Д
4
Nuxt

Nuxt

The Intuitive Vue Framework
+8.2k
467
524
566
570
632
603
608
631
1.2k
505
1.2k
497
Я
Ф
М
А
М
И
И
А
С
О
Н
Д
5
Blitz

Blitz

️The Fullstack React Framework — built on Next.js
+6.0k
481
492
Я
Ф
М
А
М
И
И
А
С
О
Н
Д

Категорию фреймворков Node.js возглавляют два разных типа проектов.

С одной стороны, существуют фулстек-фреймворки Next.js и Nuxt, которые навязывают технологию, на которой должно разрабатываться приложение, поскольку на серверной части они используют React и Vue.js.

А с другой стороны, у нас есть более классические решения, работающие только на сервере, к ним, например, относится Nest (лидер в прошлом году) или Fastify.

Как и в 2018 году, в категории фреймворков ведущее место занимает Next.js. В самом начале он был известен как инструмент для рендеринга React-приложений на сервере. Сейчас это известнейший фреймворк для создания фулстек-приложений с использованием React.

В последней версии появились крутые возможности вроде инкрементальной статической регенерации, и сочетая в себе лучшее из мира статики и динамики, чтобы открыть ещё больше вариантов использования.

Что касается фулстек-фреймворков, то мы видим два новых претендента — Blitz и Redwood, которые призваны создать разработчикам максимальное удобство для разработки полноценных веб-приложений.

Интересно наблюдать, как появившийся 11 лет назад фреймворк Express до сих пор актуален в 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
Я
Ф
М
А
М
И
И
А
С
О
Н
Д
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
Я
Ф
М
А
М
И
И
А
С
О
Н
Д
3
Recoil

Recoil

An experimental state management library for React apps
+11.1k
4.2k
1.7k
673
593
557
554
504
351
Я
Ф
М
А
М
И
И
А
С
О
Н
Д
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
Я
Ф
М
А
М
И
И
А
С
О
Н
Д
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
Я
Ф
М
А
М
И
И
А
С
О
Н
Д

Приглашённый автор: Ли Робинсон (Lee Robinson)

Ли Робинсон — разработчик, писатель и архитектор в Vercel.

Экосистема React в 2020 году прошла под эгидой стабильности. Хотя в новой семнадцатой версии React не было сделано никаких критических изменений, в ней была заложена основа для будущей работы — серверные React-компоненты.

Серверные компоненты React существенно меняют наше представление о создании React-приложений, уменьшая размеры клиентских бандлов и соответственно улучшая время загрузки. Кроме того, они упрощают загрузку данных и доступ к источникам данных (например, из баз данных и файлов).

Next.js стал самым популярным инструментом для разработки React-приложений. Его гибридный подход станет первым применением анонсированных серверных React-компонентов.

Укрепилась поддержка библиотек React Query, Recoil и React Hook Form, которые сконцентрировались вокруг использования хуков. Каждый из этих пакетов упрощает разработку приложений на 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
Я
Ф
М
А
М
И
И
А
С
О
Н
Д
2
Vite

Vite

Next generation frontend tooling. It's fast!
+14.1k
545
1.9k
1.8k
923
1.5k
806
647
761
Я
Ф
М
А
М
И
И
А
С
О
Н
Д
3
Nuxt

Nuxt

The Intuitive Vue Framework
+8.2k
467
524
566
570
632
603
608
631
1.2k
505
1.2k
497
Я
Ф
М
А
М
И
И
А
С
О
Н
Д
4
Element Plus

Element Plus

A Vue.js 3.0 UI Library made by Element team
+7.3k
208
Я
Ф
М
А
М
И
И
А
С
О
Н
Д
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
Я
Ф
М
А
М
И
И
А
С
О
Н
Д

Самой важной новостью в сообществе Vue.js является выпуск третьей версии фреймворка.

В этом крупном обновлении появился новый Composition API, который должен устранить известные ограничения второй версии Vue.js:

  • внутри компонентов было сложно разбить код по логическим частям;
  • теперь стало легче повторно использовать код в разных компонентах (во Vue 2 примеси, фабрика примесей и cлоты с ограниченной областью видимости не были удачным решением для этого);
  • более улучшенная и активная поддержка TypeScript.

Посмотрите руководство по миграции, чтобы узнать более подробно об изменениях в третьей версии.

Кроме этого, в 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
Я
Ф
М
А
М
И
И
А
С
О
Н
Д
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
Я
Ф
М
А
М
И
И
А
С
О
Н
Д
3
Scully

Scully

The Static Site Generator for Angular apps
+1.4k
223
268
75
142
152
100
80
65
102
70
60
49
Я
Ф
М
А
М
И
И
А
С
О
Н
Д
4
Angular CLI

Angular CLI

CLI tool for Angular
+1.3k
151
121
111
108
109
121
112
82
71
115
79
46
Я
Ф
М
А
М
И
И
А
С
О
Н
Д
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
Я
Ф
М
А
М
И
И
А
С
О
Н
Д

Рейтинг пяти самых успешных Angular-проектов остаётся почти таким же, каким и был в прошлом году, за исключением нового участника гонки на третьем месте.

Речь идёт про Scully, статического генератора сайтов, который выводит Angular в мир Jamstack. Проект запустился в декабре 2019 года и имеет отличную документацию, которая поможет вам в освоении этого инструмента.

В 2020 году было три крупных релиза Angular.

Выпущенная в феврале девятая версия завершила переход на компилятор Ivy, в результате чего удалось уменьшить размер бандлов и сделать множество других улучшений сборки. Позже появились две других версии: 10 и 11.

Во второй половине года команда разработчиков Angular значительное внимание уделило сообществу. Они очень постарались сортировать и классифицировать ишью и пулреквесты, чтобы лучше изучить и решить проблемы сообщества. В представленном плане развития команда рассказала над чем работает сейчас и что хочет сделать в будущем.

Инструменты сборки

1
esbuild

esbuild

An extremely fast JavaScript bundler and minifier
+16.6k
1.9k
819
749
Я
Ф
М
А
М
И
И
А
С
О
Н
Д
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
Я
Ф
М
А
М
И
И
А
С
О
Н
Д
3
Vite

Vite

Next generation frontend tooling. It's fast!
+14.1k
545
1.9k
1.8k
923
1.5k
806
647
761
Я
Ф
М
А
М
И
И
А
С
О
Н
Д
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
Я
Ф
М
А
М
И
И
А
С
О
Н
Д
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
Я
Ф
М
А
М
И
И
А
С
О
Н
Д

Приглашённый автор: Себастьян Лорбер (Sébastien Lorber)

Себастьян один из первых, кто начал использовать React, сейчас он работает над опенсорс-проектом Docusaurus от Facebook.

2020 был отличным годом для инструментов сборки: мы увидели много новых трендов.

Snowpack и Vite сделали ставку на ES-модули: на этапе разработки они не упаковывают код в бандлы, поэтому имеют чрезвычайно быструю скорость работы, однако при создании продакшен-сборок по-прежнему собирают код воедино (до тех пор, пока поддержка модулей в браузерах не увеличится).

Чтобы быть максимально эффективными и производительными, swc и esbuild используют преимущества Rust и Go; оба, кстати, поддерживают TypeScript.

Webpack часто называют очень сложным, и похоже, что такие более простые альтернативы как Parcel и Rollup достаточно выросли для использования в реальных проектах. Webpack по-прежнему остаётся стандартным инструментом сборки, который вместе с новым слоем кеширования может значительно улучшить производительность компоновки.

Монорепозитории становятся мейнстримом: для работы с ними активно применяются Yarn и Lerna, к которым присоединился ещё npm (с выходом седьмой версии).

Самые интересные лично для меня инструменты в 2021 году — Rome, Toast, Turborepo.

CSS-фреймворки

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
Я
Ф
М
А
М
И
И
А
С
О
Н
Д
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
Я
Ф
М
А
М
И
И
А
С
О
Н
Д
3
Bulma

Bulma

Modern CSS framework based on Flexbox
+4.2k
379
353
382
444
406
317
343
329
328
294
279
227
Я
Ф
М
А
М
И
И
А
С
О
Н
Д
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
Я
Ф
М
А
М
И
И
А
С
О
Н
Д
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
Я
Ф
М
А
М
И
И
А
С
О
Н
Д

В этом году мы впервые добавили эту категорию, чтобы подчеркнуть успех фреймворка Tailwind CSS и используемый им CSS-подход «utility-first».

По сравнению с более традиционными CSS-фреймворками вроде Bootstrap или Bulma, в нём предусматривается использование определённого способа именования, давая разработчикам стилизовать страницы и компоненты путём комбинации разных имён CSS-классов.

По данным прекрасного отчёта State of CSS, именно этот CSS-фреймворк имеет самый высокий показатель удовлётворенности.

В недавно вышедшей второй версии фреймворка появилось много новых возможностей, включая поддержку многими любимого «тёмного режима».

CSS в 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
Я
Ф
М
А
М
И
И
А
С
О
Н
Д
2
Twin

Twin

Blends the magic of Tailwind with the flexibility of css-in-js
+2.8k
370
Я
Ф
М
А
М
И
И
А
С
О
Н
Д
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
Я
Ф
М
А
М
И
И
А
С
О
Н
Д
4
Linaria

Linaria

Zero-runtime CSS in JS library
+1.8k
119
130
142
130
227
146
149
107
116
135
186
192
Я
Ф
М
А
М
И
И
А
С
О
Н
Д
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
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
Я
Ф
М
А
М
И
И
А
С
О
Н
Д
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
Я
Ф
М
А
М
И
И
А
С
О
Н
Д
3
Puppeteer

Puppeteer

Headless Chrome Node.js API
+10.6k
901
831
785
1.0k
980
788
975
1.0k
731
721
783
708
Я
Ф
М
А
М
И
И
А
С
О
Н
Д
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
Я
Ф
М
А
М
И
И
А
С
О
Н
Д
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
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
Я
Ф
М
А
М
И
И
А
С
О
Н
Д
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
Я
Ф
М
А
М
И
И
А
С
О
Н
Д
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
Я
Ф
М
А
М
И
И
А
С
О
Н
Д
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
Я
Ф
М
А
М
И
И
А
С
О
Н
Д
5
Sonar

Sonar

A desktop debugging platform for mobile developers.
+1.8k
134
106
238
382
214
149
91
103
112
83
83
80
Я
Ф
М
А
М
И
И
А
С
О
Н
Д

Разновидности/компиляторы JS

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
Я
Ф
М
А
М
И
И
А
С
О
Н
Д
2
swc

swc

A super-fast compiler written in rust
+3.4k
285
310
Я
Ф
М
А
М
И
И
А
С
О
Н
Д
3
Babel

Babel

A compiler for writing next generation JavaScript.
+2.7k
237
206
271
247
226
240
211
198
179
157
193
217
Я
Ф
М
А
М
И
И
А
С
О
Н
Д
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
Я
Ф
М
А
М
И
И
А
С
О
Н
Д
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
Recoil

Recoil

An experimental state management library for React apps
+11.1k
4.2k
1.7k
673
593
557
554
504
351
Я
Ф
М
А
М
И
И
А
С
О
Н
Д
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
Я
Ф
М
А
М
И
И
А
С
О
Н
Д
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
Я
Ф
М
А
М
И
И
А
С
О
Н
Д
4
Zustand

Zustand

Bear necessities for state management in React
+3.2k
110
1.0k
737
396
315
417
Я
Ф
М
А
М
И
И
А
С
О
Н
Д
5
Redux

Redux

Predictable state container for JavaScript apps
+3.2k
246
260
342
331
319
255
284
253
196
159
197
206
Я
Ф
М
А
М
И
И
А
С
О
Н
Д

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
Я
Ф
М
А
М
И
И
А
С
О
Н
Д
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
Я
Ф
М
А
М
И
И
А
С
О
Н
Д
3
Redwood

Redwood

Bringing full-stack to the Jamstack.
+5.5k
649
352
436
287
232
173
178
188
366
656
Я
Ф
М
А
М
И
И
А
С
О
Н
Д
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
Я
Ф
М
А
М
И
И
А
С
О
Н
Д
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
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
Я
Ф
М
А
М
И
И
А
С
О
Н
Д
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
Я
Ф
М
А
М
И
И
А
С
О
Н
Д
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
Я
Ф
М
А
М
И
И
А
С
О
Н
Д
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
Я
Ф
М
А
М
И
И
А
С
О
Н
Д
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
Я
Ф
М
А
М
И
И
А
С
О
Н
Д

Заключение

Для JavaScript это был очередной замечательный год, который принёс несколько новых лидеров в различных категориях, отслеживаемых Best of JS.

Бэкенд-разработчики могут пощупать Deno и сразу же начать использовать TypeScript, не беспокоясь о каких-либо зависимостях.

А у фронтенд-разработчиков появились более быстрые и простые инструменты сборки, например, esbuild, Snowpack и Vite.

Если продолжать тему инструментов, с седьмой версии NPM стало возможным использовать механизм workspaces, который позволяет работать с несколькими пакетами в одном репозитории, раньше нечто подобное было одним из весомых преимуществ его конкурента Yarn.

Стилизация фронтенда идёт по неизменному пути, вместе с инструментами типа Tailwind CSS ещё больше упрощая работу и формируя экосистему на этой простой концепции.

Чего ожидать в 2021 году?

Любопытно узнать, куда приведут нас серверные React-компоненты.

Теперь, когда Себастьян Маккензи (Sebastian McKenzie) работает только над Rome, насколько далеко он зайдёт в попытке унифицировать инструментарий JavaScript. Станет ли его детище единственным инструментом для компиляции, тестирования, проверки кода и многого чего другого?

Мы будем пристально следить за фулстек-фреймворком Redwood, который хорошо интегрирован с GraphQL и вообще предоставляет уникальный способ получения данных, который они сами называют «cells».

Настоятельно рекомендуем ознакомиться с результатами потрясающего опроса State of JS, особенно если вам нужен другой взгляд на тренды, полученный от реальных разработчиков.

Спасибо, что были с нами, и до встречи в следующем году!

Russian version

Alexey Pyltsyn
Maintainer of Russian docs on PHP, React, Kubernetes and much more

Authors

Available Translations

English

日本語

Español

中文