Nice set of focused, quick Flutter/Dart tutorials

Video and code covering most of the basic constructs.  He starts with a blank editor and build up examples line by line so you really get a feel for the widget tree and how state is created and maintained.  The only issue is that the tutorials are not named descriptively … so I added descriptions and notes with my list below.

He starts out extremely basic (like discussing what a variable, constant, comment … means) … like you are a beginner learning first the IDE, then Dart, the Flutter … Also, he is using Intelij CE with the Flutter and Dart plugin.  Now you would use the Android Studio (which is just a branding of Intellj).  The Dart videos could serve as a programming into to almost anyone … with specific Dart syntax used for the rest of us.

Note that these vidoes were working with pre-Dart 2.0 and alpha level Flutter … but these are very similar to Preview Release 1 for at least some of the tutorials.  The Flutter examples that have been retested as working in Flutter Preview Relase 1 are marked with  (TWFPR1) = Tested With Flutter Preview Release 1.

Go here: https://github.com/voidrealms/Flutter-Tutorials for the entire set

By individual tutorial (there are 41 in all):

Note on Extremely basic Dart: If you are comfortable with Javascript then you will be with Dart

  1. Flutter Intro, IntelliJ IDE, Flutter Doctor …
  2. Extremely basic Dart: variables, comments, math, strings, lists, maps (associative arrays) …
  3. Extremely basic Dart: Variable Scope, Flow Control (if/else/else if, select/case/break …)
  4. Extremely basic Dart: Loops
  5. Extremely basic Dart: Functions
  6. Dart Advanced Functions, Anonymous, External, Named Parameters
  7. Dart Classes: Basic classes with Dart Syntax, Get, Set Keywords with => notation, gets into IDE as it related to classes
  8. Dart Constructors: Constructors and garbage collection
  9. Dart Extending Classes: Sub and Super Classes, Assert() for testing, @Override, Extends keyword, Multiple Inheritance
  10. Dart Abstract Classes: Interfaces, How Concrete Classes are needed to instance Abstract Classes, Implements Keyword
  11. Dart Mixins:  Unstructure what you structured … seems like a bad idea to me
  12. Dart Errors and Exceptions:  Keywords try, on, catch, finally, throw – any Dart object + enum example + what his preferred structure is
  13. Dart Generics: he likes the way Dart  does Generics, EX: class className<typeName>, extends …
  14. Dart Async: Future, Async, await, wait,(.then), chaining concept – he likes the Dart approach vs javascript
  15. Dart Static Methods in Abstract Classes: “Utility” class
  16. Dart Libraries (The Many Built in, External, Home Made …): pub.dartlang.org, JSON decode, encode example
  17. Dart IO: exists, existsSync,  RandomAccessFile, openSync … – good try catch example for a text file create/append/read/readline ready for reuse, JSON example as well
  18. Dart Libraries 2: edit pubspec.yaml, using the IDE to get packages, remote image processing example using image.dart, http.dart (readbytes,.then), dart:io
  19. Flutter Intro:  IDE, boilerplate project
  20. Flutter and a more useful “Hello World” with a button (TWFPR1):  Building up the widget tree correctly with some try and fail examples ….
  21. Flutter row and columns layouts (TWFPR1):  containers,  child, children keywords … note: good place to check out the runDebug in the IDE and toggle the widgetmode in the flutter inspector > render tree (you can see the grid)
  22. Flutter convert a repeating structure to a reusable widget (TWFPR1):  Example from 21 is used, new library created with widget
  23. Flutter and state,  adding to app bar, add user interaction (TWFPR1):  setState(() {}) keyword needed since simply changing a Dart variable does not change the state of the widget tree
  24. Flutter adhoc login example(Did not check): Complication sets in – @required, super, VoidCallBack, TextEditing Controller keywords – probably not what you would want to copy and paste for a standard solution
  25. Flutter routes and navigation(TWFPR1):  Multiple screen apps, routes, Navigator.of, push, pop keywords
  26. Flutter SnackBar demo (TWFPR1): GlobalKey<ScaffoldState>
  27. Flutter AlertDialog Demo (Does not completely work): AlertDialog, showDialog, context,Navigator.pop(context)
  28. Flutter single text field input demo (TWFPR1)
  29. Flutter checkbox, checkbox, CheckboxListTile (TWFPR1): and secondary icon
  30. Flutter RadioListTile (TWFPR1): Nice loop  example for creating many at once
  31. Flutter SwitchListTile – like the check box (TWFPR1)
  32. Flutter Slider and LinearProgressIndicator (TWFPR1)
  33. Flutter DropDownButton (AKA ComboBox) (TWFPR1): Bit more complicated, needs map to get values -> widget
  34. Flutter ListView.builder with checkbox checking (TWFPR1) He suggests the ListView.builder option, also controller Affinity is shown, very long lists possible
  35.  Android Studio Live Template: Nice shortcut
  36. Flutter Drawer (TWFPR1):  Quick, often used as a navigation menu
  37. Flutter FloatingActionButton (Video) (Code – TWFPR1) : Quick basic demo
  38. Flutter WidgetBindingObserver (TWFPR1): Optional management options for when you background/foreground this app on the phone, switch(state) example
  39. Flutter Date and Time Pickers (TWFPR1): With some date and time procressing, DateTime, Future, showDatePicker
  40. Flutter Simple Dialog  which is async (TWFPR1):  Future -> await -> SimpleDialog -> SimpleDialogOption ->Navigator.pop, highly extensible! (unlike javascript)
  41. The Author’s Own Flutter Pizza Order Demo:  The last in this series