Which library and backend do you need for your next Android App?
Don’t reinvent the wheel, create on top of existing libraries
When you create a new Android Application, you need to figure out which components or library you need to use. This article will give you the best resources to choose from.
Use the resources we can access is not a shortcut, it is a strategy, so let’s be smart
Which Backend do you need?
If our application will have a Login/Registration Feature or a place to save some data, we will probably need a Backend.
There are two ways to have a Backend. The first way is to develop an application and deploy it on a server. The second way which I recommend if you want to save time is use BAAS(Backend as a Service) which can be self hosted or not.
Here are the 4 best BAAS you can use:
1. Amazon web service Mobile
- Backed by Amazon, trusted by top apps (Netflix, Periscope, Airbnb)
- A lot of features including Notification, Authentication, Cloud Storage, data warehousing, Device Farm
- SDK for a lot of platform including iOS, Android, Xamarin, React Native, Unity
- A free plan to begin with
2. Firebase
- Backed by Google, trusted by top apps (Musixmatch, Runtastic, Shazam)
- A lot of features including Realtime Database, Crash Reporting, Authentication, Cloud Storage, Hosting, Test Lab for Android
- A free plan to begin with
3. parse platform
- Opensource Self hosted backend server
- SDK for a lot of platform including Android, iOS, Javascript, .Net + Xamarin, Unity, Arduino.
4. Back4App
- Boosted cloud hosted parse server
- A lot of features including LiveQuery Real Time Database, Analytics Dashboard, Version Control, Command Line tool, Multi-App Tenancy, Teams & Collaboration
- A free plan to begin with
Now we have a backend, let’s go straight to the the libraries we need.
Which Libraries do you need?
Here are the most useful Open source Libraries.
1. Dagger 2
From: Google
Description: compile-time evolution approach to dependency injection.
Find it here: https://github.com/google/dagger
Useful for: Dependency injection Principle
2. LeakCanary
From: SQUARE
Description: A memory leak detection library for Android and Java.
Find it here: https://github.com/square/leakcanary
Useful for: memory leak detection
3. Retrofit
From: SQUARE
Description: A type-safe HTTP client for Android and Java.
Find it here: http://square.github.io/retrofit
Useful for: REST API consumption
4. Butter Knife
From: JakeWharton
Description: Field and method binding for Android views.
Find it here: http://jakewharton.github.io/butterknife
Useful for: eliminate boiler plate code around View binding.
5. RxJava
From: ReactiveX
Description: Java VM implementation of ReactiveX (Reactive Extensions): a library for composing asynchronous and event-based programs by using observable sequences.
Find it here: https://github.com/ReactiveX/RxJava
Useful for: effective asynchronous and event-based programming.
Alternatives for Beginner Android Developers: EventBus
6. Picasso
From: SQUARE
Description: A powerful image downloading and caching library for Android.
Find it here: http://square.github.io/picasso/
Useful for: Image download and cache management
Alternatives good libraries: Fresco and Glide
7. Lottie
From: airbnb
Description: Render After Effects animations natively on Android and iOS, Web, and React Native.
Find it here: https://github.com/airbnb/lottie-android
Useful for: animation
8. hugo
From: JakeWharton
Description: Annotation-triggered method call logging for your debug builds.
Find it here: https://github.com/JakeWharton/hugo
Useful for: smart logging for debug builds
Conclusion
So far, we have learned about the importance of using existing open source libraries and Backend components. We also saw the useful ones.
If you know other interesting Android libraries or Backend Components, let a comment below. Thank for reading.
Now I challenge you use one o the libraries or Backend component listed in this article in your next application and until then my friend may the {code} be with you!
How to sketch an Android App? ← BEFORE
NEXT → Documenting My Android Adventure
A big thanks to everyone involved in proofreading this post!
Before you go… If you enjoyed this post, you will love to subscribe to my newsletter. Get my cheat sheet: “Android Studio keyboard shortcuts cheat sheet”.