Hello Worldの後に何を作るか

新しい技術を学びはじめるとHello Worldのその先で何を作るか詰まってしまうことがよくある。

最初から作りたいものがある人はそれ作ったほうがいいし、実務で導入できたりするなら一番手軽で学びが多いのだが中々そうもいかないのが人生というもの。

そういう人にとってはHello Worldからある程度使えるもしくは本番投入時に選択肢にできるレベルになるための道筋があると便利だなーと思う。

自分はWeb系の人間なのでフロントエンド/サーバーサイド/モバイルアプリという感じでまとめてるが、インフラ屋やハード他デザイン系の技術はまた違うと思われるのでこれはあくまでも自分の場合はということで。

共通

  • 言語機能を一通り試す(A Tour of Goみたいな感じで)
    • 基本的な型/制御構造/IO周り/クラス/文字列操作/正規表現/よく使いそうな標準ライブラリ
    • その言語固有の機能は重点的に(goだったらgoroutineとか)
  • テストの書き方

何か作る

フロントエンド系

APIとのやりとりと状態管理とルーティングまでしっかり触れるとよさそう。

  • ストップウォッチ(1ページ+簡単な状態管理)
  • メモ帳 or todoリスト(2,3ページ+状態管理)
  • Twitterクライアント(複数ページ+複雑な状態管理+ルーティング)

モバイルアプリ系

各UIコンポーネントAPIとのやりとりと端末固有の機能が一通り扱えれば良い。が、UIコンポーネントも端末固有機能も膨大にあるので実際に全てを実装したものを作るのは難しい。

  • UIコンポーネント各種に触れる(UIコンポーネント+UIの雰囲気つかむ)
    • KitchinThinkのような参考アプリのソースをみたりするのよい
  • メモ帳 or todoリスト(2,3ページ+storage)
  • Twitterクライアント(複数ページ+apiとのやりとり)
  • カメラ/Push通知とか(端末固有の機能使う)

ただ、モバイルアプリは専門ではないのでこのセクションはやや自信がない。。自分の場合はということで。

サーバーサイド系

基本的な言語機能/ライブラリパッケージの作り方/DBやその他ミドルウェアとのやりとり/viewのテンプレートあたりまで触れるとよい

まとめ

書いてて気づいたがサーバーサイドは別として、フロント/モバイルアプリは最初からTwitterクライアント作ればよさそうな感じだ。。。

他のやり方、その他分野のHello Worldの後についても知りたいので暇な人頼んます。

参考

宣伝

kotlinでゼロからAndroidアプリつくろ