どんどん新しい言語やフレームワークが出てきて、一体何を勉強したらいいのだろう・・・
サーバサイドはRubyやPhp、Pythonなど枯れた技術が多くどれを勉強しても出来ることはさほど変わりません。極端な言い方をすればどの言語を選んでも出来ることはほぼ一緒。それぞれの言語を知れば知るほど、どれでも同じことが出来ることがわかってきます。
それに比べてフロント側はReact,Angular,Vue.jsなどがあり、なかなか特徴が掴みきれません。
アプリの開発に至っては、ネイティブ開発での開発や、クロス開発ができるReactNative,Flutter,Cordova,Xamarinなどどれを選んだら後悔しないか・・・全くわかりません。
フロントは各言語の機能面や性能面の話は置いておいて、最近の流れというか流行りというか、どれが注目されているかを私見で書きます。
開発言語・フレームワークの移り変わり
Front開発は少し前までPHP+JQueryでの開発が多かったのですが、最近のトレンドとしてはReactやVue.jsでの開発が増えてきています。
特にFront開発を考えたとき、JavaScriptフレームワークが圧倒的に強力になってきています。
そのおかげでバックエンドでJSやJQueryでゴニュゴニョ苦労して作る時代は終わったと感じています。
Frontの開発をRubyやPHPのフレームワークで作成するのは、よほど環境に制限があるとき以外は考えられなくなってきました。
しかしココ最近では、このフロントの開発の傾向も最近は少し変わってきていると感じます。
Vue.jsのフレームワークであるNuxt.jsは強力なツールで、通常考えられる必要な機能は予め組み込まれ、デザインにはVuetifyなどマテリアルデザインのUIを簡単に取り入れることが出来ます。
この便利さを知ってしまうとヤミつきになります。
Webフロントの開発現場ではReactよりもVue.js(Nuxt)だと思っています。
また、Front開発の中でもモバイルアプリの開発となると、Reactには強力なReactNativeがあります。Cordova等とは違いネイティブアプリが開発でき、この分野では安泰だと思っていましたが、最近ではFlutter(フラッター)が騒がしく、かなり活発になってきています。こちらもパフォーマンスやマテリアルデザイン等でReactNativeより1歩進んでいる印象です。(まだまだ実績ではReactNativeのほうが格段に上ですが、近いうち逆転するかもしれませんね)
少し前まではReactが使いこなせればWebのフロント開発からアプリの開発までも行える万能なフレームワークだと思っていましたが、少し状況が変わってきたようです。
Reactは慣れ親しんだJavascript(TypeScript)が使えるというメリットはありますが、最近では新勢力に押され気味な印象です。
ReactNativeも同様に新勢力のFlutterにパフォーマンスやデザイン面でも押され気味に感じます。
現場によって違うとは思いますが、Reactしか選択がないという状況ではなくなってきていると思います。
これからの開発は
バックエンドはPHP+Laravel+laravel-admin
WebフロントエンドはVue.js+Nuxt.js+Vuetify
スマートフォンなどのモバイルアプリにはFlutter(Dart言語については勉強中です。)
をできるだけ採用してブログに綴っていこうと思っています。
LaravelはVue.jsとの親和性もあり使いやすいとは思っていますがバックエンドとフロントエンドは互いに依存しあわない関係が望ましいと考えていますので、Laravelに乗ったVue.jsは基本使わない方針で考えています。
コメント