Architecture is a critical element of any software application. In many ways, it defines the way an application works and moves further. Every architecture, in one way or another, is bound to make sense in a particular project.

Good architecture is a like tight ball with no spare parts hanging out: everything is in the right place and interconnected, ticking like a clock and fitting like a glove.

However, software architecture is not something where one can reinvent the wheel. And there is no need for that. It is more a combining of the blocks than anything else.

What is a boilerplate?

Every project starts with a foundation. This foundation counts in numerous factors, write in a number of scenarios and includes effective solutions for various tasks. Every element is refined over time until it is deemed foolproof. Over time, project after project — companies collect enough various solutions to form a particular set of templates to be used as a foundation.

These templates are known as boilerplates.

Why they exist? In many cases, it is inappropriate to start everything from scratch. Because of that developers compose templates for various elements of the application. These templates are results of many tries and fails as well as multiple projects - basically, cream of the crop.

Since the majority of the projects are functioning more or less in the same way - it is far more reasonable to construct their foundational elements from a boilerplate than to write the same code again.

Boilerplates are useful from multiple standpoints:

Boilerplates are like a starter project.

With a boilerplate, developers can save time on forming a clean architecture and fully concentrate on the development, refinement, and testing of specific features.

Boilerplate is tried and tested solution that had already proven its worth.

Streamlined and unified structure of the boilerplate makes it instantly accessible for the new members of the team.

Android App Boilerplate Code

Boilerplate isn’t just a code per se, it’s a set of instruments (including code). This is a ready-to-use Android template that The APP Solutions company app developers use as a foundation for new Android projects (based on Java, not Kotlin Android). It is an amalgamation of many years of experiments and lots of different projects into a refined, rock-solid foundation.

Get the Android App Starter Boilerplate here.

This boilerplate has every single utility you need to start your own application. It is a vessel. All you need to do is to fill it with your idea and roll on. Every element is designed in a way so that it could function from the get-go and can be changed without breaking anything.

You might ask “If it is that good, why are sharing?”. Well, the answer is plain and simple, we are sharing because we think it might help in one way or another.

That is what The APP Solutions is standing for — we are ready to share our knowledge as it can serve as a catalyst for something unexpected.

This repository was developed by The App Solutions Android team: Severyn, Dmytro, and Viktor.

Do you want to know more about Anroid or IOS development? Check out our article.

Some of the solutions were inspired by boilerplate examples of Ribot Android Boilerplate, Google Android Blueprints, android10 Clean Architecture and others. Certain elements were modified.