Session

継続的に機能開発を進めながら行うマルチモジュール化

2017年頃からアプリケーションのマルチモジュール化による利点が多く得られるようになった.特に「差分ビルドのビルド時間短縮化」「InstantAppやDynamicFeatureModuleの導入可能」「モジュール依存関係グラフのDAG化」といった利点が語られる.これらの利点は肥大化したアプリケーション上で高速に開発を行う上での助けになったり,ユーザ体験を向上させる手助けとなったりする.

一方で,これまで大部分をアプリケーションモジュール(:app)で開発されてきたアプリケーションを,容易にマルチモジュール化することは難しい.特にMVVMやFluxといったルールを明確化したアーキテクチャに乗っていない場合は問題が顕著だ.また,並行してマルチモジュール化とは本質的に無関係な機能改善を進めていく必要がある場合,問題はさらにややこしくなる.

本セッションでは上に挙げた実体験を基にどのようにしてマルチモジュール化を進めていったのかを時系列順に,そのハマりどころと解決方法を中心に紹介する.

<アジェンダ(仮)>
- マルチモジュールとは何で,導入するとどう嬉しいのか?
- はじめの一歩は:appから:legacyへ
- ApplicationモジュールとLibraryモジュールの違いによって生じる問題
- Flavor,buildType,BuildConfigのマルチモジュールでの取り扱い
- 共通リソースのモジュール化とそのハマりどころ
- マルチモジュールとJetPack 〜どのようなライブラリの導入効果が高いのか〜
- 意味境界としてのモジュール分割 〜モジュール分割戦略〜
- 継続的な機能開発との共存法
- TBD

Kazuki Chigita

Android Application Developer

Actions

Please note that Sessionize is not responsible for the accuracy or validity of the data provided by speakers. If you suspect this profile to be fake or spam, please let us know.

Jump to top