Link
Embed
Share
Beginning
This slide
Copy link URL
Copy link URL
Copy iframe embed code
Copy iframe embed code
Copy javascript embed code
Copy javascript embed code
Share
Tweet
Share
Tweet
Slide 1
Slide 1 text
© KAUCHE, Inc. シェア買いアプリ「カウシェ」iOSの裏側とこれから
Slide 2
Slide 2 text
© KAUCHE, Inc. 自己紹介 ● 名前 ○ 深谷哲史 (ふかや あきふみ) ● 会社 ○ 株式会社カウシェ (2020/07 ~ ) ● 役職 ○ 取締役CPO ● アカウント ○ Twitter: @akifumifukaya ○ Facebook: Akifumi Fukaya ○ GitHub: akifumi
Slide 3
Slide 3 text
© KAUCHE, Inc. アジェンダ ● カウシェiOSの概要 ● Architecture ● Multi Modules ● iOS開発体制 ● まとめ
Slide 4
Slide 4 text
© KAUCHE, Inc. カウシェiOSのこれまで
Slide 5
Slide 5 text
© KAUCHE, Inc. カウシェiOSのこれまで リリース時は、iOS 13.0+ 現在は、iOS 14.0+ サポートiOSバージョン 2ヶ月 初期開発期間 2022/09/01 リリース日 1年10ヶ月 リリースから 52回 リリース数 13.15日 平均リリース間隔
Slide 6
Slide 6 text
© KAUCHE, Inc. リリース時の詳細は https://note.com/akifumifukaya/n/n0173d78ab821
Slide 7
Slide 7 text
© KAUCHE, Inc. 内部実装
Slide 8
Slide 8 text
© KAUCHE, Inc. ● SwiftUI と UIKit の両方を使用 ● 可能な限り SwiftUI を使用し開発 ● 実現できないところは UIKit を使用 ● UIKit ○ UIRefreshControl / 認証画面 / CollectionView / 設定画面 / WebView など ● SwiftUI ○ 大半の画面は SwiftUI.View で作成 View
Slide 9
Slide 9 text
© KAUCHE, Inc. Architecture
Slide 10
Slide 10 text
© KAUCHE, Inc. MVVM
Slide 11
Slide 11 text
© KAUCHE, Inc. MVVM > 商品詳細画面
Slide 12
Slide 12 text
© KAUCHE, Inc. 簡易的な Clean Architecture
Slide 13
Slide 13 text
© KAUCHE, Inc. さらに詳細は Proposal: https://fortee.jp/iosdc-japan-2021/proposal/c7021c6b-2732-4a20-9f8a-a82d53e89526 YouTube: https://youtu.be/Ym8CXbk3y8Q
Slide 14
Slide 14 text
© KAUCHE, Inc. Multi Modules
Slide 15
Slide 15 text
© KAUCHE, Inc. Multi Modules
Slide 16
Slide 16 text
© KAUCHE, Inc. Multi Modules ● KaucheCoreKit ● KaucheAPIKit ● KaucheShopifyKit ● KaucheDesignKit ● KaucheMockKit ● Kauche
Slide 17
Slide 17 text
© KAUCHE, Inc. Multi Modules ● KaucheCoreKit ○ 全モジュール/全レイヤーから参照され、基盤となる Framework ○ 全モジュールの共通言語となるインターフェースや ツールを搭載している ○ インターフェース ■ Models ■ Protocols ○ ツール ■ Extensions ■ Utilities ● KaucheAPIKit ● KaucheShopifyKit ● KaucheDesignKit ● KaucheMockKit ● Kauche
Slide 18
Slide 18 text
© KAUCHE, Inc. Multi Modules ● KaucheCoreKit ● KaucheAPIKit ○ API通信を行うFramework ○ 役割 ■ KAUCHE サーバーとの通信を担っている ■ 通信プロトコルの隠蔽 ■ KaucheCoreKit.Models にマッピングし、返 す ● KaucheShopifyKit ● KaucheDesignKit ● KaucheMockKit ● Kauche
Slide 19
Slide 19 text
© KAUCHE, Inc. Multi Modules ● KaucheCoreKit ● KaucheAPIKit ● KaucheShopifyKit ○ Shopifyとの通信を行うFramework ○ 役割 ■ Shopifyとの通信を隠蔽 ■ KaucheCoreKit.Models にマッピングし、返 す ● KaucheDesignKit ● KaucheMockKit ● Kauche
Slide 20
Slide 20 text
© KAUCHE, Inc. Multi Modules ● KaucheCoreKit ● KaucheAPIKit ● KaucheShopifyKit ● KaucheDesignKit ○ カウシェのデザインコンポーネントを保持 ○ Colors, Styles, UI Components を有する ● KaucheMockKit ● Kauche
Slide 21
Slide 21 text
© KAUCHE, Inc. Multi Modules ● KaucheCoreKit ● KaucheAPIKit ● KaucheShopifyKit ● KaucheDesignKit ● KaucheMockKit ○ カウシェのモックデータを定義する Framework ○ Previews, Unit Tests などで使用 ● Kauche
Slide 22
Slide 22 text
© KAUCHE, Inc. Multi Modules ● KaucheCoreKit ● KaucheAPIKit ● KaucheShopifyKit ● KaucheDesignKit ● KaucheMockKit ● Kauche ○ カウシェのアプリケーション ○ 現在は、全Featureのコードが置いてある ○ 将来的には、各 Featureごとにモジュールを分割し、 Kauche モジュールはアプリケーションのみにできる ように薄くしていきたい ○ そうすることで、よりチーム開発がしやすい状態を目 指す
Slide 23
Slide 23 text
© KAUCHE, Inc. 未来の Multi Modules
Slide 24
Slide 24 text
© KAUCHE, Inc. iOS開発体制
Slide 25
Slide 25 text
© KAUCHE, Inc. iOS開発体制 akifumi 1人 複業 3人 2020.09 2022.07
Slide 26
Slide 26 text
© KAUCHE, Inc. 未来のiOS開発体制 Customer Team Commerce UX Team Social UX Team Growth Team 現在 未来
Slide 27
Slide 27 text
© KAUCHE, Inc. まとめ
Slide 28
Slide 28 text
© KAUCHE, Inc. まとめ ● カウシェiOSのこれまでを紹介 ● カウシェiOSの Architecture や Multi Modules 事例を紹介 ● 今後のカウシェアプリの開発体制 ○ 1チーム → 3チーム へ ● 開発体制の拡大に伴い、Architecture 再考や Multi Modules 化を促進していきたい
Slide 29
Slide 29 text
© KAUCHE, Inc.