新規機能開発からモジュール分割を始めてみる by Ryo Izumi

iOSDC Japan 2020
採択
2020/09/20 13:20〜
Track C
レギュラートーク(20分)

新規機能開発からモジュール分割を始めてみる

izm256 Ryo Izumi izm256

最近のモバイルアプリは、1つのアプリ内で多彩な機能を持つものが一般的となってきています。
機能が増えることによってコードベースは肥大化し、ビルド時間の増加や設計の複雑化へと繋がります。

そこでマルチモジュールを採用することで、差分ビルドによるビルド時間の短縮や、モジュール間が疎結合となることでより堅牢な設計への期待が高まります。

しかしながら、長年運用しているサービスにマルチモジュールを導入しようとしても、
どこからモジュールを切り出して良いのか分からない、
既存コードの結合度が高くモジュールへの分割が難しいなど、
導入への障壁が様々考えられます。

また、サービス運営をしていく上で新規機能の開発を止めることも許されず、リファクタだけに工数を割くことも容易ではありません。

そこで我々は、新規開発する機能をモジュールとして切り出すことでマルチモジュール化への第一歩を踏み出すということを実践しました。
このトークでは、7年以上続くアプリの新規機能開発からマルチモジュール化を実践していく中で感じたメリット、デメリットや今後の展望についてお話します。