Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
20220713-kauche-techtalk-lt
Search
Akifumi Fukaya
July 13, 2022
Programming
0
340
20220713-kauche-techtalk-lt
Akifumi Fukaya
July 13, 2022
Tweet
Share
More Decks by Akifumi Fukaya
See All by Akifumi Fukaya
【iOSエンジニア特集】 iOSアプリ開発の裏側 開発組織が向き合う課題とこれから - 株式会社カウシェ
akifumifukaya
0
740
LT: KaucheMockKit 導入した話
akifumifukaya
0
140
iOSDC21
akifumifukaya
7
8.7k
MVVM with Combine
akifumifukaya
2
730
MVVM with Combine in SwiftUI
akifumifukaya
6
2.3k
MVVM overview
akifumifukaya
5
1.2k
UIViewController in XIB + IBDesignable
akifumifukaya
2
3.4k
Other Decks in Programming
See All in Programming
KotlinConf 2025 現地参加の土産話
n_takehata
0
100
エラーって何種類あるの?
kajitack
5
260
赤裸々に公開。 TSKaigiのオフシーズン
takezoux2
0
140
事業戦略を理解してソフトウェアを設計する
masuda220
PRO
22
6.2k
Development of an App for Intuitive AI Learning - Blockly Summit 2025
teba_eleven
0
120
Benchmark
sysong
0
220
データの民主化を支える、透明性のあるデータ利活用への挑戦 2025-06-25 Database Engineering Meetup#7
y_ken
0
260
Cline指示通りに動かない? AI小説エージェントで学ぶ指示書の書き方と自動アップデートの仕組み
kamomeashizawa
1
550
無関心の谷
kanayannet
0
180
Beyond Portability: Live Migration for Evolving WebAssembly Workloads
chikuwait
0
380
Cursor AI Agentと伴走する アプリケーションの高速リプレイス
daisuketakeda
1
120
AWS CDKの推しポイント 〜CloudFormationと比較してみた〜
akihisaikeda
3
280
Featured
See All Featured
Faster Mobile Websites
deanohume
307
31k
Practical Orchestrator
shlominoach
188
11k
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
10
920
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
161
15k
Understanding Cognitive Biases in Performance Measurement
bluesmoon
29
1.8k
Building Better People: How to give real-time feedback that sticks.
wjessup
367
19k
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
124
52k
VelocityConf: Rendering Performance Case Studies
addyosmani
330
24k
StorybookのUI Testing Handbookを読んだ
zakiyama
30
5.8k
Statistics for Hackers
jakevdp
799
220k
Optimizing for Happiness
mojombo
379
70k
Navigating Team Friction
lara
187
15k
Transcript
© KAUCHE, Inc. シェア買いアプリ「カウシェ」iOSの裏側とこれから
© KAUCHE, Inc. 自己紹介 • 名前 ◦ 深谷哲史 (ふかや あきふみ)
• 会社 ◦ 株式会社カウシェ (2020/07 ~ ) • 役職 ◦ 取締役CPO • アカウント ◦ Twitter: @akifumifukaya ◦ Facebook: Akifumi Fukaya ◦ GitHub: akifumi
© KAUCHE, Inc. アジェンダ • カウシェiOSの概要 • Architecture • Multi
Modules • iOS開発体制 • まとめ
© KAUCHE, Inc. カウシェiOSのこれまで
© KAUCHE, Inc. カウシェiOSのこれまで リリース時は、iOS 13.0+ 現在は、iOS 14.0+ サポートiOSバージョン 2ヶ月
初期開発期間 2022/09/01 リリース日 1年10ヶ月 リリースから 52回 リリース数 13.15日 平均リリース間隔
© KAUCHE, Inc. リリース時の詳細は https://note.com/akifumifukaya/n/n0173d78ab821
© KAUCHE, Inc. 内部実装
© KAUCHE, Inc. • SwiftUI と UIKit の両方を使用 • 可能な限り
SwiftUI を使用し開発 • 実現できないところは UIKit を使用 • UIKit ◦ UIRefreshControl / 認証画面 / CollectionView / 設定画面 / WebView など • SwiftUI ◦ 大半の画面は SwiftUI.View で作成 View
© KAUCHE, Inc. Architecture
© KAUCHE, Inc. MVVM
© KAUCHE, Inc. MVVM > 商品詳細画面
© KAUCHE, Inc. 簡易的な Clean Architecture
© KAUCHE, Inc. さらに詳細は Proposal: https://fortee.jp/iosdc-japan-2021/proposal/c7021c6b-2732-4a20-9f8a-a82d53e89526 YouTube: https://youtu.be/Ym8CXbk3y8Q
© KAUCHE, Inc. Multi Modules
© KAUCHE, Inc. Multi Modules
© KAUCHE, Inc. Multi Modules • KaucheCoreKit • KaucheAPIKit •
KaucheShopifyKit • KaucheDesignKit • KaucheMockKit • Kauche
© KAUCHE, Inc. Multi Modules • KaucheCoreKit ◦ 全モジュール/全レイヤーから参照され、基盤となる Framework
◦ 全モジュールの共通言語となるインターフェースや ツールを搭載している ◦ インターフェース ▪ Models ▪ Protocols ◦ ツール ▪ Extensions ▪ Utilities • KaucheAPIKit • KaucheShopifyKit • KaucheDesignKit • KaucheMockKit • Kauche
© KAUCHE, Inc. Multi Modules • KaucheCoreKit • KaucheAPIKit ◦
API通信を行うFramework ◦ 役割 ▪ KAUCHE サーバーとの通信を担っている ▪ 通信プロトコルの隠蔽 ▪ KaucheCoreKit.Models にマッピングし、返 す • KaucheShopifyKit • KaucheDesignKit • KaucheMockKit • Kauche
© KAUCHE, Inc. Multi Modules • KaucheCoreKit • KaucheAPIKit •
KaucheShopifyKit ◦ Shopifyとの通信を行うFramework ◦ 役割 ▪ Shopifyとの通信を隠蔽 ▪ KaucheCoreKit.Models にマッピングし、返 す • KaucheDesignKit • KaucheMockKit • Kauche
© KAUCHE, Inc. Multi Modules • KaucheCoreKit • KaucheAPIKit •
KaucheShopifyKit • KaucheDesignKit ◦ カウシェのデザインコンポーネントを保持 ◦ Colors, Styles, UI Components を有する • KaucheMockKit • Kauche
© KAUCHE, Inc. Multi Modules • KaucheCoreKit • KaucheAPIKit •
KaucheShopifyKit • KaucheDesignKit • KaucheMockKit ◦ カウシェのモックデータを定義する Framework ◦ Previews, Unit Tests などで使用 • Kauche
© KAUCHE, Inc. Multi Modules • KaucheCoreKit • KaucheAPIKit •
KaucheShopifyKit • KaucheDesignKit • KaucheMockKit • Kauche ◦ カウシェのアプリケーション ◦ 現在は、全Featureのコードが置いてある ◦ 将来的には、各 Featureごとにモジュールを分割し、 Kauche モジュールはアプリケーションのみにできる ように薄くしていきたい ◦ そうすることで、よりチーム開発がしやすい状態を目 指す
© KAUCHE, Inc. 未来の Multi Modules
© KAUCHE, Inc. iOS開発体制
© KAUCHE, Inc. iOS開発体制 akifumi 1人 複業 3人 2020.09 2022.07
© KAUCHE, Inc. 未来のiOS開発体制 Customer Team Commerce UX Team Social
UX Team Growth Team 現在 未来
© KAUCHE, Inc. まとめ
© KAUCHE, Inc. まとめ • カウシェiOSのこれまでを紹介 • カウシェiOSの Architecture や
Multi Modules 事例を紹介 • 今後のカウシェアプリの開発体制 ◦ 1チーム → 3チーム へ • 開発体制の拡大に伴い、Architecture 再考や Multi Modules 化を促進していきたい
© KAUCHE, Inc.