Article
『RustによるWebアプリケーション開発 設計からリリース・運用まで』の感想
Rust,Axumだけでなく設計や運用等の理解にもつながったとても良い本だったので簡単に紹介する。
簡単な本の紹介
今回紹介する『RustによるWebアプリケーション開発 設計からリリース・運用まで』は、Axum を使った蔵書管理アプリケーションの実装を題材に、設計・開発・テスト・運用までを一通り追っていく実践寄りの書籍である。
内容は最小構成のアプリから始まり、レイヤードアーキテクチャを意識した設計、CRUD や貸出機能の実装、テスト、運用や OpenAPI の話まで順番に広がっていく。Rust の文法だけを学ぶ本というより、実際に Web アプリを作るときにどのように構成していくかを学びやすい構成になっている。
講談社の公式ページによると、紙版の発売日は 2024年9月30日、320ページの書籍である。Rust を触り始めた直後というより、基礎をひととおり学んだ後に「実務に近い題材で全体像をつかみたい」ときに読みやすい一冊だと思う。
おそらく対象読者は
- 他の言語である程度開発をしていてRustを学びたい人
- 経験2~4年くらいでアプリケーションの一連の流れや設計について学習したい人
あたりだと思う。
本の感想
基礎が一通り終わったあと実務でRustを使用する前に一通り写経したり、少なくとも読んでみた方が良いと思う本だった。
Rustに関する本は他にも何冊か出ており、よく目にする本はだいたい読んだと思うが、どこにでも書いてある一般的な内容やRustの特徴の説明が本の大半を占めているものが多く、ためになる・買ってよかったと思うRust本とは今まであまり出会えて来なかった。また、内容が少し古く、書籍のgithubも手入れされていないものも多い。
Rustは 公式ドキュメント のように比較的充実した資料がある方だと思うが、ただでさえ学習ハードルの高いRustのうえに読みにくい、わかりにくいドキュメントが多い。
以上から言語自体の難易度+学習しにくさでよりハードルが上がっているように感じる。
一方で、この本は比較的新しく、githubも手入れされており、内容も実践的かつ網羅的にかかれており、Rustに関する本の中で頭一つ以上飛び出ていると思う。
また、実践を謳う他の本や動画でも「Todoアプリ」等のシンプルなアプリを題材にすることが多く、使用するテーブルやAPIも少ないため、実務の参考にしにくい。
それらに比べると、この本は「本の貸し出し管理アプリ」(図書館の管理システムのイメージ)という比較的多機能なアプリについての説明が書かれており、業務の参考になる内容が多い。
採用しているフレームワークについても、少し古いActix-web等でなく、現在おそらく一番主流となっているAxumを使用している点もおすすめである。
また、dockerやフロントエンドの内容は大胆に省略し、本の主題であるRustのアプリケーションに関する内容に集中している点もお気に入りである。
その代わり、レイヤードアーキテクチャ、自動テスト、運用、ci/cdについても書かれており、業務の一連の流れを体験できる点がとても良い。もしRustに興味がなくてもおすすめしたい本だと感じた。
この本を発売してから比較的すぐに購入したが、約1年半くらい経って、自分の手で最後まで実装することが出来た。(業務ではcodexを使用することが多いため、タイピングしながら理解を進めていく良い機会になった。)
本書の題材となっている「本の貸し出し管理アプリ」は、あくまでもサンプルアプリのため、不足している機能も多いが、それを自分なりに今後も追加しながら、学習を続けていきたいと思う。
何度も読み返した数少ない本の一つであるため、ぜひ色々な人におすすめしたい。
最後に 本書の購入ページ(講談社) を貼っておく。