質問: フロントエンドの必要性がよく理解できません。 Python(flask)やRuby(Ruby on Rails)などでWebアプリを開発してきました。ですが、その間、一度もフロントエンド(javascript)の需要を感じませんでした。 一体、いつ、どのように必要に迫られるのでしょうか? 決して、フロントエンドをdisるわけではないです。 むしろ、Node.jsが登場して、フロントもバッグもjavascriptで書けると知って、すごく興味があります。 ただ、React.jsやAngularを使ってまで(勉強してまで)、フロンド側に何か処理をさせなければならないのでしょうか?アクションごとにページ遷移してはいけないのでしょうか? React.js, Angular, Vue.js, jQueryとさまざまなフレームワーク?ライブラリ?がありますが、どう使い分けるのでしょうか?そもそも、それらに頼るときとは、どのようなときなのでしょうか? 追記 回答ありがとうございました。こんなにたくさんの回答が得られるとは思っていませんでした。 非同期通信の例をきいて、なるほどと思いました。 本当に、ありがとうございました。
回答: ### JavaScriptない縛り 自前でGoogle Mapを作らなきゃならなくなった時困ると思います。 ### フレームワークを使うこと自体 必要に迫られる可能性は結構あります。大きいの作り始めると「DOMとデータをうまく扱いたい!」「いちいちgetElementById()とかやってたらわけわかんなくなってバグる!」となるからです。 ただ挙げられた中でjQueryは、0からやるなら最近では頼らずともよいでしょう。でも頼らざるを得なかった時代(ブラウザがみんなそっぽ向き合ってた時代)から受け継がれる人材・システムと会話するためにまだまだ必要かもしれません。 ### 各フレームワークの使い分け これは難しい。普通の人はもはや出会い運でしかないと、私は思ってます。 すべて試して特徴を把握して選ぶのが大事だけど、その作業は本当に好きじゃないと難しい。上司に言われて自己啓発でやるという形では、間違いなく精神を病みますね。 ### 私の感想 私はフロントエンドに入ってまだ数年ですが、本当に狂詩曲という感じです。なんというか、古めの偉い人には「画面に出すだけでしょ」と軽んじられながら、若めの偉い人には「VueのSFCでTSでBabelでwebpackがGulpで」とマウントされ、実際に作るとじゃあ結局環境構築はどうすりゃいいの!?この情報のnpmバージョン古い!このコンフィグファイルはどの奴のあれやねん!とかなってもう毎日がエブリデイです。 でも「あー、これだから便利っつー話しなのか」ってこともままあって、それはそれでなるほどな、という感じですね。 ただやっぱりフレームワークとかはあくまで「道具」なので、道具に振り回されるのは避けたいですね。そういう意味では、使う必要も意味も感じなければ、手を出さないので正解だと思います。転職したい場合は、本末を転倒させる必要はあると思いますが。