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

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


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

総合ランキング

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

リンク

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

No translation for this path: "atinux"

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 アプリのテストソリューションです。 実装の詳細をテストするのではなく、アプリの動作をテストするのに役立つパターンと抽象化を提供します。

モバイル

1
React Native

React Native

A framework for building native apps with React.
+11.3k
2
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.
+5.0k
3
Ionic

Ionic

Build amazing Native and Progressive Web Apps with web technologies. One app running on everything
+3.6k
4
Expo

Expo

An open-source platform for making universal native apps with React. Expo runs on Android, iOS, and the web.
+3.5k
5
cube-ui

cube-ui

A fantastic mobile ui lib implement by Vue
+2.6k

コンパイラ

1
TypeScript

TypeScript

A superset of JavaScript that compiles to clean JavaScript output.
+13.9k
2
Babel

Babel

A compiler for writing next generation JavaScript.
+4.2k
3
Flow

Flow

Adds static typing to JavaScript to improve developer productivity and code quality.
+1.7k
4
Reason

Reason

Simple, fast & type safe code that leverages the JavaScript & OCaml ecosystems
+1.3k
5
Sucrase

Sucrase

Super-fast alternative to Babel for when you can target modern JS runtimes
+1.1k

ビルドツール

1
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.
+6.3k
2
Parcel

Parcel

Blazing fast, zero configuration web application bundler
+5.4k
3
Rollup

Rollup

Next-generation ES module bundler
+2.7k
4
Microbundle

Microbundle

Zero-configuration bundler for tiny modules.
+1.3k
5
Gulp

Gulp

The streaming build system
+841

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
+6.0k
2
Emotion

Emotion

CSS-in-JS library designed for high performance style composition
+3.3k
3
Linaria

Linaria

Zero-runtime CSS in JS library
+2.8k
4
styled-system

styled-system

⬢ Style props for rapid UI development
+2.4k
5
CSS Modules

CSS Modules

Documentation about css-modules
+1.8k

GraphQL

1
Gatsby

Gatsby

Build blazing fast, modern apps and websites with React
+11.5k
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.
+8.1k
3
Prisma

Prisma

Database Tools incl. ORM, Migrations and Admin UI (Postgres, MySQL & MongoDB)
+4.5k
4
Gridsome

Gridsome

️Build modern JAMstack websites with Vue.js
+3.8k
5
Apollo client

Apollo client

A fully-featured, production ready caching GraphQL client for every UI framework and GraphQL server
+3.4k

学習リソース

1
You Don't Know JS

You Don't Know JS

A book series on JavaScript
+20.1k
2
30 seconds of code

30 seconds of code

Short JavaScript code snippets for all your development needs
+18.1k
3
JS Algorithms & Data Structures

JS Algorithms & Data Structures

Algorithms and data structures implemented in JavaScript with explanations and links to further readings
+17.8k
4
Node.js Best Practices

Node.js Best Practices

The largest Node.js best practices list (December 2019)
+16.1k
5
Tech Interview Handbook

Tech Interview Handbook

Materials to help you rock your next coding interview
+13.0k

おわりに

フロントエンドのトレンドは興味深い傾向を示しています。 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の開発を非常にエキサイティングなものにしてくれます。 ご清聴ありがとうございました。 また来年お会いしましょう!

Authors

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

Available Translations

English

中文

Español