Firebase: What is it? Is it easy to use?

I am writing this week about Google's Firebase. Firebase is a megalithic cloud service for mobile apps that I have been researching for our Capstone Project.

Google Firebase provides a slew of services including data-hosting, user authentication, A/B feature testing and other remote configurations, cloud functions to run logic server-side, messaging infrastructure, and a ton more.

I have used Firestore (branding for NoSQL data-hosting) and it was very easy to integrate with my test Flutter app. There seems to be good documentation for all of the services that are offered.

Is it better than alternatives?

Similar to my discussion of VS Code last week, I really am only confident in Firebase as an option for Flutter because it is easily integrated into development. 

After setting up the Firebase for both iOS and Android, all of the data passed to and from the Firestore database can be done using the cloud_firestore Flutter pub package. This allows developers to focus on building great apps instead of spreading their efforts over app development and datanase setup and management.

Another strong plus for Firebase is the user authentication. We are considering using this for our project because it is a plug-and-play solution for signing in users the way they want: with a traditional email and password or with "federated" sign-ins (Google, Apple ID, Facebook, etc).

Will you be using it?

We do plan to use Firebase in our project due to the ease of use and nil development costs (only charging for data at scale). Since we are already inside the Google development ecosystem because we are making a Flutter app, it is the natural choice, which I'm sure is part of the motivation for Google creating and supporting Flutter at no cost to developers.