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

ベトナム拠点との楽しいフロントエンド開発とそのためにやった事 in Ginza#9

ベトナム拠点との楽しいフロントエンド開発とそのためにやった事 in Ginza#9

Shuji Matsuda

February 05, 2020
Tweet

More Decks by Shuji Matsuda

Other Decks in Programming

Transcript

  1. 自己紹介 - 松田 衆治 (@onigiri_) - トライバルメディア ハウス勤務 - ベトナムにも開発拠点があります。

    - テックリードやってます。 - 割と好きなのはフロントエンド かな... - 新規事業やってます。 - React(Next) - Go - GCP - (余談)前々職は通信事業者で、前職は某グルメ系メディアでフロントエンド エンジニ ア
  2. ベトナム側 開発者4名 (フロント) ベトナム側 開発者4名 (フロント) 開発体制 • 私がテックリードで ◦

    委託の人にバックエンドをやってもらい ◦ ベトナム側にフロントエンド をやってもらっている。 ▪ 若手多め ▪ 理由は今回説明しません。(長くなるので ◦ インフラはGCPのPaaSやManaged Service使ってます(雰囲気 私 (テックリード) 国内の若手 (フロント・バックエ ンド) 委託の方 (バックエンド) ベトナム側 開発者4名 (フロント) ベトナム側 開発者4名 (フロント)
  3. やった事 Part.1 • まず、フレームワーク選定 ◦ 型と親和性高い方がいいよね ▪ ドメイン的なナレッジを型で共有できるから ◦ 英語のドキュメントが豊富な方がいいよね ◦

    →React(Next)かなぁ(個人の判断です ◦ 一応、相手側の何のフレームワークが一番人気か聞いてみたが ▪ 「It’s definitely React」って言ってました(個人の感想です • 環境構築まで日本側でやった ◦ Next + TypeScript + eslint ▪ 文法共有はlinterで ◦ Jestやenzymeなどで参考のためにサンプルテストも書いた後で repository共有した
  4. やった事 Part.2 • dev serverからバックエンドの開発環境(GCP)へAPIをproxyする ◦ バックエンド開発者とのコミュニケーションが不要にするため ◦ NextのCustom Serverとhttp-proxy-middlewareを使う ◦

    Proxy先は共用の開発環境で GCPのApp Engine上 • APIの仕様書的なものをBackendのrepository上に配置する ◦ 現状はPostmanのcollection ◦ 仕様をわざわざ伝える必要が減る
  5. やった事 Part.2 • dev serverからバックエンドの開発環境へAPIをproxyする ◦ バックエンド開発者とのコミュニケーションが不要にするため ◦ NextのCustom Serverとhttp-proxy-middlewareを使う ◦

    Proxy先は共用の開発環境で GCPのApp Engine上 • APIの仕様書的なものをBackendのrepository上に配置する ◦ 現状はPostmanのcollection ◦ 仕様をわざわざ伝える必要が減る
  6. 今後やりたい(やっている)もの • Fetchのbodyやresponseの型を定義する ◦ API仕様より堅めの確認をしたい。 ◦ Fetchのwrapperを作成する ◦ ついでに変更にも強くなる •

    stylelintをもう少し真面目にやりたい • ベトナムからレイテンシの低いところにAPI proxy先を置きたい ◦ パフォーマンス検証をよりしやすくしたい ◦ 香港だと思う ◦ でも、コストが... (費用と運用)
  7. 最後に • やってみた感想: ◦ ベトナム拠点との開発は色々大変だが、準備しておけば何とかなる。 ◦ 何より吸収が早いので一緒にやっていて楽しい • と言いつつも ◦

    大変なことも多いので、今後もやり方を模索していく • 「私はこうやって海外拠点との開発やってます!」的な情報共有待ってます!