Google has introduced a new version of Firebase at I/O 2016, the platform offering a comprehensive solution for creating a back-end infrastructure for mobile (iOS and Android) and the web.

From the initial Mobile-Back-end-as-a-Service (MBaaS), Google has transformed Firebase into a complete back-end solution for both mobile and web development. Firebase has one SDK and one console to create and manage applications across Android, iOS and the web. Firebase comes with the following features:

AdMob – integration with Google AdMob

AdWords – integration with Google AdWords

Analytics – a dashboard for monitoring user behavior, demographic segmentation, and campaign performance

Authentication – support for user authentication via email, Facebook, GitHub, Google Sign-In, and Twitter

Crash Reporting – monitoring application’s errors across all devices. It is integrated with Analytics to evaluate user behavior upon application crash.

Database – a NoSQL database used to store JSON data

Dynamic Links – deep links taking an user to the desired page within an application

Hosting – a globally distributed CDN for web applications

Indexing – used to index an application for Google Search

Invites – enables users to share information about an application with other users

Messaging – this is the former Google Cloud Messaging (GCM) service that has been rebranded as Firebase Cloud Messaging (FCM)

Notifications – managing notifications sent to users

Offline – enables applications to store data in a local cache so they can keep running while offline

Real time – data is saved to the cloud database in real time

Remote Config – enables developers to modify the behavior or appearance of an application without requiring users to download a new version of the app. This feature is used to change the application’s visual theme, address different user demographics, running A/B tests, etc.

Storage – storing user audio, pictures and video

Synchronization – when data changes on a device, it is pushed to Firebase, then back to all related devices. Also, a device is automatically updated with the latest snapshot when coming online after being offline

Test Lab – testing an application on real devices

All features are available for Android and iOS development, except for Test Lab which is not supported for iOS devices. Some of the features are not supported yet for web applications.

The Firebase SDK supports programming in C++, Java, JavaScript, JavaScript/Node.js, Objective-C, and Swift. Angular, Backbone, Ember and React are supported through bindings to the database. Google added a number of helper libraries: FirebaseUI, Geofire, Firebase Queue, FirebaseJobDispatcher. Their name indicates what their purpose is. Firebase also supports importing large JSON data sets and integration with ElasticSearch.

Firebase is hosted and maintained by Google in their cloud datacenters. It comes with a free pricing plan for those interested to see how it works. There is also a pay-as-you-go plan that provides full integration with the Google Cloud Platform.

For those interested in getting deeper into how Firebase works, we recommend the following videos from Google I/O 2016: Firebase Overview, Migrate to Firebase, Use Firebase Analytics to Build Extraordinary Apps, Introducing Firebase Authentication, Deep Dive into the Real-time Database.