Author/developer relations Engineer Manuel Vicente Vivo

As Android applications scale, it becomes important to use architectural code appropriately to scale, improve quality and robustness, and make them easier to test.

Application architecture defines the boundaries between application parts and the responsibilities of each part. This follows the principle of separation of concerns and helps to achieve the above advantages.

In response to community demand for updated guidance on application architecture, we have released a revised application Architecture guide that includes best practices and recommended architectures for building robust, high-quality applications. The guide also provides instructions for the various layers of the recommendation architecture: the interface layer, the domain layer, and the data layer. You can find in-depth discussions on more complex topics, such as how to handle interface events.

Every Android app should have at least two layers:

  • The interface layer that displays application data on the screen.
  • The data layer that contains application business logic and exposes application data.

You can add an additional domain layer to simplify and reuse the interaction between the interface and the data layer.

A general diagram of a typical application architecture.

The interface layer retrieves application data from an optional domain layer or data layer that exposes application data.

We have created a learning plan to help you understand these in order and in a traceable way.

You can also get badges when you complete the study.

Choose what works better for you

If you are a beginner, you should first understand the benefits of having an application architecture, then follow these recommendations as the preferred way to delve into your topic. Intermediate and advanced developers can follow these recommendations and customize them to their own needs. In fact, our research shows that most professional developers are already using these best practices.

You may be wondering if you should update your existing architecture to follow this recommendation, and the answer is… That’s up to you. If your current architecture works for your team, there’s nothing wrong with staying the same. However, it’s also possible that you can find something in our guide that you can benefit from and incorporate into your application.

Looking forward to more exciting

These are our first releases, with more to come throughout the year. You are welcome to help us improve the guide! If you have any feedback on the current recommendations, or if you would like to see other architecture-related topics included, please let us know on the official Issues Tracking page. You are welcome to stay tuned for more updates.