A lot more goes on behind the scenes in most apps than is readily apparent. Take push notifications, for instance. Perhaps something happens that you need to notify your user about—breaking news, say, or an edit a colleague has added to their document. With breaking news, another service's server notifies your server of the news; with an edit, another of your users' edits the document in your app, and saves the changes to your server. Now, your server has to send a notification to Apple or Google's notifications servers, which then forward the notification to your user's device.
You started out wanting to build an app and before long, you need your own server along with a galaxy of services to keep all the moving parts moving.
Building all of that yourself is daunting. All you wanted to do was design a unique app, not managing countless services. That's where app platforms like Firebase can help you out.
Founded in late 2011 as a new database service, Firebase today is part of Google's developer tool family. It's far more than just a database, too: it can store your user account info, files, analytics, and more, while sending out push notifications and testing your new app versions for you automatically.
It's all tied together by the original database core, a NoSQL database that stores your data in a flat, JSON file. It's designed to sync data to your apps, so they'll be able to run without an internet connection. And, it'll keep things in sync when your apps come back online, so you can build that document editing app that lets users collaborate on documents—and keep the changes updated even if everyone's not online all the time.
Need images in those documents, or want to store other files? Firebase can handle that, with built in file storage and hosting. You'll use the hosting side to store your web app's data, while keeping users' files in Firebase's storage to keep it secure and synced automatically.
Then, you'll need a way for your app installs to talk to each other. Maybe you just need to share info; the Cloud Messaging in Firebase can push messages back and forth, to power an in-app chat in your app or just to show changes as they happen. And when the app's closed, Firebase can send notifications to your users, making it easier to deal with Apple and Google's mobile notification systems with one standard SDK.
All of these tools and more are pulled together in one web interface where you can manage everything about your data, user accounts, notifications, and more. With the same SDK, you can use Firebase to handle all of the backend work for your app. You'll then have more time to focus on the features you actually wanted to build, instead of reinventing the wheel yet again for your data needs.