Forging the path from monolith to multi-module app
Abstract:
Going from a monolith to a multi-module project is a long process, that requires careful planning and a well-thought strategy, especially in medium-large teams.The TIER application is evolving to a multi-module structure and this talk will be the logbook of the journey, covering the approach that we followed and the philosophy behind the choices that we’ve made with both the mobile platforms in mind.
I will tell you how to balance the entire process without harming the regular feature delivery schedule, where to start modularizing and improvements to the build tools to make life less miserable.
Slides:
Resources:
Navigation best practices for multi-module projects
https://developer.android.com/guide/navigation/navigation-multi-moduleANDROID AT SCALE @SQUARE
https://www.droidcon.com/2019/11/15/android-at-scale-square/Why did we move away from Navigation Component?
https://medium.com/inside-aircall/why-did-we-move-away-from-navigation-component-f2160f7c3f4bslack-gradle-plugin
https://github.com/slackhq/slack-gradle-pluginCookiecutter
https://github.com/cookiecutter/cookiecutterSharing dependency versions between projects
https://docs.gradle.org/current/userguide/platforms.htmlModularization learning journey
https://github.com/android/nowinandroid/blob/main/docs/ModularizationLearningJourney.mdStabilize, Modularize, Modernize: Scaling Slack’s Mobile Codebases
https://slack.engineering/stabilize-modularize-modernize-scaling-slacks-mobile-codebases/Scaling Slack’s Mobile Codebases: Modularization
https://slack.engineering/stabilize-modularize-modernize-scaling-slacks-mobile-codebases-2/Scaling Slack’s Mobile Codebases: Modernization
https://slack.engineering/scaling-slacks-mobile-codebases-modernization/Modularization - How hard can it be? by Elin Nilsson
https://www.youtube.com/watch?v=K65M6jpyN4YGuide to Android app modularization
https://developer.android.com/topic/modularizationNow In Android - Convention Plugins
https://github.com/android/nowinandroid/tree/main/build-logicHerding Elephants
https://developer.squareup.com/blog/herding-elephants/