gRPC・GraphQL の両方を用いたサンプルを作成した
関連ツイート・スクリーンショットgRPC と GraphQL に関しては別々の機会で仕事のために触れたことがありましたが、今回は個人開発のために両方を同時に採用して
- gRPC:Rust で作成したバックエンドと Node.js(TypeScript) 製 BFF とで通信する
- GraphQL:BFF と Svelte 製フロントエンドとで通信する
のような構成にしてみました。バックエンド・BFF・フロントエンドそれぞれでスキーマから型定義・実装を生成しているので、スキーマを変更すればそれに伴って修正が必要な箇所がすべてコンパイルエラーでわかるようになってとても快適でした。
ソースコード:(GitHub) 0918nobita/chinese-trainer
セットアップ方法:(GitHub) development.md・0918nobita/chinese-trainer
Protobuf から Rust のコードを生成するためのクレート:(GitHub) hyperium/tonic