最近ではReactやVueを使ったリッチでインターラクティブなUIがどんどん主流になってきていますし、2020年以降もこの流れは加速し続けるでしょう。
SPA(Single Page Application)やPWA(Progressive Web Application)の普及によって今までモバイルでしかできなかったことがwebでもどんどんできるようになってきています。
また、Firebaseを使うことでクラアントサイドだけの高速なサービス開発が可能になってきていて、今後ますますフロントエンドのニーズは増えるのは確実です。
(サーバーサイドが必要ないという主張がしたいのではありませんが)
フロントエンドをどのように勉強するのか
初心者に立ちはだかる壁
しかし、何か作ってみようと思ってもなかなかほどよいアプリがありません。TODOぐらい簡単なものだと雰囲気を掴むのにはちょうどいいですが、TODO程度のアプリケーションでは実務レベルに通用する知識は身につきません。
面接に「TODOアプリを作りました!」と持っていっても、「それだけ?」と突き返されてしまうでしょう。
逆に、大規模なものを作ろうとすると工数がかかりすぎてすぐに挫折してしまいます。フロントエンドは思ってるより工数がかかることが往々にしてあります。
設計がしっかりとしていないとバグまみれになってしまうので、いきなり大きすぎるアプリケーションに挑戦するのはおすすめできません。
残念ながらrailsチュートリアルのように、体系的にフロントエンドを学べる無料の教材もないのです。
progateで学べることもせいぜい基礎の基礎ぐらいです。
Googleカレンダーというソリューション
では、いい勉強方法はないのか。そんなことはもちろんありません。
レベルアップを積めつつ挫折しない程度のアプリがあります。それがGoogleカレンダーです。
この記事ではなぜGoogleカレンダーがちょうど勉強にいいレベルなのかを紹介していきます。
以下のようなアプリを作成しました。