Today we are introducing AndroidStarters, boilerplate for your next Android project, made simple. Handcrafted starter projects from the community, optimised for simplicity and ease of use.
Why was this developed?
I used to be a freelance Android Developer where I worked on new projects every two months. I followed the same architecture for all my projects. Every time I started on a new one, it would easily take 2–4 weeks for configuring various libraries, developing, debugging and hacking.
With every project, I had to go through the same steps of setting up everything again and again. There was a lot of rework and I felt the need to eliminate it.
To eliminate all this re-work I created a Yeoman generator: generator-android-mvp-starter, which would get my project up and running within minutes. I had everything configured to my taste, the architecture, libraries, tools, testing suite, etc. This not only solved my problems, it saved me a lot of time and increased my productivity.
But I wanted more. I wanted the Android community to benefit from this. After talking to a lot of Android developers, I realised that most people didn’t want to go through the hassle of installing additional tools like node.js, yeoman, etc. All they wanted was a project that could be imported straight into Android Studio.
AndroidStarters to the rescue
A nifty web app that abstracts all the complexity behind a simple 3-step process:
- Provide app name and package
- Choose your architecture
- Hit Build!
Just another bootstrap/boilerplate project?
No. This isn’t another bootstrap project. There are loads of good boilerplate examples available on Github.
Most of the boilerplate/bootstrap projects, don’t have way to create a new project. You have to manually rename packages, resources, etc. which is highly error prone.
AndroidStarters allows you to use any of those bootstrap projects and create a new one all setup and ready for use. The app generation process goes through the selected architecture’s source code and replaces app name, package names, imports and what not in future. It also generates the project structure with the package name specified.
We’ve included a few architecture samples from the Android community which you can choose to generate a new project with your app name and package. If you have any other architecture in mind, please open an issue on androidstarters.com to get it added. Also, do check out our Architectures Roadmap.
Behind the magic
I learnt Android app developing through Donn’s TekPub course, way back in the day. Thanks to Donn for inspiring lots of developers around the world.
- Add more architecture samples
- Sample for Google’s New Android Architecture Components
- Provide an option for developer to COMPOSE the project as per his needs. e.g: Enter AppName->Enter PackageName-> Provide options to select and configure all the libraries.
- Create Android Studio templates for AndroidStarters.
- Create real world starters, E-commerce Starter, Chat Starter etc.
Thanks to all Android Architecture Evangelists
- Jake Wharton for his u2020 app which showcases advanced usage of Dagger among other open source libraries.
- Joe Birch for his awesome android-boilerplate which opened eye on testing for lots of developers.
- Fernando Cejas for his Clean Architecture which lead to new way to create project with multiple modules.
- Pedro Vicente Gómez Sánchez for this EffectiveAndroidUI shows some of the best Android practices to work in the Android UI Layer
- Jose Alcérreca for maintaining googlesamples for various architectures.
- Florina Muntenescu for MVVM talk on Droidcon
Entire source code androidstarters.com is open-source. Please feel free to contribute.
androidstarters.com - Kickstart your next Android Application in 10 seconds.
android-starter - [Android Architecture] Android starter based on MVP/Dagger2/RxJava2/Robolectric/Espresso/Mockito. It…
kotlin-android-starter - [Kotlin Android] Kotlin Android starter based MVP/Dagger2/RxJava2/Robolectric/Espresso/Mockito…
If you liked this post, hit the 👏 . Stay tuned for the next one!
Also share AndroidStarters and give us some feedback in the comments below.