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

生配信管理システムのフロントエンド~配信現場に合わせたアジャイル開発~/Frontend of live management system: Agile optimized for live studio

take-k
December 13, 2021

生配信管理システムのフロントエンド~配信現場に合わせたアジャイル開発~/Frontend of live management system: Agile optimized for live studio

take-k

December 13, 2021
Tweet

Other Decks in Technology

Transcript

  1. 管理ツールの構成 カメラ エンコーダー スタジオ・外現場 DC Feeder 配信サーバー 管理ツール A系 B系

    CM信号・エンコーダー操作 系統切り替え・CM消化・フタ画挿入 編成情報 CMボタン 信号
  2. ペアプログラミング環境の用意 必要に応じてコードを共同編集できるプ ラットフォームでエンジニア間のコミュ ニケーションを促進。 右図は Visual Studio Code の Live

    Share Extension を使ったペアプログラミング。 • Webフロント初心者のメンタリング • フロントとバックエンド間の実装 Visual Studio Code の Live Share Extension の画面
  3. AWS Amplify Git のブランチを指定するだ けで CI・CD・ホスティン グ 環境が作成ができる。 Amplify Library

    で GraphQL や認証のクライアントを提 供している。 Developer Git push AWS Amplify Console Application users AWS AppSync Amazon Cognito Amplify Library API https://www.amazon.com/aws
  4. Previews AWS Amplify の機能で GithubのPull Request 毎に feature 環境を自動で作成し てくれる。

    PRレビュー時の動作確認だ けでなく、ステークホルダ ーのためのモック環境を構 築も便利。 Amplify Console の Previews 画面
  5. 参考:GraphQLのコード生成 @graphql-codegen/typescript Schema types から TypeScript の型を生成 @graphql-codegen/typescript-operations Operations types

    から TypeScript の型を生成 @graphql-codegen/typed-document-node Operations types からクエリの引数の TypeScript の型を生成 amplify-graphql-docs-generator Schema types から Operations types を生成する。プロジェクトの初期段階で Query の結果が要求するリクエストと一致する場合に便利。
  6. Vue 3 Vue CLI による環境セットアップが容易 で初心者にも分かりやすい。 Single File Components や

    Composition API, Reactivity API などで凝集度の高い コンポーネントが実装ができる。 Vue 3 の Single File Components の例 https://v3.vuejs.org/guide/single-file-component.html
  7. Atomic Design + Store パターン StudioTool.vue アプリ内の Store template organisms

    molecules atoms CMControl.vue CMAction.vue CMButton.vue ①ポーリングで情報を取得 ③Publish props props ②Storeを 更新 バックエンド
  8. アジャイルな開発に適した技術選定 これまで紹介した技術のように • DevOps を行い環境を整備する • GraphQL や WebHID のように公表された言語を使用する

    • コード規約やアーキテクチャを定める といったことで開発の負荷を下げつつチーム内のコミュニケーションを円滑にできる。 目的に応じて適切な技術を選択することで、アジャイルな開発にも大きく貢献する。