フロントエンドカンファレンス北海道2024
LT(5分)
どさんこ(出身or在住)

Zodだけで始めるコード生成いらずの軽量スキーマ駆動開発

_sushidesu sushidesu _sushidesu
5

現在、我々のサービスでは複数のプロダクトをフロントエンド・バックエンドともにTypeScriptを用いて開発しています。TypeScriptで統一されていることを活かす事で、OpenAPIやGraphQL、gRPCを採用せず、Zodのみを使用して以下の方針でスキーマ駆動開発を実現することができました。

  • Zod(任意のスキーマ定義ライブラリ)を使用して、スキーマを定義する
  • FE(フロントエンド)/BE(バックエンド)はそのスキーマを使用する
  • FE/BEの各フレームワークに合わせてアダプターを作り、そこで型の補完やスキーマの正しさの保証(バリデーション)ができるようにする

TypeScriptにおける、コード生成を伴わない軽量なスキーマ駆動開発の第三の選択肢を提示します。