How to develop apps 5X quickly with Firebase (also includes the Testing)


What is Firebase

Firebase is a Mobile and Web Application Development platform developed by Firebase, Inc in 2011. Later, it was acquired by Google in 2014.

More technically, Firebase is a Baas short for Backend-as-a-service. Which helps you to build better apps, website or games regardless of server-side coding, API or backend data-storage.

There are many useful products of Firebase that a developer can use to get amazing results. In this article, we will be covering the products that can help you to develop Apps 5 times faster than before.

HIGHLY RECOMMENDED: What is Firebase Remote Config and how to implement it in Android?

Firebase products for developing and testing your app

– We are not including the products with beta versions at the time of publishing this article.

1. Firebase Real-time Database
Firebase Real-Time Database image from

Real-time Database is the way of the future, now most of the servers need HTTP Requests to read or write data. Where most database gives data only when you ask them. But when you are connecting your app to Firebase, you are not connecting through normal HTTP. But through Web Sockets which are a lot faster than HTTP. Data is stored in JSON and synchronized in Realtime to every connected client. When you build cross-platform apps with our iOS, Android, and JavaScript SDKs, all of your clients share one Real-time Database instance and automatically receive updates with the newest data. And When they call it Realtime, they mean it.

Let me make it more understandable with an example, Suppose we are going to develop chat app, where a user can sign-in and chat with their friends. The sign-in part can easily be handled by Firebase Authentication (later described in this article). But for sending and receiving messages, we need a database, except apart from Firebase there are thousands of online database out there but most of them don’t provide the functionality of Real-Time. And without a real-time database, we need to hit the refresh button to check if there is any other message or not, and I think it is scary.

Here comes the most advantage of Real-time Database, it automatically calls a function when a change is happening in the database, and through that function, we can easily create a notification to inform the user about the new message. We don’t need to restart your app or push a button to check if there is any change in the database. That is what we called a REALTIME Database. It can be a lot more helpful for both Apps and Games.

Real-time Database works very fine with even when there is no internet connection, it persists your data to disk. And once, the connectivity is back the client device receives any changes it missed.

Real-time Database supports iOS, Android, Web, C++, and unity

2. Firebase Crash Report

Firebase Crash Report Blog post Image
Error Image from

Whenever an app is crashed, it invites your users to rate the app poorly or uninstall it. Even after testing your app multiple times, it is quite possible that it can get crashed or stop responding to a number of devices depending on different factors.

To avoid that situation, we can use Firebase Crash Report. It is quite easy to implement and tries to show the crashes of your app in Firebase Console as soon as possible. So that you can get rid of the crash before it hit a large number of users.

NOTE: Firebase Crash Report is soon going to be converted in Firebase Crashlytics, which is still a beta version.

Firebase Crash Report supports Android, iOS only.

3. Firebase Cloud Storage
Firebase Cloud Storage image from

Firebase Cloud Storage provides the easiest way to save binary files – most often images but you can save anything like a video, pdf etc. – to Google Cloud Storage Directly from the client.

Continuing our chat application, it could be not just limited to texts. We have to allow users to send and receive files like images, documents etc, that’s where Firebase File Storage comes in action. You can save and retrieve that user-generated files to File Storage and can access them anytime you want.

Cloud Storage supports iOS, Android, Web, C++, and unity.

4. Firebase Authentication
Firebase Authentication image from

In our Chat app, we should need to know the identity of the user, which allows us to save the user chat and the same personalized experience across all the devices. Firebase Authentication provides the best back-end service. You can authenticate the user by integrating Federated Identity Providers. Firebase Authentication SDK’s provide multiple options for sign in like sign in with Google, Facebook, Twitter, GitHub, Phone Number or Email address.

Not only this but it handles everything that is required for Sign Up like email/phone number verification and even the password reset process.

Everyone wants to provide a rich User Experience and providing this as well as solving all the backend problem could be a lot of work. Luckily FirebaseUI makes all of these really easy. You can use this open-source library to provide the rich user experience. FirebaseUI provides a drop-in auth solution that handles the UI flows for signing in users with email addresses and passwords, phone numbers, and with popular federated identity providers, including Google Sign-In and Facebook Login.

Firebase Authentication supports iOS, Android, Web, C++, and unity

5. Firebase Test Lab firebase android test lab blog image
Firebase Android Test Lab image from

As we all know that Android is an open source Operating System, which means that anyone can use or modify it, so a mobile company only need to create a Hardware. There are many mobile manufacturing companies out there, creating a variety of mobiles – different sizes and specs – all running Android. So as an Android Developer, I have to provide a great user experience across all those Android Devices. It could be hard to test your app on all android version and screen sized Android Devices. Here Firebase Test Lab comes into action.

Firebase Test Lab lets you test your Android app on Real Android Devices hosted in a Google Data Center. Test Lab helps you to find issues that only occur on specific device configurations (for example, a Nexus 5 running a specific Android API level and specific locale settings). You can run Robo Test, Instrumentation Test or a Game Loop. They are all different types of test that are more than enough to get the results. At the end of the test, Firebase Test labs provide you LOGS, Screenshots, Activity Map, Video, and Performance report. It can help you a lot to understand the workflow of your app across different Android devices.

Firebase Test Labs supports Android only because only Android Contains a large variety of devices and I think it is logical.

6. Firebase Hosting

Firebase Hosting Image Blog Post for
Hosting Image from

The days of static pages are gone when you see a simple HTML based web pages pops up, containing some text or maybe images. Now its an era of responsive Web pages, containing a lot of animation, videos and more specifically web apps – which can work without even refreshing the page. Firebase Console is most suitable example of Web Apps

Now to host and deploy these responsive web apps, we need a hosting with a lot of features like SSD-backed hosting, SSL Certificate and much more. Firebase hosting is providing all it in one place. You can host your Web Apps or the landing page of your mobile apps to build a trust with your user.

NOTE: There are more products to come, some of them are available in beta versions. We didn’t cover those as they can be changed any moment.