はじめにデザインを。
はじめにデザインを。
Goa はコード生成に頼ることでリフレクションや単調なコーディングの必要性を軽減します。
Goa ツールは、コード、ドキュメント、クライアントを含むさまざまな成果物に加え、プラグインを通してカスタム成果物をも生成します。最終結果はクリーンで簡潔なアプリケーションコードです。
Goa デザイン言語は柔軟で、API がどのように動くのかあなたの望むように決めることができます。デザインは実装とドキュメントの両方から信頼できる唯一の情報源です。 Go の DSL である Goa デザイン言語はカスタマイズし易く、できあがったデザインは簡単に共有できます。
Goaは、ベストプラクティスに従ってマイクロサービスベースのシステムアーキテクチャ構築に適したコードを生成します。コードはレイヤーとして整理されているため、トランスポート固有の懸念事項がビジネスロジックに漏れたりすることはありません。
スポンサー
Zuplo: あなたのGoa APIをスケールし、保護し、商品化する
私たちのAPIゲートウェイは、APIの保護、グローバルスケール、OpenAPIからのドキュメント生成、そしてマネタイズを可能にします。
incident.io: インシデントから強く立ち直る
私たちのプラットフォームを使って、チームにインシデントを最初から最後まで管理する力を与えましょう。
インシデントを迅速に修正し、そこから学ぶことで、より回復力の高い製品を作ることができます。
Speakeasy: あなたのAPIのためのエンタープライズ開発者体験
私たちのプラットフォームを使えば、機能豊富で本番環境に対応したSDKを簡単に作成できます。
あなたのAPIに相応しい開発者体験を提供することで、統合を加速しエラーを減らすことができます。
ゴアデザインウィザード
Goaデザインウィザードを使用して、Goaデザインをインタラクティブに作成しましょう。
(ChatGPT Plusのサブスクリプションが必要です)
サービス開発のライフサイクル
Goa でのサービス開発はデザインから始まります。 Goa DSLを使用すると、サービスメソッドとその入力および出力データ構造を記述できます。また DSLでは、HTTP ボディ、HTTP ヘッダ、gRPC メッセージなどトランスポート固有のデータからデータ構造を構築したりシリアライズする方法を定義することもできます。
Goa ツールは、サービス設計を読み取りサービスとクライアントツールの構築に必要なすべてのコードを生成します。生成されたコードには、トランスポート層と入力バリデーションが含まれます。したがって、サービスの実装はサービスがリッスンしているトランスポートに関係なく、生成された Go インターフェースを実装するのと同じくらい簡単です。特に Goa では HTTP リクエストと gRPC リクエストの両方を受け入れるサービスを簡単に実装することができます。
Goa DSL においてもっとも素晴らしいのはそのエンジンが完全に分離されている点です。プラグインはデザインに記述されるコンセプトを拡張するためにカスタム DSL を実装することができます。プラグインは、任意の出力を生成したり、組み込みのコードジェネレータによって生成された出力を変更したりすることもできます。特に、 go-kit プラグインを使用すると、運用およびインフラストラクチャのニーズに合わせてツールキットを利用できる Go kit 準拠のサービスを生成できます。