目次
総合ランキング
2020年の推移
GitHub情報
- 作成日2018-05
- 累計スター数71.1k☆
リンク
- GitHub
- WEB サイト
Vue.js
React
Playwright
VS Code
esbuild

Vue Element Admin
eDEX-UI
Next.js
Tailwind CSS
フロントエンドフレームワーク
Vue.js
React
Angular
Svelte
Alpine.js
いつものようにVue.jsとReactが頂上決戦を繰り広げています。
その後ろでは、2019年に3番手をSvelteに奪われたAngularが、ふたたびその位置を奪還しました。
ベスト5の新顔はAlpine.jsで、これはLaravel LiveWireの作者によって作られたミニマルなリアクティブフレームワークです。
Vue.jsとAngularの両方から、カスタムHTMLディレクティブや双方向バインディングといったアイデアを拝借しています。
HTMLに古き良き<script>
タグを追加するだけで簡単に使うことができ、ビルドプロセスも不要で、HTMLマークアップだけで全てを動かすことができます。
本格的なフレームワークを導入することが困難な既存のWebページをさくっと強化する目的については、最も適切なソリューションであるかもしれません。
Webページにインタラクティブ性をもたらすだけの非常に軽量なソリューションであるため、Elixir Phoenixのようなフレームワークともうまく連携して同居できます。 Alpine.jsとTailwind CSSを最初からまとめておいたPETALのようなプロジェクトも存在します。 こちらについては後ほど語りましょう。
Node.js フレームワーク
Next.js
Strapi
Nest
Nuxt
Blitz
Node.jsフレームワークには大きく2つの種類が存在します。
ひとつはNext.jsやNuxtのようなフルスタックフレームワークで、ReactやVue.jsなどをサーバサイドに持ってくるアプリケーション構築方法については賛否両論があります。
もうひとつは昨年のチャンピオンNestやFastifyなどが属する、サーバ側のみで動作する古典的なフレームワークです。
この分野では2018年にトップだったNext.jsが再びチャンピオンに返り咲きました。 当初はReactをSSRするだけのソリューションとして名を上げましたが、今ではReactでフルスタックWebアプリケーションを構築するソリューションの筆頭になっています。
最新バージョンでは動的ページと静的ページの垣根を取り払うIncremental Static Regenerationにも対応し、多くのユースケースで最適な選択肢になりつつあります。
フルスタックといえば、BlitzやRedwoodは、それひとつだけで完全なWebアプリケーションを構築できるという最高の開発者体験を提供することを目的としたプロジェクトです。
それにしても浮沈の激しいJavaScriptの世界で、11年前に誕生したExpressがいまだに一定の地位を保っているのは興味深いですね。
React エコシステム
Next.js
React Query
Recoil
Ant Design
React Hook Form
ゲストライター: Lee Robinson
Lee Robinsonは、Vercelでソリューションアーキテクトとして働いている開発者・ライター・クリエイターです。

2020年のReactエコシステムのテーマは安定性でした。 React17では破壊的変更を行わず、将来に向けての布石を仕込みました。 それがReact Server Componentsです。
React Server Componentsはクライアントのバンドルサイズを縮小し、起動にかかる時間を改善します。 さらにデータの取得、データベースやファイルシステムなどデータソースへのアクセスも簡単になります。
Next.jsは、Reactアプリケーションを構築するための最も有名なソリューションに成長しました。 React Server Componentsの最初のアプリになることでしょう。
React Query、Recoil、React Hook Formといったサポートライブラリは、hooksを主軸に進化、円熟してきました。 それぞれがReact開発の一部を簡素化してくれます。
これらのコンポーネントライブラリを組み合わせることで、React開発者はこれまで以上に多くのツールを手に入れることができるでしょう。
Vue エコシステム

Vue Element Admin
Vite
Nuxt
Element Plus
vue-next
2020年のVueコミュニティ最大のニュースは、Vue3のリリースです。
Vue2に存在した幾つかの問題を解決するために、Composition APIという仕組みが導入されました。
- コンポーネント内の論理的な繋がりによってコードを整理することが難しかった。
- コンポーネントをまたいだコードの再利用が容易になる。 (Vue2のmixin、mixing factory、scoped slots等では不十分だった)
- TypeScriptサポートが改善された。
バージョン3で導入された変更については、マイグレーションガイドをチェックしてみてください。
2020年には新たなWeb構築ツール、Viteが誕生しました。 ES modulesに対応し、コマンドラインからVueアプリケーションを構築する最速の方法です。
Angular エコシステム
ngx-admin
Material Design for Angular
Scully
Angular CLI
NG-ZORRO
Angularのランキングは昨年とあまり変わりませんが、3位に新たなプロジェクトが登場しました。
ScullyはAngularにJamstackをもたらす静的サイトジェネレータです。 このプロジェクトは2019年12月に登場し、そしてわかりやすいドキュメントが存在します。
Angularは2020年に3つのメジャーバージョンがリリースされました。
2月にはバージョン9がリリースされました。 主な変更点はIvyコンパイラの導入で、これによってバンドルサイズが減少し、またビルドプロセスに大きな改善がもたらされました。 さらに年の後半にはバージョン10とバージョン11がリリースされました。
Angularチームの2020年後半の主な仕事は、コミュニティの声に耳を傾けることでした。 コミュニティのニーズを理解するために、issueやPRに対応することに大きな努力を行いました。 また、チームが取り組んでいることの共有や、今後のロードマップの公開も行いました。
ビルドツール
esbuild
Rome
Vite
Snowpack
Webpack
ゲストライター: Sébastien Lorber
SébastienはReactのアーリーアダプターであり、FacebookのオープンソースであるDocusaurusで働いています。

2020年はビルドツールの当たり年で、多くの新しいトレンドが産まれました。
SnowpackとViteはES modulesの将来に賭けたアプローチです。 開発中のコードはバンドルせず、プロダクションコードのビルド時のみバンドルする方針で、非常に高速なフィードバックループを持っています。
swcとesbuildは、それぞれRustとGoで書かれており、TypeScriptをサポートしていて、そして信じられないほどの高速で動作します。
Webpackは設定が複雑すぎると言われることが多く、よりシンプルに書けるParcelやRollupが成熟してきました。 とはいえビルドツールの中心はいまだWebpackであることは変わらず、そしてWebpackの新たなキャッシングレイヤはビルドのパフォーマンスを大幅に改善します。
Monorepoがメインストリームになりつつあります。 YarnとLernaが広く使われ、そしてnpm 7も参加してきました。
CSS フレームワーク
Tailwind CSS
Bootstrap
Bulma
new.css
Halfmoon
昨年はなかった項目ですが、Tailwind CSSの躍進と、そのユーティリティファーストの姿勢を評してこのセクションを追加しました。
BootstrapやBulmaといった既存のCSSフレームワークに比べて、開発者がクラス名を合成してページやコンポーネントをスタイル化するための命名規則を提供しています。
State of CSSのアンケートにおいても、最も満足度の高いフレームワークになっています。
先日バージョン2がリリースされ、ダークモードなど多くの新機能が追加されました。
CSS in JavaScript
Styled Components
Twin
Emotion
Linaria
Theme UI
テストツール
Playwright
Storybook
Puppeteer
Cypress
Headless Recorder
モバイル
React Native
Expo
Quasar
Ionic
Sonar
JS コンパイラ
TypeScript
swc
Babel
Reason
Flow
状態管理
Recoil
XState
Immer
Zustand
Redux
GraphQL
Gatsby
Hasura GraphQL Engine
Redwood
Prisma
Apollo client
学習リソース
JS Algorithms & Data Structures
Node.js Best Practices
You Don't Know JS
Clean Code
30 seconds of code
おわりに
Best of JSが追跡している多くのカテゴリにおいて、幾つかの新しい潮流が発生し、JavaScriptの世界は今年も素晴らしい年になりました。
バックエンド開発者は今すぐDenoを使って、依存を気にすることなくTypeScriptを楽しむことができます。
フロントエンド開発者はesbuild、Snowpack、そしてViteなど、より高速でシンプルなビルドソリューションを手に入れることができました。
ツールにおいては、NPM 7がひとつのリポジトリで複数のパッケージを扱えるようになるworkspacesをリリースしました。 これはライバルであるYarnが先に提供していた大きな利点のひとつです。
スタイルについては、よりシンプルなコンセプトを中心としたエコシステムを構築する、Tailwind CSSのような方向性のソリューションが他にも現れています。
2021年には何が期待できるでしょうか?
React Server Componentsがどのようなものになるかは興味深いところです。
Sebastian McKenzieがRomeにフルタイムで入っている今、そのJavaScriptツールを統一しようとする試みはどこまで進むでしょうか。 コンパイル、テスト、Lint、その他全て、全てが入ったたったひとつの依存は完成するでしょうか。
我々は、フルスタックフレームワークであるRedwoodにも注目しています。 これはGraphQLと相性が良く、そしてデータハンドリングに"cells"と呼ばれるユニークな仕組みを使っています。
ユーザのフィードバックに基づいた、本調査とは別観点からの結果を見たいのであれば、State of JSも参照してください。
みてくれてありがとう。 また来年会いましょう!
2020年は様々な理由で特別な年になりました。 最も目を引くことは、これまで5年間首位を独走してきたVue.jsを抜き去り、Denoが一位になったことです。
DenoはNode.jsの生みの親Ryan Dahlによる新たなJavaScriptランタイムです。 Node.jsのこれまでの10年間の経験と反省を生かし、多くを改善しているため、Node.jsの後継と思われがちです。
主な機能としては、
Denoのエコシステムはまだまだ発展途上ですが、Denoの話題性を考えると、今後大きく変化することが期待されます。
Denoの成長は、2つの大きなトレンドを裏付けています。