A few weeks ago, I couldn’t even imagine myself developing mobile apps at all. I have never done it before and going out of comfort zone and starting to learn about topics that are completely new for you always costs a lot of effort. Then I heard about Flutter and it has changed everything in my life. No, but seriously, Flutter is a great solution for creating mobile apps for Android and iOS. For both of them only one code base is necessary. Sounds good, right?

In this series of articles I want to show you how to create a recipes app by using Dart and Flutter and how easy it is. To follow the articles you do not need any previous experience in Dart and Flutter. It’s sufficient if you know basic approaches of object-oriented programming and basic command line knowledge.

We are going to learn how to:

Create a user interface

Authenticate user via Firebase Authentication and Google

Get and store data by using Cloud Firestore

Here is how our app is going to look like:

Before starting with implementation it might not be a bad idea to install Flutter. I can only recommend you to follow one of the guides provided by the Flutter Team. Flutter is available for Windows, Mac OS and Linux.

If you would like to use an IDE for developing apps in Flutter you can choose Android Studio, IntelliJ or VS Code by now. I prefer to use VS Code, because of its lightness, simplicity and features for customizing it. But it’s only what I prefer. Try them all and make your own choice.

By following this article, you’re going to create a new app and implement user interface of login screen including “Sign in with Google” button and home screen containing a tab-view navigation which you can see on the screenshots above. You can find the final result of this article in 01_introduction branch in recipes_app repository on github.

Let’s crack on.