Firebase is the latest outcome from Google. Firebase provides you with all the features required to build an Application with ease. It makes the work of developers much easier by providing them with all the features that are required, under the same roof. It provides support for Android, iOS, web Applications. The important features for developer provided by Firebase are listed below
- Real Time Database.
- Cloud Messaging.
- Test Lab.
- Crash Reporting.
Firebase provides backend services for Authentication and also UI libraries to authenticate users to your app.These features can be easily integrated by the developers as all the scenarios are handled by Firebase. It supports various authentication processes such as
- e-mail/password Authentication.
- Google Authentication.
- Facebook Authentication.
- Twitter Authentication.
- Github Authentication.
When the user is authenticated by firebase for the first time, it would generate a unique id and that should be used within the app even on further login by the user.
Real Time Database :
Firebase comes with a realtime database.It is a noSQL Database.The entire database would be in the form of json structure. The main feature in realtime database is that, when a data is changed in the database it could be reflected in the Applications using that particular data. It also provides a means for setting the accessibility rules, using this we can ensure security by allowing access to data’s based on the accessibility levels specified.It also provides offline capabilities for App’s, it stores data in the device when offline and once the connection is established it would add it to the Firebase.
Firebase storage is based on Google Cloud Storage.The main advantage of Firebase storage over others it that it can download or upload data even in very poor network conditions.It also provides more security to users data.When a network connection is lost in the middle, the operations are paused and they would continue from the left over place once the network is connected.
Cloud Messaging :
Cloud Messaging enables you with a cost free messaging service across platforms. Firebase Cloud Messaging is a predecessor of Google Cloud Messaging, but also comes with few other additional options. We could send Notifications from our server to the targeted clint App’s. We can build our own App server to send Notification or use Firebase Notification Console for testing purposes.
Firebase provides us with a hosting service.Using this we can host a web App easily and faster.The main features in this are that it provides security by default, faster data transition, it provides methods for faster deployment and if you did something wrong then you can use on-click roll backs to quickly rollback to previous version
Test Lab :
Firebase provides a testing platform.But as of now it provides support for only android devices.It provides several features such as video, screenshots, log under a single package.Using this we can test an android App in multiple devices at the same time.This provides a huge advantage over testing and minimizing the amount of bugs within the Apps.
Crash Reporting :
Crash reporting would help us in finding the errors that has occurred to users worldwide.If an error occurs it would create a detailed report of the errors and group them based on their type.It is easy to set up just add dependency and custom logs to find the errors. But the crash reporting is still in testing (beta version).
Hence firebase makes the work of App development look so easy, with providing all the necessary tools under the same roof, with a reasonable costing structure.As of now it a boon for developer making their work easy.There are many similar features provided separately in web, but nothing is as popular as firebase as it provides everything in a single place.