こんにちはカレイドです。
いよいよマネハビを作るまでの振り返り自体はこれで最後になりそうです。
今回は学び始めた2月から作り始めるまでに自分が学んだこと、及び何を意識して学んでいけばよいかについてお話していこうと思います。
学び始める言語についてはなるべく依存しないように書いていこうと思いますのでどの言語の方でも参考にしていただければと思います。
では早速行きましょう。
2月から3月終わりまで フロントエンドHTML/CSSの学習と自分のやりたいこと探し
まずはプログラミングは好きでもどのようにしてwebアプリが作られているのかについては全く知りませんでした。
なのでどの言語にすべきか、そして最終的なwebアプリを作るまでに何を学ばなくてはいけないのかを確認したりしていました。
もう知ってるという人は特に見る必要はないかと思いますので飛ばしてください。
言語はひとつに絞って極めるべし
実際プログラミングをやる!と決めた時期から1ヶ月ほどは本当にいろいろ悩みながら勉強していました。リアルですね。
勉強始めた時期に丁度ブログも初めたこともあって初期設定などで忙しかったです。
そしてもともとプログラミング言語として使っていたのはPythonと呼ばれる言語であったためこれを軸に勉強していこうと考えていました。
ただPythonはどちらかというとやはりデータ分析をしたりする言語でWebアプリで使うことは少なかったです。これからの時代主流となるのはSPAになるということもあって
JavaScriptを学ぶことを決意しました。
沢山の言語を中途半端に学ぶとどの分野にも特化できない残念なエンジニアになるのでJavaScript学べばすべて解決するということでこれ1本に絞ろうと思いました。
また、プログラミングを一つ特化しておけば後で何かを学ぶときに形式が少し変わるだけなので勉強もしやすいです。
ただアプリは必ずHTML/CSSが必須になってしまうのでこれは別枠として学びました。
このHTML/CSSの知識はほんと何で学んでもいいと思いますが巷でいうProgateは課金1ヶ月だけして学んで解約するとあとで見返すのが出来ないかつ、原始的な部分が多いので
個人的なおすすめとしては買い切りで今後のアップデートもしてくれるこちらのUdemyの講座がいいです。
こちらの講師の方はまた後程紹介しますが新しいVersionが来ると自動的に最新の物に更新してくれるのでトレンドを追いやすくなります。
なので買い切りで書籍などを購入するよりも常にアップデートされるこちらの講座のほうが圧倒的におすすめできる内容になっています。
基本的なCSSの知識から始まり、デバイスごとに切り替わるメディアクエリー 今トレンドのFlexbox,CSSGridについてもしっかり解説してくれています。
なぜ私がJavaScriptを選択したのか(おまけ)
ここではJavaScriptを選んだ理由について話しているので特に興味ない方は飛ばしてもらって大丈夫です。
逆算思考から必要な言語を選ぼう!
私の場合既に就職先が決まっているため、その就職先に合わせた言語選びをしておいた方が後々よろしいということもありました。
そこで銀行のシステム業務というよりどちらかというと少数チームで活動している社員さんにお話を聞きました。
そこで聞いた話ではPythonのAI系でFlaskを利用したもの。もしくはバックエンドにNode.jsを使ってフロントにReactを使っているというお話でした。
これからプログラミングを学ぼうと思っている方は、まず自分がどのようなプログラマーになりたいのかをしっかり考えましょう。
私は今価値があるプログラマーというよりはこれから先間違いなく流行る言語を学んで最先端で行きたいという思いがあったのでJavaScript系統を学ぶことを決意しました。
今現在の需要から考えるにやはりPHPの需要は高いのかなと思います。(もちろんHTML/CSSは必須)
私が先日インタビューした同期のエンジニアはPHPを使っていました。【プログラミング】実際の現場で働くphpエンジニアに聞く開発のあれこれ
PHPを今現在扱っている企業は割と中規模ぐらいのベンチャーが多いんじゃないかと思います。
世界規模で見るなら実際にこちらの記事にあるように、githubスター数
が物語るように世界では今JavaScriptが熱い言語になります。
JavaScriptの中でもReact とNode.js
JavaScriptはあくまで言語の総称で、その中でもフロントエンドを構成する部分とバックエンドを構成するもので分かれています。
その中で私はReactとNode.jsに絞って開発することを決めました。Reactは主にフロントを担当する部分。Node.jsは主にバックエンドを担当する部分になってきます。
Reactは有名なFacebook社やNetFlixでも使われているぐらい有名です。
バックエンドは上でも説明した通りやはりPHPが主流です。本当にどちらを選ぶかは好みの問題になります。
私はフロントと同じJavaで学べるという点。今度の発展性を考えてNode.jsを選択しました。
3月まとめ
学ぶ言語はHTML/CSS に加えてReact
バックエンドとしてはNode.js もしくはPHP
やると決めたらその言語を信じてやりこむだけ。世界のトレンドはJavaScript
4月 React+Firebaseを使って基本的なアプリの作成 Node.js+MongoDBを使った基本的なアプリの作成
最初に申し上げたSPAアプリは最終目標であってReactだけでもNodeだけでもアプリを作ることは可能です。
そしてそれを学ぶために必要なのは少しの基本的なHTML/CSSの知識と実はUdemyの講座一つ見れば実は十分です。私が使ったのはReactは
Modern React with Redux [2020 Update]
リンクにも書いてある通り、2019最新版なので時代に合わせていますね。とにかくわかりやすいしこの内容理解できれば自分でアプリ作れるようになります。
そしてNode.jsは同じ方が教えているこちらの講座ですべて学ぶことが出来ます。
私が自作したマネハビで使っている知識は上の二つとHTML/CSSで作ることが出来ます。
ここにはNode.jsの知識に加えて必要なデータベースMongoDBについてまで学べます。加えてデータベースのデータの新しい取り出し方GraphQLも学べます。
至れり尽くせりですね。笑
両方やる方は先にReactの方からやるといいと思います。
ただかなり長いので腰を据えてやる必要があります。
この二つをきちんとこなせればプログラミングへの苦手意識はおそらくなくなっているかと思います。
5月 React+Node.jsを使ったSPAアプリの作成とGraphQLについて
おそらくNode.jsを学んだ方はReact+Node.jsで作るアプリも勉強したと思いますが、かなり難しかったと思います。
おそらく1ヶ月では終わらないと思いますが、終わって余裕のある方はアプリによくついている決済や、メール送信などを学ぶことが出来るこちらの講座になります。
Nodeの講座でも学んだと思いますがより複雑なものを学ぶことが出来ます。あくまでオプション程度に思ってくれれば大丈夫です。
Node with React: Fullstack Web Development
経験を積む意味でもお勧めできます。違う講師の人ですが、かなりわかりやすいのでおすすめです。
これ以外にも5万円ほどUdemyの講座で勉強していますが、私が作ったWebアプリなら3つの講座だけで完結します。なのでまずは作ってみたいと思う方は
難易度は高いと思いますがこちらの講座を使ってみてはいかがでしょうか。
上に挙げている講座は英語ですが
【Udemy】英語字幕しかない講座を日本語字幕にして勉強する方法を解説する【セールも活用しよう】
こちらの記事で日本語に変換できます。
またやっぱり合わなかったという方は
【Udemy】返金制度の実際の流れと活用方法【デメリットなし】
Udemyは返金制度が30日間ついているので一切デメリットはありませんのでご安心を
まとめ
今回は私が4ヶ月間で使った講座についてまとめてみました。
このほかにも5万円ほど使っているのですが、Manehabiを作るための知識として最低限必要なものはわずか3つの講座だけで学べてしまいます。
+αのオプションとして1つといった感じです。
ゴールのアプリは既に紹介しているので興味を持てた人はぜひ学んでみるといいのではないでしょうか。