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

20220713-kauche-techtalk-lt

 20220713-kauche-techtalk-lt

Akifumi Fukaya

July 13, 2022
Tweet

More Decks by Akifumi Fukaya

Other Decks in Programming

Transcript

  1. © KAUCHE, Inc. 自己紹介 • 名前 ◦ 深谷哲史 (ふかや あきふみ)

    • 会社 ◦ 株式会社カウシェ (2020/07 ~ ) • 役職 ◦ 取締役CPO • アカウント ◦ Twitter: @akifumifukaya ◦ Facebook: Akifumi Fukaya ◦ GitHub: akifumi
  2. © KAUCHE, Inc. カウシェiOSのこれまで リリース時は、iOS 13.0+ 現在は、iOS 14.0+ サポートiOSバージョン 2ヶ月

    初期開発期間 2022/09/01 リリース日 1年10ヶ月 リリースから 52回 リリース数 13.15日 平均リリース間隔
  3. © KAUCHE, Inc. • SwiftUI と UIKit の両方を使用 • 可能な限り

    SwiftUI を使用し開発 • 実現できないところは UIKit を使用 • UIKit ◦ UIRefreshControl / 認証画面 / CollectionView / 設定画面 / WebView など • SwiftUI ◦ 大半の画面は SwiftUI.View で作成 View
  4. © KAUCHE, Inc. Multi Modules • KaucheCoreKit • KaucheAPIKit •

    KaucheShopifyKit • KaucheDesignKit • KaucheMockKit • Kauche
  5. © KAUCHE, Inc. Multi Modules • KaucheCoreKit ◦ 全モジュール/全レイヤーから参照され、基盤となる Framework

    ◦ 全モジュールの共通言語となるインターフェースや ツールを搭載している ◦ インターフェース ▪ Models ▪ Protocols ◦ ツール ▪ Extensions ▪ Utilities • KaucheAPIKit • KaucheShopifyKit • KaucheDesignKit • KaucheMockKit • Kauche
  6. © KAUCHE, Inc. Multi Modules • KaucheCoreKit • KaucheAPIKit ◦

    API通信を行うFramework ◦ 役割 ▪ KAUCHE サーバーとの通信を担っている ▪ 通信プロトコルの隠蔽 ▪ KaucheCoreKit.Models にマッピングし、返 す • KaucheShopifyKit • KaucheDesignKit • KaucheMockKit • Kauche
  7. © KAUCHE, Inc. Multi Modules • KaucheCoreKit • KaucheAPIKit •

    KaucheShopifyKit ◦ Shopifyとの通信を行うFramework ◦ 役割 ▪ Shopifyとの通信を隠蔽 ▪ KaucheCoreKit.Models にマッピングし、返 す • KaucheDesignKit • KaucheMockKit • Kauche
  8. © KAUCHE, Inc. Multi Modules • KaucheCoreKit • KaucheAPIKit •

    KaucheShopifyKit • KaucheDesignKit ◦ カウシェのデザインコンポーネントを保持 ◦ Colors, Styles, UI Components を有する • KaucheMockKit • Kauche
  9. © KAUCHE, Inc. Multi Modules • KaucheCoreKit • KaucheAPIKit •

    KaucheShopifyKit • KaucheDesignKit • KaucheMockKit ◦ カウシェのモックデータを定義する Framework ◦ Previews, Unit Tests などで使用 • Kauche
  10. © KAUCHE, Inc. Multi Modules • KaucheCoreKit • KaucheAPIKit •

    KaucheShopifyKit • KaucheDesignKit • KaucheMockKit • Kauche ◦ カウシェのアプリケーション ◦ 現在は、全Featureのコードが置いてある ◦ 将来的には、各 Featureごとにモジュールを分割し、 Kauche モジュールはアプリケーションのみにできる ように薄くしていきたい ◦ そうすることで、よりチーム開発がしやすい状態を目 指す
  11. © KAUCHE, Inc. まとめ • カウシェiOSのこれまでを紹介 • カウシェiOSの Architecture や

    Multi Modules 事例を紹介 • 今後のカウシェアプリの開発体制 ◦ 1チーム → 3チーム へ • 開発体制の拡大に伴い、Architecture 再考や Multi Modules 化を促進していきたい