Firebase Android Series: Learning Firebase from zero to hero

Francisco García Sierra
ProAndroidDev
Published in
3 min readJun 10, 2018

--

As a lot of you may know, Firebase is a mobile and web application development platform founded by Firebase, Inc. in 2011, then acquired by Google in 2014. In a few years it has grown to be one of the most powerful platforms to help developers make their ideas real by providing a vast set of tools to develop and improve their projects.

At this point you should be asking yourself : why should I use Firebase?

Firebase provides a wide array of features that greatly simplify app and web development. Some of these features include:

  • Firebase authentication: provides backend services, easy-to-use SDKs, and ready-made UI libraries to authenticate users to our apps.
  • Firebase realtime database: cross-platform cloud-hosted database. Data is stored as JSON and synchronized in realtime to every connected client.
  • Cloud messaging: cross-platform messaging solution that lets you reliably deliver messages at no cost.
  • Analytics: free app measurement solution that provides insight on app usage and user engagement.
  • Storage: powerful, simple, and cost-effective object storage service built for Google scale.
  • Crashlytics: realtime crash reporter that helps you track, prioritize, and fix stability issues that erode our app quality.

These and many other features that Firebase includes will allow us to focus in what really matters: to bring our ideas to life.

In this series, we are going to build an Android-based chat application from scratch. In order to build it, we are going to use Kotlin as programming language and Firebase for everything else (backend, analytics, cloud messaging, storage, crash reporting….)

The aim of these articles is to learn how to use the tools that Firebase provides so you can learn about them and integrate them in your new or existing projects.

The series is divided in 10 parts which address the following topics:

  • Creating a login — Firebase Authentication
  • Sending and retrieving messages — Firebase Firestore
  • Wow, there is an error — Crashlytics
  • Uploading and downloading images — Firebase Storage
  • Adding tests — Firebase Test Lab
  • Updating profile — Firebase Cloud Functions
  • Sending notifications— Firebase Cloud Messaging
  • Inviting new users — Firebase Dynamic Links
  • Checking application performance — Firebase Performance
  • How are our users using the app? — Firebase Analytics

--

--