4.6 - まとめ
まとめ
この章では、前章で学んだことをすべて有効に活用しました。JSONファイルからToDo項目をロード・保存するToDo項目ファクトリーのロジックを融合し、Actix-webの基本ビューを使用してToDo項目プロセスのロジックを見てみました。これにより、分離されたモジュールがどのように連携しているかを確認することができました。次の数章では、データベースをロードして保存するJSONファイルを切り出しながら、このアプローチのメリットを享受し続けることになります。
また、複雑なデータ構造をシリアライズするために、serdeクレートも利用することができました。これにより、ユーザーが編集を行った際に、完全な状態の更新が返されるようになりました。さらに、future、非同期ブロック、クロージャの知識を活用して、リクエストがビューに到達する前にインターセプトするようにしました。このように、Rustの力を使えば、フレームワークを深く掘り下げなくても、サーバーを高度にカスタマイズできることがわかります。
このように、RustはWeb開発において強い将来性を持っています。幼いながらも、私たちはほとんどコードを書かずに物事を立ち上げることができます。さらに数行のコードとクロージャで、私たちは独自のミドルウェアを構築しています。私たちのJSONシリアライズ構造体は、わずか1行のコードで実現できました。Actixが提供する特性により、ビュー関数でパラメータを定義するだけで、ビューが自動的にボディからデータを抽出して構造体にシリアライズできるようになりました。このスケーラブルで強力な標準化されたデータの受け渡し方法は、多くの高級言語よりも簡潔な方法です。これで、HTTPリクエストのあらゆる部分を完全に操作し、検査できるようになりました。
ToDoを編集、作成、削除する際に、ユーザーがポイント&クリックできるように、インタラクティブな方法で表示することができます。
次の章では、Actix-webサーバーからHTML、CSS、JavaScriptを提供する予定です。これにより、この章で定義したエンドポイントへのAPIコールをJavaScriptで行い、グラフィカルユーザーインターフェースを介してToDoアイテムを表示し、対話することができるようになります。