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

EVAフレームワーク

Sponsored · Ship Features Fearlessly Turn features on and off without deploys. Used by thousands of Ruby developers.
Avatar for Sigma Sigma
October 10, 2022

 EVAフレームワーク

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

Avatar for Sigma

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から利用し、フロントエンドへ繋ぎ込む。