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

【iOSエンジニア特集】 iOSアプリ開発の裏側 開発組織が向き合う課題とこれから - 株式会...

【iOSエンジニア特集】 iOSアプリ開発の裏側 開発組織が向き合う課題とこれから - 株式会社カウシェ

Avatar for Akifumi Fukaya

Akifumi Fukaya

May 20, 2025
Tweet

More Decks by Akifumi Fukaya

Other Decks in Technology

Transcript

  1. ⾃⼰紹介 • 名前 ◦ 深⾕ 哲史 (Akifumi Fukaya) • 会社

    ◦ 株式会社カウシェ (2020/07 ~ ) • 役割 ◦ Engineering Manager (Mobile) • アカウント ◦ X: @akifumifukaya ◦ Facebook: fukaya.akifumi ◦ YOUTRUST: akifumi ◦ GitHub: akifumi
  2. 技術スタック 開発言語 Swift, Kotlin, Go アーキテクチャ MVVM, Clean Architecture UIフレームワーク

    SwiftUI, Jetpack Compose インフラ Google Cloud 構成管理 Terraform 分析基盤 BigQuery モニタリング Firebase Crashlytics, Firebase Monitoring, Cloud Monitoring, Cloud Trace CI/CD Bitrise, GitHub Actions 開発ツール Notion, Slack, GitHub デザイン Figma Cloud Run Pub/Sub Cloud Spanner Firestore Cloud Storage Cloud Load Balancing BigQuery Cloud Logging Cloud Monitoring Cloud Scheduler Trace
  3. 課題①:レガシーコード改善 課題感 • 2020年9⽉ カウシェ v1.0.0 リリースしてから4年半が経過 ◦ リリース当初から SwiftUI

    を採⽤しているが、アップデートの追従が⼤変 • アーキテクチャやパッケージ構成はレガシー化 ◦ SwiftUI + MVVM + XcodeGen • 上記の改善に取り組みやすいアーキテクチャの⼟壌作り ◦ 新しい技術の採⽤ ◦ 細かく改善していける ◦ 将来、新しいアーキテクチャなどを導⼊しやすい環境
  4. 課題①:レガシーコード改善 解決策:開発と平⾏してレガシーコードを改善できる⼟壌をつくる • レイヤー構成の変更 ◦ Domain, Data, Presentation, Shared レイヤーを作成

    • ディレクトリ構成の変更 ◦ Packages ディレクトリを作成し、上記レイヤーを配置 • Swift Package Manager モジュール設計 ◦ モジュール依存管理を XcodeGen → SPM に徐々に移⾏
  5. 課題③:組織的な開発⽣産性アップ 解決策:両OS 開発を促進する基盤づくり • 両OS 開発 ◦ iOS Engineer /

    Android Engineer が両OS開発できる体制を構築 ◦ 領域を超えた相互レビュー体制 ◦ Cline を活⽤し、両OSの開発を促進 • Monorepo 化 ◦ コードの共有、AI コンテキスト‧ノウハウの共有、PRレビュー‧スイッチングコスト減少 • 組織的な技術⼒向上 ◦ オンボーディングタスク‧勉強会などを実施し、開発知識を増やしていく
  6. • アーキテクチャ改善 ◦ 新しいアーキテクチャ導⼊‧パッケージ構成の変更 • AI 活⽤の加速化 ◦ AI ×

    クロスプラットフォーム開発 模索 ▪ AI 活⽤した iOS/Android 開発を加速するために、Monorepo 化を選択 ▪ コードベース統合‧AI ルール整備‧フォーマット整備などにより、両OS 同時開発を模索 ◦ mcp server 連携 ▪ Figma/Notion/Slack mcp → App コード開発 • 品質保証の⾃動化 ◦ UI ⾃動テストによる品質向上 今後の展望