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

MoT TechTalk #3 タクシー配車ならではの技術が盛りだくさん!iOSアプリの開発現場

MoT TechTalk #3 タクシー配車ならではの技術が盛りだくさん!iOSアプリの開発現場

タクシーの配車アプリは、アプリでタクシーを呼ぶところから降車までのUXが非常に重要になってきます。 そのためアプリでは、ユーザーの体験を良くするために、多彩な機能が実装されています。

今回はオンラインにて、アプリの特徴的な機能や開発事情の話を、iOSエンジニアチームのメンバーに語っていただきました。

YouTube
https://www.youtube.com/watch?v=KwaMV7-uMdI

GO Inc. dev

April 08, 2021
Tweet

More Decks by GO Inc. dev

Other Decks in Technology

Transcript

  1. Mobility Technologies Co., • 話す機会を⽤意する ◦ 毎⽇のDaily Stand Up ◦

    週1の振り返り ◦ 週1のWin Session 雑談が⾃然と⽣まれる環境づくり
  2. Mobility Technologies Co., • それぞれのチームにミッションを与える ◦ プロジェクトの効率化を考えながら施策を進める ◦ 開発チームの効率化 •

    チーム名を決めてもらう • 情報の⾒える化 ◦ 全てのグループワークをMiroで⼀元管理 ◦ OKRの⽬標や振り返り内容を⾒える化 課題解決ができるような組織づくり
  3. Mobility Technologies Co., - 2020年4⽉に統合し、2020年5⽉から本格的に開発をスタート - iOS エンジニアは 4 ⼈から

    8 ⼈に倍増 - どのようにこれから iOS アプリを開発・運⽤していくのか - 今後のチームのあり⽅や進め⽅、⼤切にしていくことなどの 視点を揃えておく - 2ヶ⽉かけて毎週議論を交わした 『GO』iOS アプリをどう開発していくのか
  4. Mobility Technologies Co., - GO (当時の MOV )は MVVM +

    独⾃ルーティングで作られていた - 既存の仕組みによる実装には様々な課題が潜んでいた - Router の肥⼤化(1000⾏超えもいくつか…) - 責務が明確でない - Router にルーティング以外のロジックがある - ViewModel がいろんなクラスに漏れている - 状態の流れ、依存関係がみえづらい - etc... 『GO』iOS アプリが抱える課題
  5. Mobility Technologies Co., - 配⾞アプリの特性に合ったアーキテクチャであること - 状態の数が⾮常に多い - 最新の状態の再現性が求められる -

    配⾞中にアプリを再起動した場合など - ユーザの操作なしに UI が更新される - 注⽂後は画⾯を放置していても状態によって変化する - 画⾯遷移(push/pop)が少ない - 注⽂フローは画⾯遷移がないに等しい - 将来的にサービス拡⼤が予想される - 相乗り、フードデリバリー、その他移動に関わるサービス アーキテクチャの選定基準を考える
  6. Mobility Technologies Co., - 責任範囲をプロジェクト全体で統⼀できる(責任の明確化) - コードを書く際の迷いをなくすため - レビューでの着眼点を明瞭にするため -

    複数⼈での開発に向いているか - 複数のプロジェクトが並⾏稼動しても耐えられるか - スケーラブル - 今後のサービス拡⼤へ柔軟に対応できるか - 開発効率 - ビルド時間、 デバッグのしやすさ - 学習コスト アーキテクチャの選定基準を考える
  7. Mobility Technologies Co., RIBs アーキテクチャ採⽤後どうなったのか - ルーティングまわりの実装を細分化できた - 15 個の

    Router が 140 個に分割された 🎉 - 画⾯遷移ではなくビジネスロジック起点のルーティン グに変わった - 依存関係が可視化された - 複数⼈開発がしやすくなった - テスタビリティの向上 - 事業的な案件と並⾏したリファクタリングは難しかった 🤒 - QA コストも少し膨らんだ - ビジネスロジック部分の移⾏がまだ間に合っていない - iOS チームメンバ全員で現状の課題について向き合い、これ らかどう開発していくかを議論することができた - 今後も定期的にこういった議論が⾏えるチームでありたい