この記事はRust+SvelteKit+CDKでRSS要約アプリを作ってみる Advent Calendar 2025の25日目の記事になります。
また、筆者が属している株式会社野村総合研究所のアドベントカレンダーもあるので、ぜひ購読ください。
技術を振り返る
今回はWebアプリ開発を通じて、普段触らない技術を触ってみました。アドベントカレンダーの最後の記事になるので、最後に総まとめとして振り返ってみようと思います。
Rust
Rust自体は全くの初めてではありませんでしたが、ほぼ1年ぶりだったのでGoogleとAIにお世話になりながら書きました。
改めて、
-
matchやif letのようなパターンマッチング -
OptionやResultのようなエラーハンドリングがしやすい型
というのは優れていると感じました。let elseなんかはハッピーパスがスッキリするので、とても使い心地が良さそうです(最近追加されたんでしょうか?)。
パターンマッチングにしろResultにしろ、TypeScriptに輸入してほしいと強く感じます。現状、それぞれに応じたライブラリが登場しており、それなりに実績がありそうなので、今度はそれを使ってみたいですね。neverthrowなんかは最近使ってみていたりします。ts-patternも採用してみようかな・・・
CDK
筆者の悩みとして、インフラにめっぽう弱い、というのがあります。サービスレベルの概要はなんとなく抑えられていますが、じゃあ自分で構築してよしなに権限制御してみろ、と言われるとお手上げです。数をこなせば慣れるとは思っており、そのためにもIaCを身につけたいと感じていました(より高速かつわかりやすくトライアンドエラーできそう)。
どのパブリッククラウドを使うのか、ですが、一番無難そうなAWSを選択しました。AWSのIaCとしては、他にもCloudFormationやTerratermも選択肢に上がりましたが、TSで直感的に書けると聞いていたCDKから入るのがハードルが低いと考えました。結果として正解だったと思います。
CDKを使っていると、
- 型補完によるオプションの網羅
- 権限付与のしやすさ
がありがたいと感じました。素人からすると、どのリソースのオプションにどんなものがあるか、というのは把握しづらいものですが、リソースのオプションごとに型補完が効くので、どんなオプションがあるのか、間違ったオプションを渡していないか、をIDEがサポートしてくれるのはありがたいです。また、権限付与も直感的で助かりました。
SvelteKit
普段はVueを使うことが多いのですが、構文が似ているという話は聞いていたのでとっつきやすそうだな、と思っていました。また、メタフレームワークであるSvelteKitも、プログレッシブエンハンスメントを取り入れていて、よりWeb標準を意識した作りができるということで気になっていました(Nuxtはそうでないイメージ)。
触ってみて、開発体験は非常によかったです。@snippetという細かい便利機能も使いやすいです(まだ使いこなせていませんが)。サーバサイドのフォームアクションの思想も、JSON形式のやりとりに慣れていると逆に戸惑う部分もありますが、フレームワーク依存しすぎないコードが書けるという点でも嬉しいです。最近はremote functionsという機能も登場しているので、どこかでまだ深く触って取り上げたいと思います。
まとめ
総じて、どの機能も今回限りではなく、これからも使っていきたいと思える技術たちでした。個人的には、フロントとバックは同じプロダクトに閉じるのが好きなので、Rust+SvelteKitみたいな構成を取るのはあまり無いとは思うものの、それぞれの良さが活きるテーマでまた開発をしてみたいです(そしていつかは業務でも・・・)。