Firebase is a BaaS (Backend-as-a-Service) that allows developers to create web applications with no server-side programming required. They do this by giving developers the tools to grow their user base. Their initial product was a realtime database, but since they their services and products have grown tremendously:
- Firebase Analytics
- Firebase Cloud Messaging
- Firebase Auth
- Realtime Database
- Firebase Storage
- Firebase Hosting
- Firebase Test Lab for Android
- Friebase Crash Reporting
- Firebase Notifications
- Firebase App indexing
- Firebase Dynamic Links
- Firebase Invites
- Firebase Remote Config
Firebase Realtime Database is a cloud-hosted NoSQL in which data is stored in JSON format. The realtime database comes with mobile and web SDKs so you can build apps without the needs of servers. It is optimized for online, when your users go offline, the Realtime Database SDKs use local cache on the device to server and store changes. When they come back online, the local data is automatically synchronized.
- “Realtime – Instead of typical HTTP requests, the Firebase Realtime database uses data synchronization – every time data changes, any connected device receives that update within milliseconds. Provide collaborative and immersive experiences without thinking and networking code.
- Offline – Firebase apps remain response even when offline because the Firebase Realtime Database SDK persists your data to disk. Once connectivity is re-established, the client device receives any changes it missed, synchronizing it with the current server state.
- Accessible from Client Devices – The Firebase Realtime Database can be accessed directly from a mobile device or web browser; there’s no need for an application server. Security and data validation are available through the Firebase Realtime Database Security Rules, expression-bases rules that are executed when data is read or written.”