対象読者
- これからフロントエンドの勉強をしようと考えている方。
3つの内どれを選ぶべきか
勿論使わない選択肢もあります。これらが台頭する前に開発されたWebもまだ多いですから、プロジェクトに途中参画したらJQueryとBootstrapでした、ってことも多いと思います。でも昨今開発が始まった開発現場では大体この3つの内どれかが使われている可能性が高いです。
3つの内既に採用されているものがあればそれを使えばいいですが、これから勉強しようとされている方が1からフロントエンドを作る際、どれを身に付けるべきか迷いますね。出来るだけ将来があるプロダクトを選びたいところですが世の中的にはどうなのでしょうか。
npmtrends.comでnpm installされている数を比較してみます。
npmtrends.comについて
プロダクトを入力してエンターすると半年間のDL数グラフが見れます。次々入力していくことで比較ができます。

ダウンロード数はnpmサイトのダウンロード数から、パッケージ詳細はnpms.ioから持ってきているそうです。傾向が分かるのでこれから伸びるか落ちるか予想が付くのがいいですね。
The npm package download data comes from npm’s download counts api and package details come from npms.io.
人気の比較。この三つしかNPMモジュールって無いのかと思うくらい比較されてます。「angular」で入力すると昔のangular.jsになってしまうので@angular/coreで比較します。

比較結果
- React(オレンジ)4,793,238
- Angular(青)1,126,856
- Vue(緑)961,812
4倍のスコアでReactが1位。AngularはかろうじてVueの追従をかわし続けてます。

githubでの活動。Angularはアップデートがreactの4倍多いみたいです。リリースサイクルも速いです。
stars 🌟 | forks 🍽 | issues ⚠️ | updated 🛠 | created 🐣 | size 🏋️♀️ |
---|---|---|---|---|---|
@angular/core | 49077 | 13262 | 2893 | Jun 17, 2019 | Sep 19, 2014 |
react | 131124 | 24154 | 720 | Jun 16, 2019 | May 25, 2013 |
vue | 141438 | 20368 | 298 | Jun 14, 2019 | Jul 29, 2013 |
3つとも開発スピードは衰えていないので数字だけじゃ何が正解か分からないですね。どこかのコミュニティが「もう開発止めたー!」って言ってくれればそっと切るんですが。暫くそうはならなそうで三つ巴が続きそうです。
それぞれの長所
React:普及度が高い、開発スタイルが確立されてる
Angular:モジュールの網羅性が高い、革新的
Vue:学習が容易、シンプル
で、どれを採用するべきか
結局人に寄ると思いますが、私の場合は3つとも基礎を勉強しつつ以下の基準でAngularが一番好きになりました。
- 初見でキモさを感じなかった:Angular(Angular1はキモかったけど)、Vue
- Webからスマホアプリへ学習転移出来る:Angular → Ionic
- 先進的な仕様を取り入れ続けてる:Angular
- 基本Typescript:Angular
ただキモさは慣れてきますし、Vueも最近は楽しくてランディングページなどの局所で取り入れています。React使ってるプロジェクトから「ちょっと助けに来て」と言われたらお荷物にならない程度の知識は付けておくようにもしています。
3つとも軽めにキャッチアップしつつ、関連したプロジェクトの採用F/Wを時折重点的に。自分でプロダクトを採用出来る際はAngularを選ぶ、といった感じです。
何を選ぶか以前に根底になるJS力を付けておけば、何を選んだ時にも対応出来ますよ。