Over a million developers have joined DZone.
{{announcement.body}}
{{announcement.title}}

Firebase Platform Overview

DZone's Guide to

Firebase Platform Overview

Get an idea of what the Firebase platform is and how it can benefit your mobile application, both in the development phase and in analytics and more.

· Mobile Zone ·
Free Resource

Firebase is a mobile and web application development platform created by Firebase, Inc. Now it belongs to Google. It is used to develop web, Android, and iOS applications. Firebase consists of several integrated tools for analysis, development, and maintenance of mobile applications. Each of these tools can be used separately.

Services for Analytics

Analytics is a measurement solution for performance optimization and increasing monetization based on analysis of users' behavior. It includes reporting up to 500 distinct events and audience segmentation based on user properties or device data. It supports iOS, Android, C++, and Unity.

Services for Development

Cloud Messaging (FCM) is a solution for messaging and sending notifications for Android, iOS, and web applications for free. It enables you to send notification messages or data messages to control the application code. FCM supports the distribution of messages to single devices, their groups or devices subscribed to certain topics. FCM provides a reliable connection channel for sending messages from devices back to a server. It supports iOS, Android, C++, Unity, and Web (JavaScript).

Authentication is a service for ensuring the protection of user’s data using a password, phone number, or various social authentications. It includes very convenient SDKs (Software Development Kits), ready-to-use UI libraries, and backend services. There are two ways to sign in your users: FirebaseUI, a drop-in solution that can be easily customized to match your app design - or Firebase Authentication SDK, a solution for manual implementation of several methods of sign-in.

Realtime Database is a cloud-hosted database with the data stored as JSON (JavaScript Object Notation). It provides the real-time synchronization between every connected client - any changes or update is automatically sent to all users. The offline mode does not cause data loss as the Database SDK stores new data to disk and when after the connection is reestablished, the synchronization takes place. The application server is not required for the access to Database from mobile device or web browser.

Cloud Storage is a service for storing such objects as images, audio, and video files and other content generated by users. Uploads and downloads are stable despite the network connection - they restart after the network loss or in case of its low quality. To ensure data protection, the solution can be integrated with Firebase Authentication.

Hosting is a web content hosting for developers. It ensures fast and secure deployment of web applications to a global content-delivery network (CDN). Hosting provides release management and version review by using one-click rollbacks.

Test Lab for Android is a cloud-based solution for testing Android-based applications covering different device configurations. It supports the integration with Android Studio and Firebase console. Using Robo test, you can detect bugs without preparing tests. Test Lab suits for Continuous Integration systems.

Performance Monitoring is a service for controlling and analyzing the performance capacities of mobile application. It measures such parameters as launch time, activity in foreground and background, HTTP/S network requires. The service helps to improve the performance by showing the details of failures: device, application version, OS, country.

Crash Reporting is the solution for reporting issues and grouping them according to their severity. The reports are very detailed and include device characteristics, performance data, and conditions of crash occurrence. In case of a new crash, you get email alerts. But it is not suitable for reporting servicer-sire issues.

Services for Growth

Remote Configuration is a cloud service for controlling and changing the application behavior and appearance by changing service-side parameter values and users have no need to download the updates. The solution can be used for A/B testing.

Application Indexing ensures the appearance of your application in Google Search. For Android applications, it adds the install button and makes the application content visible for users from the suggested results.

Dynamic Links are smart links that change the behavior to provide the users with the best experience on different platforms.

Invites is a service for sharing application content by sending emails or SMS. It is a cross-platform solution that enables to measure the number of invitations and their impact on users.

Adwords and Admob created by Google can be easily integrated with Firebase platform for online advertising. They help to generate higher revenue.

Firebase Advantages

  • Easy-to-use and well-documented

  • High integration capacities

  • High performance

  • Suitable for realtime applications

  • Wide functionality

  • Support for web, Android, and iOS

  • Simple control dashboard

  • Can replace any piece of backend software

  • High scalability

Firebase Disadvantages

  • Limited free plan

  • Difficult execution of complex queries for data

  • Learning curve requires time

  • Different architectures and approaches of tools

  • Lack of optimized search and query functions

Topics:
mobile ,analytics ,firebase ,mobile app development

Opinions expressed by DZone contributors are their own.

{{ parent.title || parent.header.title}}

{{ parent.tldr }}

{{ parent.urlSource.name }}