Course Intro (Updated December 2023)


  • This course was first created in 2021
  • At the time, Dart 2.12 and Flutter 2.2 were the latest stable releases
  • I've updated it in December 2023 to the latest Dart 3.2 and Flutter 3.16 releases

What has changed?

  • The Flutter Animation APIs are (mostly) the same
  • Dart has evolved, and there are many new linter rules

Latest Course Update

  • I've updated all the starter projects and source code to Dart 3.2 and Flutter 3.16
  • But I've not updated the videos

What does this mean for you?

  • All the starter projects will be available with git checkout <branch-name> (much better than downloadable zip files!)
  • Some of the videos will show some code that is valid but doesn't follow the latest linter rules
  • To make life easier, I've disabled some rules in the analysis_options.yaml file:
  # These rules have been disabled for convenience, so you won't encounter
  # them while following the course
  prefer_const_constructors: false
  use_key_in_widget_constructors: false
  avoid_print: false
  use_super_parameters: false
  library_private_types_in_public_api: false
  use_build_context_synchronously: false
  sort_child_properties_last: false


  • The source code is updated to Dart 3.2, Flutter 3.16
  • If something doesn't look right, check the notes below the videos
  • Have fun! 🚀

Complete and Continue