フロントエンドの地獄

みせてやりますよ。本当の地獄ってやつをね。

書評「サーバーレスシングルページアプリケーション」

買ってから結構経ってしまったけど読み終わり(作り終わり)ました。

この本を読むとこんな感じの「プログラミングの問題サイト」が作れます。 TOPとかに何も説明入れてないけど、とりあえず「関数がtrueになるために __ に何入れたらいーでしょう?」という問題をとかせるWebサービスです。

ざっくりとした本の内容

  • s3を使っての静的サイトホスティングとそのデプロイ
  • 基本的なjavascriptを使ってのSPA開発(hashを使った画面遷移)
  • フロントエンドのテスト駆動開発
  • Google login(aws の cognitoってサービスを使ってアカウント管理)
  • DynamoDBへのDB書き込み読み込み(自分の回答の登録・読み出し)
  • lambdaを使った、全ユーザーでの回答の多い順出力関数及びその関数の api gatewayでのhttp化しての公開
  • セキュリティ問題についての浅く広い情報
  • スケール時のAWSの注意点やアラートの設定

かかった時間

読むだけでなくリポジトリをクローンして、それを編集して上記内容の機能を徐々に加えていくというスタイル。基本的には写経していけば動く!

バグったときにAWSの知識が少ないと結構苦労するため、たまに足をすくわれることがあり合計15時間くらいはかかったと思います。

良かった点

章で進んだ点都度デプロイしてWWWに公開していくというスタイルは、内容はどうであれ「なんか進捗した感あるぞ!」ってなるので、モチベーション低下を防げるので良い手立てだと思った。

テスト駆動開発でしっかりと進めていくので、自然と身につく。

サーバーレスでWebサービス作る上で最低限必要な要素を網羅的に学習出来る。(Cognitoとか出たばっかだし触ってる人も少ないのではないでしょうか。)

SPAってフレームワーク使ってちゃちゃっとやってしまいがちだけど、ゼロから自分で作るのでSPAフレームワークの理解が深まるとともに、ありがたみを感じられる。

微妙な点

AWSの細かいとこで引っかかってしまってすごく時間が取られる場面があった。 もちろんそれを経て学べる事もあるので、一概にはダメとは言えないが、AWSノー知識な子がやったりすると挫折の原因になりそう。

(途中面倒なことは全部firebaseにぶん投げたくなる。。。)

まとめ

本に沿って写経していくだけで、テストファーストでサーバーレスなSPAが公開できます!

私のバックグラウンドはWebフロントエンドエンジニアだったので、SPAの部分についてはさらっとのつもりでしたが、意外とためになる事が多かったです。Viewの部分ってテスト駆動取り込みづらかったりしますよね。

本業サーバーサイドの人はこの本の「サーバーレス」な部分はちょっと物足りないというか得るものは少なそうですが、「なんとなくSPAって最近の流行りについてさらっと知っておきたい」という人にはいいかも。

どちらのバックグラウンドも無いような初心者の人でも「AWSの部分でバグったら、誰か近くに聞ける人がいる」なら大丈夫だと思います。とは言え完璧に本の通りにやってればバグらないはず。。。!

周りに聞ける人がいない場合は↓のteratailってので質問したら結構ちゃんと教えてくれる人がいますので、こちらもどうぞ。

以上です。 全体的に広い層におすすめ出来る内容だと思います!