ここ数年、Javascriptのフレームワークの進歩が著しいです。
その中でも、特に注目を集めているのがVue.jsとReact.jsです。
Angularも一時期注目を集めていましたが、最近だと下火です。
これからフロントエンドエンジニアとして活躍したい人、Javascriptのフレームワークを新たに学びたい人にとって、やはり選択肢はVueかReactの2つだと思います。
ではこの2つのうちどちらを学ぶべきなのでしょうか。
個人的には、Vueの方が分かりやすく、Reactの方が難しいと思います。
ReactはJSXという特殊な記法を用いるので、それに慣れるのに時間がかかります。
また、VueはWebサービスに部分的に適用させること(全てのページではなく、動きのある一部のページでVueを使う)も多いのですが、Reactを使うとなるとWebサービスの全てのページをReactで書き換えることが多いです。
つまり、Vueの方が気軽に導入することができます。
以上のような点から、もしあなたがプログラミングのベテランでないのなら、まずはVueから勉強するのをおすすめします。
とは言っても、VueとReactでは似ている部分もかなり多くあります。
片方を身につけたら、もう片方を身につけやすくなります。
なので、Vueを選んだからと言ってReactを捨てるわけではありません。
フロントエンドエンジニアとして活躍したいのであれば、最終的には2つとも身に付けることになると思います。
またもしあなたがサーバーサイドの言語も同時に勉強しており、かつその言語がPHPなら、間違いなくVueを学ぶべきです。
PHPでWebサービスを作るとなると、Laravelというフレームワークを使うことが多いですが、LaravelではVueをフロントエンドのJavascriptとして採用しています。
そのため、もしあなたがPHPのマスターも目指しているのであれば、Vueを使うことをお勧めします。
一方、ReactはSPA(シングルページアプリケーション)を作るときに多く使われます。(ただこれはVueも使われることもあります。)
SPAはサーバーサイドとフロントサイドを完全に分けるイメージです。
もしあなたがエンジニアとして働きたい企業があり、そこの企業がReactを採用しているのであればReactを学ぶべきだと思います。
また、React Nativeを使えば、Reactでスマホのアプリを作ることもできます。
しかし、最近Vue Nativeというのものも登場し、Vueでもスマホのアプリを作れるようになりました。
ただ、ReactやVueでスマホアプリを作る流れはそこまで流行っている訳ではありません。
ですので、その点はそんなに考慮しなくても良いかもしれません。
まとめると、正直ReactとVueのどちらを選んでも問題ないです。
ですが、Vueの方が導入が簡単だったり、学習コストが低いので、もしどっちにするか迷っているのであればVueを選ぶべきだと思います。
どちらにせよ、最終的には2つともマスターすることができると思います!