Firebase – Getting Started

Mobile applications need a back-end server in order to perform tasks such as authenticating users and synchronizing user data across multiple devices. Creating such a server, however, requires a skill set that most independent app developers lack. Later on, we will be developing our backend in Node JS and use MongoDB as our Database.  Fortunately, there are several back-end as a service platforms, often called BaaS, you can use today. Google’s Firebase is one such platform.

Firebase offers essential services such as analytics, crash reporting, user authentication, and cloud messaging at no cost. Its freemium services include a real-time NoSQL database, file hosting, and static website hosting.

Firebase is a platform for building mobile and web application. You can build application quickly with real time data update. Using firebase is very easy and it stores data in JSON format. You do not need to configure your server when you use firebase. Every thing will be handled by firebase automatically. So no coding on server side. It will save time and will make you more productive. In this tutorial we will learn how to get started with Firebase to help in our android application development.

Firebase – Getting Started

Firebase also unveiled a new integrated console to access all of your data and services. The Firebase Realtime Database provides your app with a cloud-hosted NoSQL database. Data is synched across connected clients as soon as data is changed. Firebase also supports offline mode, writing database changes to a local database before sending them off to the Firebase server for synchronization with other devices. Firebase also provides client SDKs for web, Android, and iOS as well as a REST API for integrations with your own server.

It provides the following features for the Development phase

  1. Integration with Cloud Messaging.
  2. Robust Authentication for added security.
  3. Realtime Database for realtime storage of app data.
  4. Storage support for files.
  5. Support for on the fly Remote Configuration.
  6. Test Lab to deliver high quality apps.
  7. Crash Reporting to keep your apps stable and free from bugs.

To help you acquire big user base and monetize the apps it allows the following :

  1. Notifications to engage users.
  2. App Indexing to boost your apps rank among other competitors.
  3. Support for Invites to grow quickly with the help of existing users.
  4. AdWords integration to quickly monetize apps and start earning.

Pre-requisites:

  1. Android Studio installed on your PC (Unix or Windows). For working with Firebase you should install Android Studio 1.5 or higher (Preferably use the latest version, at the time of witting the latest version is 2.2.3). You can learn how to install it here . Also download the latest Google Play services SDK from through Android SDK Manager.
  2. A real time android device (Smartphone or Tablet) configured with Android Studio. The device should be running Android 2.3 (Gingerbread) or newer, and Google Play services 9.2.0 or newer.

Summary

Using Firebase Realtime Database as your backing datastore can allow you to get your app up and running very quickly. With SDKs available for the web, Android, iOS, and a REST API it will help make the integration smooth. When considering the other services, the Firebase team announced at Google I/O 2016 it makes the platform very appealing as a service provider.

Some things to consider when looking at Firebase Realtime Database is the structure of your data:

  • Your data should lend itself to being represented in a NoSQL environment. 2+-way relationships can make switching to NoSQL difficult.
  • Your application or website needs realtime updates of data.
  • The structure of your data changes frequently or is not defined. Data like this is ideal for NoSQL.
  • Your application can live without powerful aggregation functions and advanced querying.

Firebase Realtime Database sacrifices functionality for speed. You may not be able to replace everything, but some critical paths of your application can certainly be enhanced. This tutorial was to help you understand what is Firebase. In the next tutorials we will be developing simple applications using Firebase, and also covering various aspects involved in Android App Development. Keep on subscribing to get updates, or even leave a comment or a question below and I will surely get back to you. Thanks and  have a nice one!

Happy Coding!

Juma Allan

In this blog, I write tutorials and articles related to Android and Node Js coding. I am an Open Source Enthusiast and have been programming Android for three years now. I love sharing my knowledge with others, and learning new languages everyday. I write on this blog to share what I've gained by learning from the web and friends.