こんにちは、iOSチームの阿久津(@sky_83325)です。
今回も前回の記事に引き続き、マルチモジュール開発についての記事です。
タイミーでは2019年7月より、機能単位でFrameworkを分割するマルチモジュール開発に取り組んできました。 現在では全体の約8割がモジュール分割され、27個のモジュールよりアプリが構成されています。
ここ数年でiOSにおけるマルチモジュール開発に対する関心が高まり、多くのプロジェクトで導入され始めているのではないでしょうか。
マルチモジュール化することで次のような恩恵を受けることが出来ます。
- ビルド時間の軽減
- 影響範囲の限定
- ミニアプリを用いた機能単体での動作確認
このような大きな恩恵がある一方で、なんとなく難しそうなイメージがあったり、大規模な開発チームでのみ採用されてる印象があり、導入を見送られているチームも多いのではないでしょうか。
タイミーでは、1~3名という小規模なチームでマルチモジュール開発を続けてきました。 この記事では、実際にそのような小さなチームで運用してみて感じたこと、学んだことを共有したいと思います。
マルチモジュール開発に興味のある方や、実際に導入を検討されている方の参考になれば幸いです。
- マルチモジュール開発とは
- 取り組んだ背景・経緯
- 目的① ビルド時間の短縮
- 目的② ミニアプリの導入による開発時のデバッグ効率の向上
- どのように移行していったのか
- 構成はFeature x Layer形式を採用
- 課題① 既存の密結合な実装
- 課題② 各機能間の画面遷移をどうするか
- 実際に運用してみてどうだったのか
- ビルド時間が短縮された
- 開発時の動作確認が容易になった
- 実装が矯正された
- 仕組みとして疎結合な実装が保証された
- 1. 動作確認(QA)のコストが減った
- 2. 実装のキャッチアップが容易になった
- 3. 負債が限定された
- 終わりに