

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

# API 契約
<a name="api-contracts"></a>

各マイクロフロントエンドは、意見、ロジック、複雑さをカプセル化できるシステムです。クロスカットの懸念には通常、次のようなものがあります。
+ **システムを設計**する - ライブラリとして配布UIs を開発するためのツール
+ **コンポジション** ‒ マイクロフロントエンドがアプリケーションシェルとやり取りしてレンダリングし、そのコンテキストを継承する方法
+ **ロジック処理** ‒ 永続状態を処理する APIsとのやり取り
+ **他のマイクロフロントエンドとのインタラクティブ性** - イベントの発行と消費、マイクロフロントエンドから別のマイクロフロントエンドへの移動などのシナリオ

消費とトラブルシューティングを高速化するには、マイクロフロントエンドの依存関係など、これらのインターフェイスを宣言して文書化する方法の標準化に投資するのが一般的です。人間によってキュレートされた Wiki は良いスタートです。よりスケーラブルなアプローチは、この情報を構造化メタデータとしてコードに保存することです。その後、自動化を使用して履歴の変更を追跡し、全文検索を提供することで、消費のために一元化できます。

マイクロフロントエンドに多数のチームが関与する場合は、チーム間で調整する戦略が必要です。API 契約を統一された方法で共有することは、通信のオーバーヘッドを減らし、デベロッパーエクスペリエンスを向上させるため、必須となります。

[OpenAPI](https://www.openapis.org/) は、APIs インターフェイスとコントラクトを統一された方法で定義することをサポートする HTTP API の仕様言語です。Amazon APIs Gateway で OpenAPI を使用して REST API を実装できます。 [ OpenAPI Amazon API Gateway](https://docs.aws.amazon.com/apigateway/latest/developerguide/api-gateway-import-api.html) コンテナや仮想マシンでホストできるさまざまなオープンソースフレームワークを使用することもできます。大きな利点は、OpenAPI が一貫した形式でドキュメントを自動的に生成できるため、複数のチームが最小限の初期投資で知識を共有できることです。

複数のチームがマイクロフロントエンドに取り組む場合、多くの場合、グループを形成します。これらのグループでは、人々は全体像について考え、貢献しながら、互いに出会い、学び合うことができます。これらのイニシアチブは通常、所有権の境界を定義して文書化し、クロスカットの懸念について話し合い、一般的な問題を解決するための取り組みの重複を早期に特定します。