When it comes to Android development, there are a lot of interesting and unique ways to create an application. To help developers navigate their way through the ever-increasing Android Landscape, Google has put together the Android Architecture Blueprints.

“The Android framework offers a lot of flexibility when it comes to defining how to organize and architect an Android app,” according to the project’s GitHub page. “This freedom, whilst very valuable, can also result in apps with large classes, inconsistent naming and architectures (or lack of) that can make testing, maintaining and extending difficult. Android Architecture Blueprints is meant to demonstrate possible ways to help with these common problems. In this project we offer the same application implemented using different architectural concepts and tools.”

The GitHub project features samples developers can use as a reference and starting point when beginning to develop their own applications. Samples feature code structure, architecture, testing and maintainability. The project does note that there are still plenty of ways developers can build their apps, and the examples it provides shouldn’t be seen as “canonical examples.”

The blueprints are still in the beta phase, meaning the team is still making changes that could impact all samples.

“The aim of the app is to be simple enough that it’s understood quickly, but complex enough to showcase difficult design decisions and testing scenarios,” according to the GitHub page.

Top 5 projects trending on GitHub this week (it’s back!)
Mars: A cross-platform infrastructure component.

#2. FreeCodeCamp: We knew the open-source codebase and curriculum would still be here!

#3. Google Interview University: A daily plan for developers looking to become a Google software engineer.

#4. Machine Learning for Software Engineers: A multi-month plan for becoming a machine learning engineer. We featured this as the No. 1 trending GitHub project of the year!

#5. Awesomo: A list of awesome open-source projects in programming languages such as C, C++ Golang, JavaScript Python and R.