Upgrade to Pro — share decks privately, control downloads, hide ads and more …

EVAフレームワーク

Sigma
October 10, 2022

 EVAフレームワーク

友人が作っているやつ、「EVAフレームワーク」は紹介用に自分がそう呼んでるやつ。

Sigma

October 10, 2022
Tweet

More Decks by Sigma

Other Decks in Programming

Transcript

  1. 何話す • E, V, AによるAPIサーバー開発について ◦ go のフレームワーク Echo シンプルで高速

    ◦ Firestore のリポジトリ層のメタプログラミングライブラリ Volcago について。 ◦ Controller と API client のメタプログラミングライブラリ Api_gen について。
  2. volcago って何者 • 日本製OSS ◦ コントリビュート待ってます。 • go generate という

    go のツールチェーンに基づいているらしい ◦ ファイルを読んで特定の構造体を探す。 ◦ その構造体に対応したリポジトリを自動生成する。 ◦ モックを作ることもでき、サービスレベルのテストに役立てられる。
  3. api_gen って何者 • 日本製OSS ◦ コントリビュート待ってます。 • go の AST

    を取り出す API に基づいているらしい ◦ AST を読んで特定の構造体のペアを探す。 ◦ ペアに対してコントローラの叩き台とクライアントを自動生成する。 ◦ モックを作ることもでき、フロントエンドの開発に役立てられる。
  4. 実際の開発の流れの一例 1. Firestore のモデルを考え、書く。 2. Volcagoを使ってリポジトリを生成する、モックを生成する。 3. リポジトリを使ってサービスメソッドを書く。モックを使ってサービスメソッドのテストを書く。 4. コントローラに対するリクエストとレスポンスを考え、書く。

    5. api_genを使ってコントローラの叩き台と対応する APIクライアントを生成する。 6. サービスやリポジトリを使ってコントローラの中身を書く。 7. API clientから利用し、フロントエンドへ繋ぎ込む。