
2021/09/19 11:30〜
Track A
レギュラートーク(40分)
大規模なアプリのマルチモジュール構成の実践 iOSDC Japan 2021

近年、1つのiOSアプリケーションを複数のモジュールに分割してビルドするマルチモジュール構成を採用したプロジェクトが増えてきています。
我々のアプリでは、過去2年間で、アプリ全体を30個程度のモジュールに分離し、十数名の開発者で年間50回程度のリリースを実現しています。
この構造により、各機能が疎結合になったことや、単機能でのアプリ実行によるビルド時間の高速化、Xcodeの動作速度アップといったDX改善の恩恵を受けることができました。
しかし、その構造を実現するには、モジュール構成のデザインや、依存関係の解決といった技術上の課題も多く存在しました。
また、如何にアーキテクチャを整備できたとしても、チーム全体で日常的に利用していくために、モジュール分離を促進していくための仕組み作りも不可欠です。
本セッションでは、我々のアプリ開発を通して培った、実践的なマルチモジュール開発についての実情をお伝えします。
以下の論点について網羅的にお伝えする予定です。
- マルチモジュール化以前
- なぜマルチモジュール化が必要だったのか
- どのようなマルチモジュール構成に向いているか
- モジュールの構成
- アプリ全体のプロジェクト構成をどのように分離すべきか
- 依存解決
- 型安全なモジュール間の相互依存解決の仕組み
- 外部ライブラリの利用や抽象化
- テストや動作確認環境の整備
- チーム内にモジュール分離を用いた開発を浸透させるには
- コード生成機によるモジュール分離の促進
- ドキュメントやポリシー整備のノウハウ
- メタプログラミングやlinter、コンパイル時チェックを利用した機械的な制約手法