What is Firebase ?

This post introduces you basically about Firebase database, this is a great backend development service from Google.

Perhaps you've heard a lot about Firebase. So what is Firebase? What makes the programming community is crazy about it?

firebase cloud database

What is Firebase?

Firebase is a web and mobile application development platform. It provides lots of tools and services for application development. It helps you shorten development time without investing in hardware infrastructure.

Firebase is a combination of cloud platform and Google's extremely powerful server system. Firebase provides you with simple, powerful APIs and cross-platform support.

For example: With Firebase, you can build a real-time chat application like Facebook mesage, WhatsApp...etc for a few days, or even a few hours. Simply because now you only need to develop the client side, while the backend has Firebase, you only need to call the API.

Firebase development history

Firebase was formerly known as Envolve. This is a service that provides APIs for you to easily integrate chat into your website.

Interestingly, Envolve users can use this service to transfer data, not just chat apps. They use Envolve to synchronize data of applications such as online games, contacts, calendars, etc.

Recognizing this, the CEO of Envolve has separated the chat system and synchronized real-time data into two separate parts.

By 2012, Firebase was established as a company that provides real-time Backend as a service.

Seeing this potential, in 2014 Google acquired Firebase for an undisclosed price. And now Google has evolved Firebase into the tremendous service you are seeing.

Outstanding services of Firebasse

Currently, Firebase's service portfolio is numerous. From real-time chat system, to A / B testing ... and also ML KIT (Machine Learning Development Kit).

Let's find out through some of the outstanding, most used services.

1. Realtime Database

Firebase Realtime Database is a NoSQL data type stored in cloud, it allows you to store and synchronize user data in real time.

In essence, your data is saved as a JSON object, and the developer can manage it in real time.

firebase realtime database

Real-time synchronization helps users access their data in any device.

One advantage of Realtime Database is that Firebase will provide you with an SDK for you to easily build mobile and web applications without a server.

When the device is offline, the Realtime Database SDK will use its memory. The application still interacts with the user as usual. When the device comes back online, it automatically syncs to the server.

2. Authentication

firebase authentication

With this feature of Firebase, you will easily build the login feature without having to use separate registration data.

Firebase provides several authenticate methods for your application, such as:

- Email & Password
- Phone numbers
- Google
- Facebook
- Twitter
- And so much more!

There are several well-known applications that use this feature of Firebase: Google Sign-in, Smart Lock, and Chrome Password Manager.

3. Firebase Cloud Messaging (FCM)

Firebase Cloud Messaging (FCM)

This is the original feature of Firebase, which helps us to build chat applications. Now, it also lets you push notifications to multiple devices like Android, IOS or the Web.

You can send notifications up to 2KB or 4KB limited messages with high reliability and optimized Battery.

With FCM, you can integrate with Firebase Analytics so that you can easily analyze users, thereby having a reasonable marketing strategy.

4. Firebase Database Query

Normally, when you work with databases like MySQL, SQL Server ... etc you want to get data, you need to query the database with complex SQL statements. Fireabase database query helps you simplify this process.

Firebase has 4 types of arrangements:


Or as some query statements receive limited data, such as:


5. Remote Config

Usually, applications will have a Setting item stored on each device. If users uninstall the application, the next time they reinstall it, the application will lose previous settings.

Or the case if the user installs the application on many different devices. They will have to manually configure the settings on each device.

On the developer side, if you want to update the remote app settings, for example, to a special day (Holiday, International Women's Day, etc.), you want to change the application background color or show the battle. You can not force users to update the app to see ads.

And Remote Config is the solution to help you do that. You only need to update on Fireabase that the user-side application will automatically change.