Laravel OpenAPIによる "辛くない" スキーマ駆動開発 by 武田 憲太郎

PHPerKaigi 2024
採択
2024/03/08 11:15〜
Track C
レギュラートーク(40分)

Laravel OpenAPIによる "辛くない" スキーマ駆動開発

KentarouTakeda 武田 憲太郎 KentarouTakeda

スキーマ駆動開発は非常に強力な開発手法です。

  • API仕様とサーバ実装が確実に一致し、クライアントライブラリは自動生成されます。
  • フロントエンドは型システムの力により、「サーバ」を意識せずに開発が可能です。
  • 「APIの繋ぎ込み」タスクや結合テスト時の問題切り分けが不要になります。

なるほど、完璧な作戦っスね―――ッ
不可能だという点に目をつぶればよぉ~

スキーマ駆動開発はしばしば「辛い」と言われます。

  • スキーマと実装とをそれぞれ書かなければいけません。
  • 開発中の変更がフロントエンドのCIを予期せず壊すことがあります。
  • 破壊的変更を避けるために類似のエンドポイントが乱立しがちです。
  • 実際には、仕様と実装が常に一致しているとは限りません。

これらの課題をLaravelおよびLaravel OpenAPIを使用して解決します。

  • ライブラリの機能を活用し、スキーマと実装との二重化を解消します。
  • 仕様と実装との不一致を自動的に検出します。
  • フロントエンドのCIを壊さないスキーマの運用を行います。
  • そもそもスキーマ駆動開発とは何かを解説します。

これまでOpenAPIやスキーマ駆動開発に苦労したことのある方はもちろん、これから導入を検討している方々にとって有益な内容です。