「Best of JavaScript」プロジェクトは、2020年に最も注目を集めたJavaScriptプロジェクトなどのランキング「2020 JavaScript Rising Stars」を発表した。総合ランキングでは、過去5年間首位を維持した「Vue.js」を抜いて、「Deno」が首位を獲得した。
この記事は会員限定です。会員登録(無料)すると全てご覧いただけます。
「Best of JavaScript」プロジェクトは、2020年に最も注目を集めたJavaScriptプロジェクトなどのランキング「2020 JavaScript Rising Stars」を発表した。
Best of JavaScript(Best of JS)は、Webプラットフォームと「Node.js」関連の約1500のオープンソースプロジェクトについてリストを毎日更新しているWebサイト。大阪府在住のフルスタックWeb開発者ミカエル・ランボー氏が運営している。
直近の1日、7日、30日、12カ月にGitHubリポジトリが獲得したスター数でランキングを決めており、2020 JavaScript Rising Starsは、2020年の1年間にGitHubリポジトリが獲得したスター数で各種カテゴリー別にランキングしたもので、今回が5回目だ。リストの他に解説もある。ランボー氏と、オーストラリア在住のフロントエンド開発者ベンジャミン・ブラックウッド氏などが作成した(日本語訳はRana Kualu氏)。
総合ランキング1〜5位は次の通り。プロジェクト名の後の数字は、1年間に獲得したスター数を示す。
今回、過去5年間首位を維持したVue.jsを抜いて、Denoが首位を獲得した。DenoはNode.jsの生みの親であるライアン・ダール氏による新しいJavaScriptランタイム。デフォルトでTypeScriptもサポートしている。Node.jsの10年間の経験を生かし、多くの改善が施されているため、Node.jsの後継と見られることが多い。
Denoの躍進は、次の2つの大きなトレンドを裏付けているという。
Best of JSはカテゴリー別のランキングも発表した。それぞれのカテゴリーの1〜3位は次の通り。
例年と同様にVue.jsとReactが首位を争った。2019年は「Angular」を抜いて「Svelte」が3位となったが、2020年はAngularが3位に返り咲いた。なお、ミニマルなアクティブフレームワークである「Alpine.js」が初めて5位に入った。
2018年に首位だった「Next.js」が再び首位に立った。
Node.jsフレームワークは2種類に分かれる。Next.jsや「Nuxt」のようなフルスタックフレームワークが一つ。もう一つは2019年に首位となった「Nest」や「Fastify」などが属する、サーバ側のみで動作する古典的なフレームワークだ。
Next.jsは、Reactアプリケーションを構築するための最も有名なソリューションに成長した。「React Query」「Recoil」「React Hook Form」などのサポートライブラリは、フックを主軸に進化、成熟してきた。それぞれがReact開発の一部を簡素化する。
2020年12月にはReactアプリケーションの将来の開発基盤と位置付けられる「React Server Components」が発表されている。
2020年のVueコミュニティー最大のニュースは、「Vue3」のリリースだった。Vue2に存在した幾つかの問題を解決する「Composition API」という仕組みが導入されている。この他、2020年には、新しいWeb構築ツールである「Vite」が開発された。
首位と2位は2019年と変わらなかったが、「Scully」が初めて3位に浮上した。Angularは2020年に3つのメジャーバージョン(バージョン9、10、11)がリリースされている。バージョン9では「Ivyコンパイラ」の導入により、バンドルサイズが減少し、ビルドプロセスも大きく改善された。
2020年はビルドツールの当たり年で、多くの新しいトレンドが生まれた。4位に入ったSnowpackと3位のViteは、ECMAScriptモジュールファーストのアプローチを取っている。5位の「Webpack」は、設定が複雑過ぎるといわれることが多く、よりシンプルに書ける「Parcel」や「Rollup」が成熟してきた。だが、ビルドツールの中心はいまだにWebpackであり、Webpackの新しいキャッシングレイヤーは、ビルドパフォーマンスを大幅に改善する。
「Tailwind CSS」の躍進と、そのユーティリティーファーストのアプローチを強調する目的で、今回の調査ではこのセクションを追加した。Tailwind CSSは、開発者がクラス名を合成してページやコンポーネントをスタイル化するための命名規則を提供している。
首位となった「JS Algorithms & Data Structures」には目次を日本語化した「JavaScriptアルゴリズムとデータ構造」もある。
Copyright © ITmedia, Inc. All Rights Reserved.