質問: ### 前提・実現したいこと はじめまして。 HTML, javascript, CSSを学習し、javascriptに興味を持ち、node.jsなどをドットインストールや書籍で勉強中の学生です。 Typescript、Flowtype、Babelなどのトランスコンパイラや、ReactやBackbone.js、AngularなどJavaScriptフレームワークに、それを利用したSPAなどが多くありますが、まずどれからどう手をつければ良いのかがわからず、とりあえずReactというものを勉強中です。 ReactはView機能を中心に扱っていると聞いたのですが、AngularJSはHTMLの拡張だという記述もありました。このようにjavascriptフレームワークがそれぞれ担っている役割が違うことから、どれを選択すれば良いかがわからなくなってしまいました。 こういうことをするならコレ、私はこれから手をつけた、などのアドバイスやそれぞれの特徴などを教えていただけませんか? また、Reactをやるならコレもセットでやると良い、というようなものがjavascriptフレームワークには多すぎて対応関係がまったく掴めず、どなたかこれについてもご教授くださいませんか? 大変稚拙な質問かもしれませんが、どうかよろしくおねがいいたします。
回答: 光と闇が交錯するプログラミングの世界へようこそ! ちょっと考え方を変えてみるといいかもしれません。 プログラミングも「ものをつくる」仕事なので、まず「作ってみたい」と思うものが必要なんですにゃー。 ちなみにわたしが最初に作りたいとおもったのは「自分のホームページ」で、使った道具はメモ帳でしたにゃ。 料理もそうですが、いくら最新式の電子レンジを手に入れて使い方を覚えても、 作りたい料理がなきゃ宝の持ち腐れですよね。 プログラミング世界もそれと同じで、作りたいと思うモノがないといくら言語やツールを覚えても意味がないです。 逆に作りたいものが明確にある人はそれに向かって邁進するので凄い勢いで覚えますにゃ。 参考:自分でWEBサービスを作りたいと思っている人へ なのでまず作るものを決めましょう! 作ってみたいと思うものがみつかったら、どうやったらそれを作れるのかを調べていくと おのずと勉強しなければいけないものもわかってきますよ。 何か作ることができたら、githubにおいたり、サーバーにおいたりしておきましょう。 就職活動でいい武器になってくれるはずです。 React.jsはFacebook製なので、作りたいものを 「Facebookをローカル環境で再現」にしてもアリだと思いますにゃ。 PS:入門系・初心者系本の写経系ソースは人事では全く評価されませんにゃ。 サイトなりサービスなり、人に見せたくなるものをたくさん作ってください。