2019年6月開始時点、Googleトレンドで人気のあるJavaScriptフレームワークはReact・Angular
ふと気になったので人気のあるJavaScriptフレームワークについて調べてみた。
候補として上げたフレームワークは5種とし、下記のフレームワークで比較をした。
- jQuery (公式 : https://jquery.com/ , 日本語”訳” : http://oss.infoscience.co.jp/jquery/)
- React (公式 : https://reactjs.org/)
- Angular (公式 : https://angular.io/ , 日本語版 : https://angular.jp/)
- Vue.js (公式 : https://vuejs.org/ , 日本語版 : https://jp.vuejs.org/)
- Backbone.js (公式 : https://backbonejs.org/)
おそらく定番どころな5種、ライブラリじゃね?ってのも混じっているけれども広義のフレームワークということでひとつご容赦を。
AngularJSではなくAngularにしているのは移行を進めているフシがあるのでTypeScriptだが入れている。
日本ではTypeScriptどうなるんですかね、海外だとHackerRankのレポート(https://research.hackerrank.com/developer-skills/2019)とかで2019年に学びたい言語としては Go ≫ Kotlin ≧ Python > TypeScript ≒ R ≒ Scala ≒ Swift と言った感じになってます。ここらへんは機会があればまた別のエントリにでも。
全世界で見ると劣勢なjQuery、Reactが人気上昇中、Angularはやや停滞気味
上の図は6月1日時点での全世界トレンド(5年間)である。
青がjQuery、赤がReact、黄がAngular、グラフの意味をなしていないが緑と紫がそれぞれVue.jsとBackbone.jsである。
これを見ていただければ一目瞭然であるが、jQueryはどんどん押されて低迷していっていることがわかる。それに対してReactとAngularは右肩上がりに人気が出ている。
大きな転換点になっているのがちょうど1年前ごろ(2018年)で、ここでjQueryが他に追い抜かれる形となっている。この転換点を過ぎてもReactは上り調子になっているが、Angularはヨコヨコの横ばい気味となっている。
Vue.jsとBackbone.jsは、他3種が強すぎてGoogle Trendsのグラフ上で意味をなしていなかった。ちょっと選択を間違えた気がしなくもない。
世界トレンドと比較的似たような動きをしているのはアメリカ・カナダ・イギリス
アメリカ(5年間)
カナダ(5年間)
イギリス(5年間)
世界を引っ張るのはやはり大国なんだなと言うのがわかるグラフになっているだろう。
転換期に関しては世界全体に対してやや早くおおよそ2年前ぐらい(2017年)で始まっている。この時点でjQueryはReactに押され、Angularが横ばい傾向になっている。Reactは順調に上昇しているのでこれらの国で働くとするならばReactを学んでおけばいいのではないだろうか。というよりもwebのフロントエンドやるならReactじゃないとお話にならないレベルだと思う。Google Trendsだけを見て言うなら。
残念ながらこっちでもVue.jsとBackbone.jsはグラフになっていない。名前だけはそれなりに聞く気がするんだけどなぁ。
我らが日本は依然としてjQueryがお好き
上は日本(5年間)のグラフ
日本では現在でもjQueryが人気(検索されている)ようだ。
保守的な面もあるだろうが国内においてはプロフェッショナルの圧倒的不足(片手間にサイト作成させられてる人が多い)、その影響で技術の更新が進んでいないというのが大きいのではないだろうか。
Reactの人気は徐々に増えているが片手間作成が続く以上どこまで増えるか不明。とはいえ、世界的にReactの波が来てるので学習を進めていく必要はあるのかなと。今から始めておけば世界にたいしてワンテンポ・ツーテンポ遅れで流行った時に玄人になっていることが出来るのではなかろーか。
今回のJavaScriptフレームワークトレンドを調べるきっかけとしては、Angularを学習しようと思っていたというのがある。しかし、世界トレンドをみる限りReactに切り替えるのもおおいにアリかなとも思い始めてる。
近年IT大国として成長してきているインドはAngular派 ※しかし……
インド(5年間)のグラフ
近年、IT大国として名前が上がってきているインドはAngularが人気である。しかし、jQuery含めここ1年ほどは50%を超えているJavaScriptフレームワークがない……?これはどういうことだろうか、今回挙げた5種以外のフレームワークを用いているのかはたまたバックエンド開発が主でフロントエンド開発をあまりしていないのか……?何が原因なんでしょーかね。
もしも、外注でインドに投げるのならばAngularのほうが開発者が居るのではないでしょうか。Reactなら米・英・加で。
この結果が役に立つのかわからない中国ではReactが人気 なのかもしれない?
中国(5年間)のグラフ
一応、このグラフとしてはReact一択な流れになっているのだけれども……、中国ってGoogle規制があるハズなのでこのトレンド状況が正しいのかどうかわからない。アテにならないと言っても方向性についてはjQueryが下降、Reactが上昇、Angularが横ばいと世界のトレンドと大きく乖離してはいない、のかなぁ。
あくまでも規制されているハズのトレンドなので「信じるか信じないかはあなた次第です」といったところ。
当面JavaScriptフレームワークはReactを優先的に学習をするのが良い感じ
実際には今回調べたJavaScriptフレームワーク以外にもたくさんあるのだろうが今から学習を始めるのであればReactを覚えていけば問題はなさそう。その延長でバックエンド開発についても学習を進めるのであれば、Node.jsを選択することで一つの言語(JavaScript)でwebアプリケーションを作っていけるようになる。そういった面で見れば、かなり学習コストを抑えてwebアプリケーション開発を試せる様になったのではないだろか。
まずはReact + Node.jsで開発が出来るようになってからJavaScriptからTypeScriptに移行したりバックエンド開発をPHPやPython、JAVA等のその時の必要に応じて移行していくのが良い気がする。
コメント
[…] 引用元:https://dereremit.jp/archives/260 […]