Understanding Firebase: Part 2 ( Other Common Features)

Musa Tondolo
Droid Wall
Published in
5 min readAug 4, 2018
Photo by Fabian Grohs on Unsplash

Introduction

In the previous article titled Understanding Firebase: Part 1(Firebase Cloud Messaging), we introduced Firebase as a mobile and web application development platform where you can mix and match common features and use Google SDKs to include them in your app.

We further dived into the details of one of the most common features of the Firebase Platform which is Firebase Cloud Messaging (FCM). Firebase Cloud Messaging (FCM) is a cross-platform messaging solution that lets you reliably deliver messages at no cost. Using FCM, you can notify a client app that new email or other data is available to sync. Further, You can send notification messages to drive user re-engagement and retention.

In this article, we will look at other common features of the Firebase Platform, which include among others the following:

  • Realtime database
  • Authentication
  • Storage
  • Analytics
  • Remote Config
  • Cloud Functions

Other Firebase Common Features

Below is a brief description of the above mentioned Firebase Platform features:

Firebase Realtime database

Firebase Realtime Database is a cloud-hosted database. Data is stored as JSON and synchronized in real time to every connected client. When you build cross-platform apps with our iOS, Android, and JavaScript SDKs, all of your clients share one Realtime Database instance and automatically receive updates with the newest data.

Firebase Authentication

Most apps need to know the identity of a user. Knowing a user’s identity allows an app to securely save user data in the cloud and provide the same personalized experience across all of the user’s devices.

Firebase Authentication provides backend services, easy-to-use SDKs, and ready-made UI libraries to authenticate users to your app. It supports authentication using passwords, phone numbers, popular federated identity providers like Google, Facebook and Twitter, and more.

Firebase Authentication integrates tightly with other Firebase services, and it leverages industry standards like OAuth 2.0 and OpenID Connect, so it can be easily integrated with your custom backend.

Cloud Storage for Firebase

Cloud Storage is built for app developers who need to store and serve user-generated content, such as photos or videos. Cloud Storage for Firebase is a powerful, simple, and cost-effective object storage service built for Google scale. The Firebase SDKs for Cloud Storage add Google security to file uploads and downloads for your Firebase apps, regardless of network quality. You can use our SDKs to store images, audio, video, or other user-generated content.

Google Analytics for Firebase

Google Analytics for Firebase is a free app measurement solution that provides insight on app usage and user engagement. At the heart of Firebase is Google Analytics for Firebase, a free and unlimited analytics solution. Analytics integrates across Firebase features and provides you with unlimited reporting for up to 500 distinct events that you can define using the Firebase SDK. Analytics reports help you understand clearly how your users behave, which enables you to make informed decisions regarding app marketing and performance optimizations.

Firebase Remote Config

Firebase Remote Config is a cloud service that lets you change the behavior and appearance of your app without requiring users to download an app update. When using Remote Config, you create in-app default values that control the behavior and appearance of your app. Then, you can later use the Firebase console or the Remote Config REST API to override in-app default values for all app users or for segments of your user base. Your app controls when updates are applied, and it can frequently check for updates and apply them with a negligible impact on performance.

Cloud Functions for Firebase

Cloud Functions for Firebase lets you automatically run backend code in response to events triggered by Firebase features and HTTPS requests. Your code is stored in Google’s cloud and runs in a managed environment. There’s no need to manage and scale your own servers.

Why you should use Firebase

  • Three way binding: Firebase API solves the problem of race condition in database. A client browser, back-office, and mobile consumer can update a data simultaneously without the problem of synchronization. As soon as data is updated, added, inserted, or deleted all update are automatically pushed to the client via API.
  • Speed of Development: Google Firebase Database uses NoSQL database with out of the box API connectors and wrappers for query purposes. As a result, rather than building REST API just like the traditional way of connecting thin client to database, with Firebase, a company can simply use their SDK to do the same purpose. As a result, business would be able to cut their development time by removing the API development component. Less scope, means less development cost as well.
  • Realtime update: The old ways of doing things is that a client connected to database need batch updates to get new sets of data. It is an inefficient architecture, imagine a program has to read 1 million records every fifteen (15) minutes with or without update. With Google Firebase Database, a client can be automatically triggered for refresh via Callback as soon as an update is made in the database. With this technology, developers are assured to only get a new sets of data on needed basis.
  • Authentication: It comes with a builtin authentication module. Supports gmail, Facebook, Twitter, and basic username and password login support. Integrating this module in your app is easy through their SDK.
  • Rich API Document: The Firebase SDK is well documented and has lots of examples over the web.

What you should know about Firebase

  • No Data Explorer: This issue is more for developers. The Firebase Database does not provide an online tool to allow developers search for a data inside a node. It has a manual tree like data explorer but becomes complicated or difficult to traverse as data set goes bigger.
  • No built-in Authorization: One of Firebase strong point is it’s authentication module. However, it would have been better if it was shipped with a pre-created framework for authorization. Developers have to secure data and forms by manually coding the roles for a specific users.

Conclusion

Firebase gives you the tools to develop high-quality apps, grow your user base, and earn more money. It takes care of the essentials so you can monetize your business and focus on your users.

Checkout the Firebase guides with step-by-step breakthroughs that help you get started using Firebase.

--

--