What's FlutterFire (& why Should You Care)? Pro
Storing data with the Firestore database, enabling authentication, sending and receiving notifications and storing files are some of the great features you can leverage from your Flutter app with Firebase. The good news is they are easy to implement and almost code free.
Designing and creating Flutter apps is a fascinating process. You’ve celebrated your first hello world app, then you’ve enjoyed creating your BMI calculator and maybe you’ve also saved data into your device using some form of local storage and retrieved data from a web service.
But there comes a time where you realize that Flutter alone, like any other front end development tool becomes a little too limited for your ideas: maybe you want to share data among devices, or send notifications to your users, or want to add authentication features to your apps.
And at that time, you understand that to really boost your apps’ features you also need a back-end technology, like Java, or .NET, or php. And you might also need to deal with a server database, like MySQL or SQL Server. And if you are not already a back-end developer, you need to learn a new language, and start over again. But even if you already master one of these technologies, you need to create a new application, host it somewhere, and test it over. This is a lot of time and effort.
What if I told you, it doesn’t really have to be that way? In many common scenarios, you can add back-end features to your Flutter app literally without writing a single line of back-end code.
Here comes Firebase. According to the official definition, Firebase is a set of tools that help you build and run successful apps. Which is pretty generic I guess, so let’s delve a bit deeper into that.
Firebase provides several back-end tools that you can use from your Flutter app: when you enter the Firebase console, that you can easily access from your browser without installing anything, you can easily see some of the most important ones.
During this course you will use authentication, that provides several ways for your users to authenticate, including username and password or third-party providers like Google and Facebook.
You’ll use the FireStore database, which allows reading and writing data in a centralized NoSQL database in the cloud.
You’ll see how to save pictures taken from your device gallery using Firebase Storage, and you’ll also engage with your users’ sending notifications through Cloud Messaging.
Other tools that you can get when using Firebase include Machine Learning tools, usage analytics, testing.
But there’s more.
To provide a complete integration between Flutter and Firebase, Google developers have created FlutterFire, a set of plugins that make using Firebase from your Flutter app extremely easy.
Right, let’s see some action and create your first Firebase project in the next episode!