Using Firebase for mobile application development

Firebase mobile application development is one of the easiest way to ensure and develop a high-quality app quickly, grow an engaged user base, and earn more money. Firebase is Google’s unified platform that brings together powerful features for your app, including a mobile backend, analytics, and growth and monetization tools.
Nowadays, mobile doesn’t exist without a backend. That’s pretty much a fact.
Sure, you can point at some applications which are backendless, but these are a minority. Even if you would like to create a simple implementation of tick-tack-toe game, you would probably still require a backend to provide your app with some multiplayer gameplay feature or a board for your scores.
So let’s be honest – it is really important. More than that, a dedicated backend, created specifically for your mobile application is a real treasure for every mobile developer. But what if for some reason you can’t have it?
Luckily, there are some alternatives.

Backend as a Service

There is a friendly term called Mobile Backend as a Service (MBaaS). Usually, services from this group have a couple of features in common. Let’s take a look at the most popular aspects. This include:

  • support for handling push notifications via APNS/GCM
  • mobile app analytics
  • mobile-oriented software development kits (SDKs)
  • support for various user authentication methods
  • cloud storage for static elements (like assets)
  • a database engine

Parse used to be one of the most popular mobile backend services. Unfortunately, on 28th January 2016 Facebook announced that they’re shutting down their product.
Here, at Amazing Workz we’ve decided to take a look at some alternatives or services which provide at least similar functionality. And now we’re going to discuss one of them. This service is called Firebase.

Let us look at the two categories of services and see what Firebase mobile application development has to offer.

Develop and test your application

The key thing, initially, is to develop your mobile application. For this, Firebase mobile application development provides multiple services and its key module here is the Realtime Database. This database is fully managed by Google and is akin to a Database-as-a-Service model. It provides SDKs on popular mobile platforms like Android and iOS, and it’s a breeze to integrate the functionality into your application. The Firebase database allows multiple users to update it and also provides synchronisation across multiple users.

Now, let us understand what more we need from a mobile development perspective in comparison to a Firebase mobile application development. Here are some of the requirements, other than the core business functionality that you are going to build into your application:
1) Collaboration across devices
2) Centralised crash reporting in case of mobile application errors
3) Authentication via multiple Auth providers
4) Use of optional cloud storage and long running back-end processes for some of your mobile app’s functionality
5) Test your app on multiple phone models before release
6) Performance monitoring of your app while it is in the field

Each of the above requirements has a matching service that is provided as part of the Firebase mobile application development, and these are covered below.

Firebase Realtime Database: As mentioned earlier, this is a fully managed real-time database that helps in collaboration by sharing the updates across all the devices that use the database. You can integrate the mobile SDKs into your applications and can get notified of database updates via subscriptions, e.g., write a few lines of Android code and you have a real-time collaboration facility in your application.

Crash reporting: Your mobile applications can report errors via Firebase crash reporting APIs that are available on both iOS and Android. The errors can be viewed in a centralised error console and it even categorises the error reports on the basis of the devices, application versions, OS versions and more.

Firebase Performance Monitoring: Mobile users are very particular about an application’s performance and expect it to perform optimally. Firebase Performance Monitoring is a service that helps you track your app’s performance in multiple areas of network, latency, memory consumption, app start-up time and more. The key is to proactively monitor these attributes and react well before your users report the issue to you. The performance monitoring SDKs are available for both Android and iOS.

Firebase Test Lab: Procuring multiple phones to test your application is a challenge. It is almost impossible to keep up to speed with multiple OS versions, devices and other characteristics. Firebase Test Lab is a service that allows you to test out your application on multiple devices and ensure that it works well before its release to a wider audience. It integrates with Android Studio, Web Browser and Continuous Integration tools. The Test Lab is currently available for Android only, but one of the noted Firebase mobile application development feature.

Firebase cloud functions and storage: Modern applications deal with multiple kinds of data. It is not always structured information and often you might have media formats like files, videos, images, audio and more. This is where Firebase cloud storage comes in, which provides economies of scale and cost, apart from ease of use. There are scenarios in which you might want to test some long running processes or back-end functionality as part of your mobile app but you do not want this to affect the user. Firebase cloud functions allow the user to initiate operations on the app while you can run the functionality in the back-end.

Let’s consider a use case for cloud functions. Say you are developing an imaging mobile app that allows people to upload their pictures. As part of the final image, you might need to generate thumbnails of the images. Instead of doing all this as part of the mobile app and making the user wait, you can simply upload the image into cloud storage. Once the file is uploaded, it can kick off a cloud function that will process the image data and generate multiple thumbnails. All this is done in the background and the user need not wait for it.

Firebase authentication: Mobile apps today need to offer multiple authentication providers so people can use one or more of their online identities for authentication purposes. They might want to use Google, Facebook and other accounts to sign in to your application. Without an easy-to-use SDK that provides simple connectivity to all these authentication providers, it is a challenge to build this into the app. Firebase authentication is the end-to-end identity solution that supports email/password accounts, phone Auth, Google, Twitter, Facebook, GitHub login and more.

Grow and engage your audience

The previous section touched upon the multiple services in Firebase that help you develop and test your application. These services are available both during the development phase and even later, when people are using your mobile application.

To grow and enable your mobile audience, you need multiple features like notifying your users of important events or any subscriptions that they might have in the application. In addition, analytics and advertising is a way that you can potentially understand your audience’s demographics and behaviour in order to release targeted advertisements, which could be a monetisation strategy for you. Some other features include how users can search for your mobile applications, how you can push remote configurations back to the mobile devices and more. The Firebase mobile application development umbrella provides multiple such services, including bringing within its ambit services like AdMob, Adwords and Google Analytics that have been around for several years.

Firebase mobile application development has come a long way and has taken centrestage at the last two Google I/Os, the flagship developer conference of the company, with multiple announcements being made. It provides a complete suite of services for your mobile application needs, with SDKs available on popular mobile platforms to help you build, test, measure, distribute and analyse your mobile applications. If it has been a while since you looked at Firebase, it would be worth checking it out now.

Checkout Firebase case studies.
If you need any technical assistance with your mobile application or cloud services do email us at or visit us at: