「Rust Web Programming」を読んだ

shishi.hatenablog.jp

に続くRust学習録。

"rust web programming book" みたいな感じで適当にぐぐると真っ先に出る候補で、他と比較してもと2021年出版と新しく、目次は好感触だったので買ってみるも、自分にはこの本で学習した甲斐がないなと感じた本でした。

現実とは乖離しすぎた方法で実装を進めていくので、「web開発とはこういうものだ」と学んでしまったらもうそれはむしろ害悪になってしまう内容になっています。Reactなどはオーバーキルだから使わないと説明されていましたが、だからと言ってその結果が {{BASE_CSS}} などと <head> に書いてそこに別ファイルのCSSを読んでその内容で置換してHTMLを出力するというところまで戻るのはやりすぎで、せめて既存のテンプレートエンジンを使うほうが読者の利益になったと思います。 その他、JSの実装についても簡単な実装ではなく間違った実装に見え、十分な経験を積んだ人のものとは思えず、本書筆者の知識と経験に疑いを持ってしまいました。

また、typoが多く、中には引数の型があってないものまであり、本当にRustで動かしてやっていたのか?となってしまいました。なお、資料として公開されているgithubソースコードと本もまた乖離していますが、githubの資料はちゃんと動きました。

その他、Dockerやデプロイまで解説されているのですが、どれも大変原始的かつ今覚えなくていいやり方に感じるものが散見されました。だいたいどこのchapterにも「複雑だから説明しない」とか、「これで十分」的なエクスキューズがあるのですが、この内容はそのエクスキューズでもってカバーするにも苦しいだろうと思います。

逆に良かったこととしては、とりあえずでも開発段階が一通り解説されていることです。プロジェクトの作成からJWTによる認証、データの永続化、デプロイまで解説されていることは良いことだと思いました。冒頭の通り、目次で見えたこの構成が気に入って買ったのですが、内容がこんなに残念に思うものだとは…

この本でいわゆるバックエンド的な学習をしてwasmで構築するフロントエンド的な方向の学習に移るつもりだったのですが、ちょっと納得できないので、各フレームワークの解説記事やチュートリアル、本などを探していて、もうちょっとバックエンドの学習をしようと思います。

さすがにまだまだ学習資料自体が少ないし、あってもよりRustが注目されているであろう分野であるwasmや低レイヤのものが多く、なんでもできると期待される反面のきつい部分だなと思っています。