IMPORTANT NOTE: Following extensive changes to the Firebase plugins in August 2020, part of this course is outdated. All the course content will be updated in December 2020. For now, you can still follow the course using older versions of the Firebase plugins (more detailed instructions inside).
Want to learn how to build native mobile apps with Flutter?
Then you are in the right place.
Flutter is a mobile framework by Google for building beautiful and fast native apps. Flutter is very productive and offers a rich set of widgets that makes building apps a breeze. Once you experience hot-reload and everything else Flutter has to offer, you will never want to go back.
In this course you will build a complete, real-world application for iOS and Android, by using Dart, Flutter and Firebase.
This course starts from the basics, and includes a full introduction to Dart and Flutter. This means that NO prior experience with Dart and mobile app development is needed.
As you make progress, the course will introduce more advanced topics, with special emphasis on writing production-ready code, so that you can learn how to build robust applications that scale.
And by learning Firebase as well, you will understand how to make modern reactive apps, and see why Flutter and Firebase are a great combination.
Important concepts are explained with clear diagrams. You will always learn what you will be building and why, and then how to do it.
This will give you a strong foundation, and the techniques you learn here will be valuable in your own Flutter apps.
So by the end of this course you will be a competent Flutter developer.
This is a complete course. With 22 hours of content, it will teach you everything you need to know about Flutter.
- Each lesson builds on top of the previous one (source code included).
- Each section covers a different topic.
You can follow the course from beginning to end, or choose the topics you’re most interested in.
Fast-track your learning
This course offers a lot of practical advice, along with tips and techniques that I have battle-tested over years of experience.
It goes far beyond "making things work", and gives you a very solid understanding of many different techniques and their trade-offs.
And it will show you how to think about problems and their solutions, with the mindset of a top professional software engineer.
So taking this course will save you a lot of time and money, and will prepare you for building real-world apps.
And if you get stuck, you can ask questions and they will be quickly answered.
Included in this course
Introduction to Dart
Setup instructions for macOS and Windows
Introduction to Flutter and widgets
Building layouts with Material & Cupertino widgets + build your own custom widgets
Firebase Authentication (anonymous, email & password, Google, Facebook)
State Management: how to use setState, lifting state up via callbacks, global access, scoped access with Provider, BLoCs, ValueNotifier & ChangeNotifier
Streams, building reactive apps & advanced stream operations with RxDart
Forms, input handling and validation
Managing and updating packages
Databases and Cloud Firestore
Working with Forms and Cloud Firestore
Working with ListViews and multiple UI states
Date & time pickers
Unit & Widget tests with mockito (basics to advanced)