Upgrade to Pro — share decks privately, control downloads, hide ads and more …

PAUG - Modularization : pitfalls & best practices

Avatar for Eliott Lujan Eliott Lujan
June 09, 2022
72

PAUG - Modularization : pitfalls & best practices

Liens utiles :

- NowInAndroid : https://github.com/android/nowinandroid

- Gradle Configuration Cache : https://docs.gradle.org/current/userguide/configuration_cache.html

- Plugin Module Graph Assert : https://github.com/jraska/modules-graph-assert

- Slack Gradle Plugin : https://github.com/slackhq/slack-gradle-plugin

- Slides du talk DroidCon sur la Modularization : https://speakerdeck.com/siggijons/modularization-siggi-jonsson

- Gradle Enterprise : https://gradle.com/

- Vidéo Hilt Under the Hood : https://www.youtube.com/watch?v=VOvwAKTRJk8

Avatar for Eliott Lujan

Eliott Lujan

June 09, 2022

Transcript

  1. The Monolith • Hard to organize • Hard to comprehend

    • Spaghetti code, everything is accessible
  2. The Monolith • Hard to organize • Hard to comprehend

    • Spaghetti code, everything is accessible • Maintainability & Testability
  3. The Monolith • Hard to organize • Hard to comprehend

    • Spaghetti code, everything is accessible • Maintainability & Testability • No clear boundaries / ownership
  4. The Monolith • Hard to organize • Hard to comprehend

    • Spaghetti code, everything is accessible • Maintainability & Testability • No clear boundaries / ownership • Git conflicts
  5. The Monolith • Hard to organize • Hard to comprehend

    • Spaghetti code, everything is accessible • Maintainability & Testability • No clear boundaries / ownership • Git conflicts • Longer build times
  6. Sample Apps aka Demo Apps or Dev Apps A small

    app designed to run a single feature
  7. Configurable launcher • Not part of the Main App •

    Test multiple scenarios • Quickly access your screen
  8. Configurable launcher • Not part of the Main App •

    Test multiple scenarios • Quickly access your screen • Experiments
  9. Recap Practices “Good” & “Bad” Modules, Critical Path, Gradle Enterprise

    Tooling Scripts, Type-safe project accessors, Gradle Catalog, Configuration Caching, Module Graph Assert
  10. Recap Tooling Scripts, Type-safe project accessors, Gradle Catalog, Configuration Caching,

    Module Graph Assert Practices “Good” & “Bad” Modules, Critical Path, Gradle Enterprise Sample Apps How to, Hilt, Configurable Launchers