Defining the app structure and navigation
Before designing the app structure, we must have a basic idea of the features it should include. In our case, we want to have the following:
- A main screen to create new or access already existing conversations
- A list containing all the conversations
- A screen for a single conversation
As this is going to be a production-ready app, we must design its code base while considering that it should be easy to scale and maintain. In that regard, we should use modularization.
Modularization
Modularization is the practice of dividing the code of an application into loosely coupled and self-contained parts, each of which can be compiled and tested in isolation. This technique allows developers to break down large and complex applications into more manageable parts that are easier to maintain.
By modularizing Android applications, modules can be built in parallel, which can significantly improve build time. Additionally,...