Firebase is a real-time application platform, optimized for building collaborative, asynchronous applications with mostly client-side code.

Firebase is a real-time application platform. It allows developers to build real-time, collaborative apps using only client-side code, with the Firebase cloud servers acting as the app's backend.

Firebase provides an API that lets developers store application data in a tree-like data structure that is automatically synchronized to the Firebase cloud servers and to any other clients that are listening to changes on that data. This allows for writing data-driven single-page apps that update in real-time in response to other users' actions.

Firebase has client libraries for several platforms:

  1. A Browser JavaScript client. The firebase.js include can be added to any web page to begin using Firebase. It can be used to read/write data to Firebase, query data, subscribe to data changes, and make transactional updates to data.
  2. A Node.JS JavaScript client. This is a node.js module with the same API as the browser client, allowing use of Firebase from backend code.
  3. A Objective-C client This is an Objective-C client for the Firebase API; it allows for the building of realtime apps on both iOS (iPhone, iPad, and iPod) and OS X.
  4. An Android / Java client This SDK allows developers to build native Android apps as well as connect servers running the JVM to Firebase.
  5. A REST API. This can be used from any language that is capable of making HTTP requests. It is more limited than the JavaScript clients in that it cannot be used to subscribe for data updates or perform transactions. It can be used for simply reading/writing data to Firebase however.

You can sign up for Firebase on their website. There is a free tier for small apps and a paid tier for larger ones.

Resources: