Skip to content

Firebase

Introduction

What is Firebase? Main purpose

Firebase is a Mobile Application Development Platform with tools to make the job a developer would otherwise have to build themselves easier. This includes everything from analytics, authentication, databases, configuration, file storage, push messaging and more! The service is hosted on a cloud solution provided by Google, and there are backend components completely maintained and operated by them. There is no need to use any middleware between your app and the service, as the client Software Development Kits provided by firebase use the backend services directly. Some might call Firebase a “back-end as a service”, but Doug Stevenson, who works with Firebase, has not felt comfortable wedging it fully into that category.

Brief History

History of firebase (2011 - today)

In 2011 James Tamplin and Andrew Lee founded Envolve. Envolve allowed for integration of chat functionality via provided API for developers to use into their websites. After release they found that it was being used to pass application data, and not just text messages. Tamplin and Lee then founded Firebase as a separate company in September 2011. Their first product was Firebase Real-Time Database and is an API that synchronizes data across Android, iOS and Web Applications with Firebase’s cloud. After launching the beta they raised 1.1M USD in seed funding in May 2012, and a year later, in 2013 they raised five times as much in Series A funding.

In 2014 they launched Firebase Hosting and Firebase Authentication as two new products. Later that year, in October, Google purchased Firebase and started further development and maintenance of the Brand. Google then acquired Divshot (2015), an interface builder and web hosting platform to merge into the Firebase Team. In the following years they expanded the service further and integrated AdMob, Google Platform and Google Ads (2016), as well as acquired Fabric and Crashlytics from Twitter (2017). They’ve expanded their service through the years and there are now several options to build, improve and grow an application with Firebase.

image

Features

According to Firebase’s Homepage, these are the features sorted in their respective category:

Build

  • Cloud Firestore a NoSQL database you can store, sync and query data at a global scale.
  • Realtime Database a Realtime Database with JSON data. The original Firebase database from before Cloud Firestore was released.
  • Remote Config for making quick updates and personilization with ease.
  • Firebase Extensions a whole marketplace of pre-packaged solutions.
  • App Check frotects your API data.
  • Cloud Functions runs backend without the need of servers.
  • Authentication a multiplatform sign-in with drop-in UI and comprehensive security.
  • Cloud Messaging makes it easy to send notifications, and at no cost.
  • Hosting lets you test locally, preview and deploy with smart functions.
  • Cloud Storage stores and serve content with user-based security.
  • Firebase ML adds machine learning capabilities. (beta)

Release & Monitor

  • Crashlytics helps you track, prioritize and fix crashes faster.
  • Google Analytics gives you information on up to 500 distinct events, like the performance, purchase data, user behaviour and more.
  • Remote Config for making quick updates and personilization with ease.
  • Performance Monitoring a real time tool with custom view of application performance.
  • Test Lab allows you to run tests that simulate actual usage environments without the need of code.
  • App Distribution for managing a beta testing program for your testers.

Engage

  • Remote Config for making quick updates and personilization with ease.
  • Google Analytics gives you information on up to 500 distinct events, like the performance, purchase data, user behaviour and more.
  • A/B Testing for experimentation and analyzing tests.
  • Authentication a multiplatform sign-in with drop-in UI and comprehensive security.
  • Cloud Messaging makes it easy to send notifications, and at no cost.
  • Crashlytics helps you track, prioritize and fix crashes faster.
  • Dynamic Links smart URLs that show people what they’re looking for and transition users from web to application.
  • In-App Messaging helps you engage your active users with targeted messages and triggers them based on behaviour.

Strengths

  1. Faster Development, as it offers a set of pre-requisites of backend development.
  2. Has different pricing models to suit your needs.
  3. Firebase has a real-time database, which collects, processes and enriches incoming series of data points immediately after the data is created.
  4. Has incredible storage size potential for storing data.
  5. It is a serverless framework that is stored in a cloud and runs in a managed environment.
  6. Firebase is highly secure by encrypting data in transit and isolate customer data. Several of the services Firebase offer also encrypt data at rest.
  7. Has the most advanced hosted Backend-as-a-Service (BaaS) solution.
  8. It is quick and easy to set up.
  9. Firebase provides three-way data binding with AngularFire, making sure all data is updated everywhere automatically.
  10. Has simple serialization of app state.
  11. It is easy to access data, files, authorization and more.
  12. No infrastructure to server needed to power apps with data.
  13. Has JSON storage, which means no issue between data and objects.

Weaknesses

  1. There are limited querying and indexing capabilities.
  2. Has limited data migration options.
  3. It does not support native aggregation.
  4. Some features are platform dependent.
  5. Firebase is Android centric.
  6. Offers less support for iOS.

Comparison

vs. MongoDB

The most common comparison to Firebase is MongoDB, and therefore we are going to have a look at those. In terms of pure performance, MongoDB has a lot of customizability offers and a good spectrum of efficiency tiers. MongoDB is also faster because it was built to accommodate fast-moving data pipelines and online transaction processing. Another thing worth noting is the stability. MongoDB is more dependable because it is not a cloud service, and therefore does not have anything that hinders it from changing.

To use the database’s store data in MongoDB you have to be authorized and have the appropriate identification. This is not the case for Firebase, as the data can be accessed by anybody. This makes MongoDB a safer option. In terms of market popularity both seem to have the same popularity. Although MongoDB has had a slow and steady rise, Firebase’s rise in popularity has been for a significantly shorter period of time.

When comparing the prices, we see that you may choose to pay as you go with various pricing for Firebase, but there is no such offer for MongoDB. However, for MongoDB’s premium edition you get a service that does not require any dedicated server, in contrast to Firebase. It is not easy to compare these two as they do not function the same, and whichever you would want to choose depends on what needs you have.

Firebase is often a great pick for often ramping up an application, but MongoDB might be the best option for storing and faster scaling. MongoDB stores geospatial information, while Firebase is used for real-time synchronization. If you want to store huge amounts of data you might want to go for MongoDB, while Firebase’s easy-to-use API is simple to integrate.

Some applications you may have heard of using Firebase

image

image

image

image

image

Summary

To summarize, Firebase is Google’s Mobile Application Development Platform and it has a lot of different aspects to it. Depending on your needs, it might just be what you need for your next app development project. With Firebase you can speed up the development of your application with their backend infrastructure, easily stay updated on the performance and stability, as well as enhance the user engagement with analytics and campaigns. The predominant strength with Firebase is its ability to reduce the amount of work it takes setting up all the elements of an application and updating it, and that it has a real-time database that collects incoming data immediately. MongoDB is one of several contenders, and to make a choice between the two (or others), you should look at the qualities each option has, as they are not exactly the same.

Credits

  • Dina Olufsen (DinaOluf)

References

https://firebase.google.com/

https://medium.com/firebase-developers/what-is-firebase-the-complete-story-abridged-bcc730c5f2c0

https://www.c-sharpcorner.com/article/introduction-to-google-firebase/

https://www.javatpoint.com/firebase-introduction

https://osdb.io/firebase-pros-and-cons-when-you-should-and-shouldnt-use-firebase-osdb/#ib-toc-anchor-4

https://medium.com/mqos-technologies/mongodb-vs-firebase-which-is-the-best-database-in-2022-aff873566586