4回目のJavaScript ライジングスターにようこそ!

2019年にGitHubで最も注目を集めたプロジェクトを、数字で見てみましょう。


以下のチャートは、2019年の一年間にGitHubで増加したスターの数を比較したものです。Webプラットフォームに関するベストプロジェクトを集めたリストであるBest of JSからの分析となります。各プロジェクトをクリックすると、プロジェクトの詳細を閲覧することができます。

目次

  1. 総合ランキング
    Vue.jsVS CodeReactVue Element AdminSvelteAxiosAnt DesignTypeScriptPuppeteerCreate React App
  2. フロントエンドフレームワーク
    Vue.jsReactSvelteAngularOmi
  3. Node.jsフレームワーク
    NestNext.jsStrapiNuxtExpress
  4. React エコシステム
    Ant DesignCreate React AppGatsbyNext.jsMaterial UI
  5. Vue エコシステム
    Vue Element AdminElementVuetifyNuxtvue-cli
  6. Angular エコシステム
    ngx-adminMaterial Design for AngularAngular CLING-ZORRONgRx
  7. テスト
    PuppeteerStorybookCypressJestReact Testing Library
  8. モバイル
    React NativeQuasarIonicExpocube-ui
  9. コンパイラ
    TypeScriptBabelFlowReasonSucrase
  10. ビルドツール
    WebpackParcelRollupMicrobundleGulp
  11. CSS in JavaScript
    Styled ComponentsEmotionLinariastyled-systemCSS Modules
  12. GraphQL
    GatsbyHasura GraphQL EnginePrismaGridsomeApollo client
  13. 学習リソース
    You Don't Know JS30 seconds of codeJS Algorithms & Data StructuresNode.js Best PracticesTech Interview Handbook
  14. おわりに

総合ランキング

1
Vue.js

Vue.js

A progressive, incrementally-adoptable framework for building UI on the web
+31.4k☆

2019年の推移

3.1k
2.3k
4.5k
3.3k
2.7k
2.4k
2.4k
2.1k
1.7k
2.2k
1.8k
1.7k
1月
2月
3月
4月
5月
6月
7月
8月
9月
10月
11月
12月

GitHub情報

作成日
2013-07
累計スター数
155.6k☆

リンク

GitHub
vuejs/vue
WEB サイト
vuejs.org
Best of JS
bestofjs.org/projects/vuejs
2
VS Code

VS Code

Visual Studio Code
+23.0k☆
3
React

React

A declarative, efficient, and flexible JavaScript library for building user interfaces.
+22.9k☆
4
Vue Element Admin

Vue Element Admin

A magical vue admin
+22.7k☆
5
Svelte

Svelte

Cybernetically enhanced web apps
+20.0k☆
6
Axios

Axios

Promise based HTTP client for the browser and node.js
+15.1k☆
7
Ant Design

Ant Design

A UI Design Language and React UI library
+14.6k☆
8
TypeScript

TypeScript

A superset of JavaScript that compiles to clean JavaScript output.
+13.9k☆
9
Puppeteer

Puppeteer

Headless Chrome Node.js API
+13.9k☆
10
Create React App

Create React App

Set up a modern web app by running one command.
+13.5k☆

4年連続でVue.jsが総合優勝を飾り、2019年にも30000以上のスターを稼ぎ出しました。

次いでReactVS Codeが、昨年と同じように続いています。

総合ランキングで最大の伸びを示したのがVue Element Adminでした。 これは、Vue.jsコンポーネントを使った優れたダッシュボードを構築することができるソリューションで、堂々の4位を取得しました。

Svelteは数年前から存在するプロジェクトですが、2019年ついに飛翔し5位に入りました。

TypeScriptがベストテン入りし、この成功は過去数年のJavaScriptの変化の集大成のひとつです。

Node.jsの作者が新たに作ったJavaScriptランタイムDenoは、2018年に新登場しました。 これは13位で、まだトレンドに入っています。

フロントエンドフレームワーク

1
Vue.js

Vue.js

A progressive, incrementally-adoptable framework for building UI on the web
+31.4k☆
2
React

React

A declarative, efficient, and flexible JavaScript library for building user interfaces.
+22.9k☆
3
Svelte

Svelte

Cybernetically enhanced web apps
+20.0k☆
4
Angular

Angular

One framework. Mobile & desktop.
+12.0k☆
5
Omi

Omi

Next Front End Framework
+3.8k☆

2019年はSvelteが躍進してAngularを追い抜き、 Vue.jsReactの背後を突く3位に上昇しました。

これはBIG-3がBIG-4になったことを意味するのでしょうか?

Svelteは他のフレームワークと大きく異なっていて、実際にはフレームワークではなく、ビルド時に全てを構築するコンパイラのようなものです。

ReactやVue同様に、データが変更されたときに画面を更新するアプリを開発者は書くことができます。 ただし最大の違いとして、そのフレームワークがブラウザ上で実行されるのではなく、ビルド時に実行されます。 コンパイラは、開発者が作成したコンポーネントを、DOMを直接操作する命令型コードに変換します。 そのため、ブラウザに渡されるコードは小さくなり、非常に高速に実行されます。 たとえば組み込みデバイス向けのアプリケーションなどに適しているでしょう。

そのパフォーマンスに加えて、ややこしいCSSトランジションも簡単に制御することができます。

バージョン3ではリアクティブな仕組みも強化されています。 UIをトリガーするだけで、変数までも更新してくれます。

SvelteがこれまでのBIG-3と同じくらい成功すると断定するには時期尚早ですが、2020年はこれをフォローしておく価値があるでしょう。

Node.jsフレームワーク

1
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)
+11.5k☆
2
Next.js

Next.js

The React Framework
+10.6k☆
3
Strapi

Strapi

Open source Node.js Headless CMS to easily build customisable APIs
+10.2k☆
4
Nuxt

Nuxt

The Vue.js Framework
+7.4k☆
5
Express

Express

Fast, unopinionated, minimalist web framework for node.
+5.1k☆

Node.jsに新たなチャンピオン、Nestが誕生しました。 NestはAngularから多くの概念を取り入れた、フルスタックのフレームワークです。

2018年の勝者であったNext.jsは、その席こそ譲ったものの堂々の2位です。 フロントエンドをReactで、バックエンドをNode.jsで構築する際に最適なソリューションのひとつです。

3位に入ったStrapiはオープンソースのヘッドレスCMSで、APIエンドポイントを迅速に生成・管理することができます。 『4コマンドで始めよう』 APIエンドポイントはRESTもしくはGraphQLに対応しています。

4位はNuxtで、フロントエンドにVue.jsを使うときに最適なフルスタックフレームワークです。 サーバサイドレンダリング、クライアントサイド、あるいは静的のみといった様々な戦略に対応しています。

ExpressはNode.jsのための古びたフレームワークですが、まだトップ5に残っています。 巨大なエコシステムが存在し、多くのNode.js開発者には馴染みがあることでしょうが、最後のコミットから既に半年以上が経過していることに注意が必要です。 時代は変わっていますか?

React エコシステム

1
Ant Design

Ant Design

A UI Design Language and React UI library
+14.6k☆
2
Create React App

Create React App

Set up a modern web app by running one command.
+13.5k☆
3
Gatsby

Gatsby

Build blazing fast, modern apps and websites with React
+11.5k☆
4
Next.js

Next.js

The React Framework
+10.6k☆
5
Material UI

Material UI

React components for faster and easier web development. Build your own design system, or start with Material Design.
+10.2k☆

1位にAnt Design、5位にMaterial UIと、React用のコンポーネントとヴィジェットが入賞しました。

2位のCreate React Appは、Reactアプリを新しく始める際の、事実上のデファクトスタンダードです。 今年の目玉として、TypeScriptがサポートされました。

今年のReact世界で最大の変更点は、フックの導入です。

Reactはビューレイヤだけしか手狂しないので、コンポーネント間でロジックを共有する方法は常に議論の的になっています。 その進化は概ね4ステップに分けられます。

  • 2013年:Mixin
  • 2015年:高階コンポーネント
  • 2017年:Render Propsパターン
  • 2019年:Hooks

今年は、フックの力を使うことで問題を解決したライブラリが多数現れました。

  • Redux:Central Storeと簡単にやりとりできるフックを提供します。
  • React Router:フラウザ履歴にアクセスするフックを提供します。
  • React Hook Form:ユニークな方法でフォームの検証を行っています。

Hooksで進化の最終段階に到達しましたか?

Vue エコシステム

1
Vue Element Admin

Vue Element Admin

A magical vue admin
+22.7k☆
2
Element

Element

A Vue.js 2.0 UI Toolkit for Web
+9.4k☆
3
Vuetify

Vuetify

Material Component Framework for Vue
+7.5k☆
4
Nuxt

Nuxt

The Vue.js Framework
+7.4k☆
5
vue-cli

vue-cli

Standard Tooling for Vue.js Development
+5.8k☆

Guest Writer: Sébastien Chopin

今年、我々は友人のSébastien ChopinにVue.jsの展望について語ってほしいと頼みました。 Sébastien Chopinは Nuxt のクリエーターです。

Guest Writer atinux

2連覇したVue Element Adminは、Elementを使って美しいダッシュボードを構築するVue.jsコンポーネントです。

2位のElementは、多くのコンポーネントを持つUIライブラリです。

マテリアルコンポーネントフレームワークであるVuetifyは、7月にバージョン2がリリースされ急上昇してランクインしました。

NuxtはVue.jsアプリケーションを構築するWebフレームワークであり、3年連続でランクインしています。

5位には、強力なGUIを備えプロジェクトの立ち上げを加速するオフィシャルのツールキット、vue-cliが入りました。

Angular エコシステム

1
ngx-admin

ngx-admin

Customizable admin dashboard template based on Angular 8+
+4.8k☆
2
Material Design for Angular

Material Design for Angular

Component infrastructure and Material Design components for Angular
+2.4k☆
3
Angular CLI

Angular CLI

CLI tool for Angular
+2.1k☆
4
NG-ZORRO

NG-ZORRO

An enterprise-class UI components based on Ant Design and Angular.
+1.7k☆
5
NgRx

NgRx

Reactive libraries for Angular
+1.3k☆

Guest Writer: Benjamin Blackwood

今年、我々は友人のBenjamin BlackwoodにAngularの展望について語ってほしいと頼みました。 Benjamin BlackwoodはAustralia Postのフロントエンドエンジニアであり、Angularに4年以上関わっています。

Guest Writer bblackwo

Angularプロジェクトで最も人気であるngx-adminは、管理ダッシュボードを構築するためのテンプレートを提供します。

2位のMaterial Design for AngularはAngular CDKと似たような、マテリアルデザインのAngular公式コンポーネントです。

ReactやVueと同様に、デザインコンポーネントであるNG-ZORROが4位に入りました。

Angularは2019年5月にバージョン8のメジャーリリースが行われました。 新機能のひとつとして、Angular CLIはモダン向けとレガシー向けにバンドルを分けることによってバンドルサイズを20%減少させることに成功しました。 また既存のCLIコマンドを変更したり新たなコマンド追加したりできる、新たなBuilders APIも存在します。

Angularのバージョン9もRCとなっていて、2020年の前半にリリースされる見込みです。 バージョン9の主な変更点はIvyと呼ばれる新しいコンパイラで、構築時間の短縮及びバンドルサイズの減少が期待されています。

テスト

1
Puppeteer

Puppeteer

Headless Chrome Node.js API
+13.9k☆
2
Storybook

Storybook

UI component dev & test: React, Vue, Angular, React Native, Ember, Web Components & more!
+12.0k☆
3
Cypress

Cypress

Fast, easy and reliable testing for anything that runs in a browser.
+7.8k☆
4
Jest

Jest

Delightful JavaScript Testing.
+6.5k☆
5
React Testing Library

React Testing Library

Simple and complete React DOM testing utilities that encourage good testing practices.
+5.7k☆

今年は、カテゴリをテストフレームワークに限定するのではなく、E2E テストやブラウザ自動化ツールなども対象としました。

Puppeteerは非常に人気のあるヘッドレス Chrome 制御ツールです。 Web スクレイピングやスナップショット撮影など多くのユースケースがあります。 Chrome エクステンションのPuppeteer Recorderも 6 位にランクインしています。

Cypressは E2E テストを行うためのソリューションであり、ユーザ操作と Web ページの関連を記述する優れた UI を提供します。

4 位のJestは、フロントエンドとバックエンドの両方のプロジェクトで用いられる、最も人気のあるテストフレームワークです。

React Testing Libraryは、Kent C. Dodds によるDOM Testing Libraryをラップした React アプリのテストソリューションです。 実装の詳細をテストするのではなく、アプリの動作をテストするのに役立つパターンと抽象化を提供します。

Loading
Loading
Loading
Loading
Loading
Loading

おわりに

フロントエンドのトレンドは興味深い傾向を示しています。 Svelteは今後も成長し続けるでしょうか?

あるいは、WebコンポーネントなどWeb標準の採用が増えるでしょうか?

2019年の最も興味深い話のひとつは、AppleがWebコンポーネントを使用する音楽アプリをリリースしたというものであり、そしてこれはUIフレームワークのひとつである Stencil でコンパイルされています。 Webコンポーネントが実アプリに使用された例です。 JavaScriptがネイティブモジュールを使用するアプリをリリースできるという事実は、大きな改善です。

バックエンドでは、Node.jsは登場から10年経ちましたが、今でも新しい機能が精力的に追加され続けています。 v13.2.0の時点で、Node.jsはESモジュールをそのままサポートし、WebAssemblyモジュールをインポートできます。 Workers Threads APIを使えば重いプログラムも実行することができます。

ブラウザにおいてもNode.jsにおいてもプラットフォームは進化し続けており、これがJavaScriptの開発を非常にエキサイティングなものにしてくれます。 ご清聴ありがとうございました。 また来年お会いしましょう!

Japanese version

Rana Kualu

Houkago Atelier Toiro ha iizo

Authors

Sacha Greif

Author of Discover Meteor and creator of Vulcan, a React+GraphQL open-source framework.

Available Translations

English

中文

Español