Flutter is an open-source UI software development kit used to create cross-platform applications for iOS, Android, Windows, Mac, and more.

We just published a 37-hour Flutter course for beginners on the freeCodeCamp.org YouTube channel.

Vandad Nahavandipoor developed this course. Vandad is a Google Developer Expert and Lead iOS Developer.

Flutter is Google's modern and free SDK allowing you to write desktop, web and mobile apps with the same code-base.

This course is for absolute beginners. You don't even have to know how to write code in any programming language to begin. By the end, you know how to release an iOS and an Android app written in Flutter on the App Store and Google Play Store.

The course first covers setting up your development environment.  You will learn how to use the free code editor Visual Studio Code to write a Flutter application. a Then you will learn how to create screens and application logic. You will learn how to use Firebase and Figma. Finally, you will learn how to deploy your iOS and Android apps to the App Store and the Google Play Store.

Here are the sections covered in this massive course:

  • Developer Accounts
  • Setup
  • Introduction to Dart
  • Dart Control Statements and Collections
  • Sound Null safety in Dart
  • Dart Enumerations, Classes and Objects
  • Advanced Dart
  • Project Setup
  • iOS App Setup
  • Android App Setup
  • Firebase Backend Setup
  • Basic Registration Screen
  • Login View
  • Separating App Initialization from Login and Register Screens
  • Setting up Git and GitHub
  • Email Verification View
  • Link Between Login and Register Views
  • Logout View
  • Go From Login to Notes View
  • Cleaning Up our Routes
  • Error Handling in Login View
  • Error Handling in Register View, Next Screen After Registration
  • Confirming Identity Before Going to Main UI
  • Auth Service
  • Migrating to Auth Service
  • Unit Testing our AuthService
  • CRUD Local Storage
  • Working with Streams in Notes Service
  • Preparing Notes View to Read All Notes
  • Preparing to Create New Notes
  • Creating New Notes
  • Displaying Notes in Notes View
  • Deleting Existing Notes in Notes View
  • Updating Existing Notes
  • Protecting NotesService with Current User
  • Writing Notes to Cloud Firestore
  • Migrating to our Firestore Service
  • Sharing Notes
  • Introduction to Bloc
  • Converting our Auth Process to Bloc
  • Handling Auth Bloc Exceptions During Login
  • Moving to Bloc for Routing and Dialogs
  • Loading Screens
  • Final Touches Before App Release
  • App Icons and App Name
  • Splash Screen
  • Sending our iOS app to App Store Connect
  • Releasing our iOS App
  • Fixing Firebase Security Rules and Resubmitting the iOS App
  • Releasing our Android App
  • Localization in Flutter

Watch the full course below or on the freeCodeCamp.org YouTube channel (37-hour watch).