Posted by Miłosz Moczkowski, Developer Relations Engineer, Android
As your app grows in dimension and complexity, it turns into more and more tough to handle, construct and scale. One approach to deal with this problem is a software program approach known as modular programming, or modularization in brief. It’s a observe of organizing a codebase into loosely coupled and unbiased entities – modules.
We all know that modularization has been a sizzling matter among the many Android builders neighborhood for fairly a while now. Lately, we ran a survey to ask you about your experiences on this matter. 86% of builders stated that they work on multi-module codebases often, whereas over 90% acknowledged that modularization is a observe they might advocate contemplating.
All massive apps are basically modular, and at Google, we’ve been using modularization to develop our hottest purposes similar to YouTube, Play Retailer or Google Information. That is what Google Information workforce has to say about this observe:
“Modularity of code is essential to managing complexity, stability, readability, and testability in an ever-growing codebase.”
Alternatively although, over 54% responders talked about that it’s tough to search out good studying supplies on this matter and nearly 95% claimed that at the moment accessible supplies on developer.android.com are inadequate! In response to this fashionable demand, we’ve launched the information to Android app modularization. The information is break up into two elements. The overview web page offers you a excessive degree, theoretical overview of the matter and addresses the next questions:
- What’s modularization?
- What are the advantages of modularizing my codebase?
- What are the issues to be careful for when modularizing?
- Is modularization the correct approach for you?
The widespread modularization patterns web page dives deep into sensible examples within the context of the fashionable Android structure and provides reply to the these issues:
- What’s the low coupling & excessive cohesion precept?
- What are the forms of modules and their roles?
- How do modules move knowledge between one another?
To see modularization in motion, try the Now in Android challenge. It is a absolutely purposeful app which has a multi-module codebase, and there is a helpful modularization studying journey which outlines what the modules do and the way they impart with one another.
Is that this for you?
This modularization information is focused to intermediate and superior builders. The information focuses on modularization from a software program structure standpoint. In the event you’re a newbie, solely beginning your Android developer journey, it is best to familiarize your self with our information to app structure first. Modularization information assumes you’re aware of our beneficial app structure.
It’s only a starting
We’re not completed but. With modularization being such a large matter, the 2 just lately launched pages are solely a starting. Assist us form the steerage by giving us suggestions and telling us which points you need us to cowl. You will discover us on social media or use the documentation difficulty tracker to report bugs.