Which library and backend do you need for your next Android App?

Don’t reinvent the wheel, create on top of existing libraries

Wilfried Mbouenda Mbogne
AndroidPub
4 min readDec 27, 2017

--

https://unsplash.com/photos/I8OhOu-wLO4

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”.

--

--

Wilfried Mbouenda Mbogne
AndroidPub

Senior Android Engineer, public speaker. Born in Africa, living in Europe. Work hard, play hard, rest hard www.developer-journey.com #HipHopLover,#TvShow addict