Full Stack Web Development with Remix

普段あんまりWebフロントエンドのアプリケーションを開発する機会がないので、年に1回くらいキャッチアップする時間を作っているのだけど、今年はRemixをやってみることにした。とりあえず公式のチュートリアルを一通りやってみたあとに、何か一冊技術書を読みたいなと探していたところ、Full Stack Web Development with Remixという本を見つけたので、夏休みの宿題としてやってみることにした。

この本は実際にサンプルアプリケーションを章ごとに機能を追加しながらRemixを学んでいく内容になっていて、実際に本格的なアプリケーションを開発していくことになる。写経を進めるには本だけでなくGitHubのリポジトリにあるREADMEにある内容も写経していく必要があるので、そこそこボリュームがある。

内容としては基本的なルーティングから始まり、Prismaを使ってDBとの読み書きを実装し、エラーハンドリング、認証、ファイルアップロードなどを実装していく。終盤になると、deferを使ったレンダリングの遅延やServer-Sent Eventsによるリアルタイム機能の実装を行うようになり、かなり難易度が上がる。途中でzodを使ってリファクタリングするフェーズもあり、実際の開発体験に近い実践的な内容になっている。

また、昨今のさまざまなランタイムやホスティングサービス、エッジコンピューティングサービスについても概要が紹介されており、Remixの周辺知識についてもキャッチアップできて良かった。Remixを触っているとHTTPを直に扱うことが多く、マルチパートポストやHTTPキャッシュなどのHTTPに関する知識のおさらいもできた。

テストやセキュリティについて触れられてなかったのが惜しいなとも思ったけど、さすがにボリュームが増えすぎるのでこれくらいでいいのかもしれない。ただ、Remixは薄いフレームワークなので、気を抜くと脆弱性を仕込みやすいなと感じており、セキュリティについては手厚く触れられているとよかったと思う。

こういう写経しながら読み進める本は内容が陳腐化しやすいので、Remix v3が出る前の今のタイミングにこうした本を読めてよかったと思う。あとは、自分でなんかアプリケーションをRemixで作りながら周辺知識を補っていけばそこそこ使えるレベルにはいけそうな気がしている。