Firebase
Firebase is a platform supporting the development of mobile and web applications. It includes products for Analytics, Cloud Messaging, Authentication, Realtime Database, Storage, Hosting, Remote Config, Test Lab, Crash Reporting, Notifications, App Indexing, Dynamic Links, and Invites. These products work individually and with each other to help developers build and maintain better and more powerful apps. All products are free until the app reaches a certain threshold. For example, the Realtime Database product is free up until you have more than 100 simultaneous connections.
- Cloud messaging
- Authentication support for Facebook, Google, and Twitter
- Realtime database access
- Storage and hosting features
- Remote configuration service
- Testing lab
- Crash reporting service
- Notifications service
- Has a whole host of useful services for developing and maintaining mobile and web applications
- Provides services that would be costly for small development companies to implement otherwise
- Provides a generous free level of services, and even the paid level of services is affordable
- Has limited querying and indexing capabilities
- Has no support for SQL databases
- Has not yet been battle tested with big and popular apps
- Locks you into using these services in the future
Building and supporting a modern mobile or web application can be very difficult, especially if your development team is small. This is where Firebase comes in. It offers a whole range of important functionality right out of the box, such authentication services that have built in support for Facebook, Google, and Twitter. Other terrific services include file storage for your app and database access, as well as crash reporting and notifications. Best of all, all of these services start out free, and the free level offers generous usage allowances. You will only start paying for the services when your app becomes heavily used and you are already hopefully earning money from it. Even after this happens, their services are affordable. On the down side, their querying and indexing capabilities are limited and often require manual effort. There is also no support for SQL databases. It further has not really been battle tested yet with big and popular apps, and finally it really locks you into the product. Once you decide to use it, it will not be easy to do it a different way or to do it with a different company in the future.