Overview
Syllabus
- (0) Introduction to this course .
- (0.1) Why you need to learn Dart prior to Flutter?.
- (0.2) This course is full of unique features.
- (1) Short introduction of all particularities of Dart Language.
- (1.1) What is Dart?.
- (1.2) Type Safety.
- (1.3) Soundness.
- (1.4) Type inference & dynamic vs var.
- (1.5) Null Safety.
- (1.6) Dart Compilers.
- (2) Installing the Dart SDK on multiple platforms.
- (2.1) Introduction to Dart SDK.
- (2.2) Windows Installation.
- (2.3) Linux Installation.
- (2.4) Apple Installation.
- (3) The structure of a Dart Project (multiple templates).
- (3.1) Introduction to Dart CLI.
- (3.2) First Dart Project.
- (3.3) Dart Observatory & Dev Tools.
- (4) Components of a Dart Project .
- (4.1) Dart Package Folder & File Structure.
- (4.2) Dart Packages.
- (4.3) Dart Libraries.
- (4.4) Dart Linting.
- (4.5) Dart Tests.
- (5) JIT & AOT Compilers Explained.
- (5.1) Dart VM.
- (5.2) Running from source using JIT Compiler.
- (5.3) Running from source using AOT Compiler.
- (5.4) JIT vs AOT.
- (6) Kernel, JIT & AOT Snapshots.
- (6.1) What is a dart snapshot?.
- (6.2) Running from kernel snapshot.
- (6.3) Running from jit-snapshot.
- (6.4) Running from aot-snapshot.
- (7) Everything about Dart Packages.
- (7.1) All kinds of dependencies (Immediate, transitive, regular, dev).
- (7.2) All kinds of packages (hosted, git, path, sdk).
- (8) Effective Dart & Analysis Options File.
- (8.1) Analysis_options.yaml file + lint rules.
- (9) Sound Null Safety Explained.
- (10) Dart Variables .
- (10.1) Top level, static, instance, local.
- (10.2) var vs dynamic vs const vs final .
- (11) Built-in Types.
- (11.1) Numbers.
- (11.2) Strings.
- (11.3) Booleans.
- (11.4) Lists.
- (11.5) Sets.
- (11.6) Maps.
- (11.7) Runes.
- (12) Dart Functions Explained.
- (12.1) Anonymous functions (closures, lambdas).
- (12.2) Function parameters (positional, named).
- (13) Dart Operators Explained.
- (13.1) Arithmetic operators .
- (13.2) Equality & relational operators .
- (13.3) Type test operators (as, is, is!).
- (13.4) Assignment operators.
- (14) Dart Control Flow Statements Explained.
- (14.1) Debugging a Dart Program.
- (14.2) if/else.
- (14.3) for loop.
- (14.4) while/do while.
- (14.5) break/continue.
- (14.6) switch case.
- (14.7) exceptions.
- (15) Dart Classes I.
- (15.1) Inheritance intro.
- (15.2) Instance variables & methods.
- (15.3) Constructors.
- (15.4) Singleton, Operators, Static.
- (16) Dart Classes II.
- (16.1) Inheritance.
- (16.2) Polymorphism.
- (16.3) Abstraction, classes, methods, interfaces.
- (16.4) Mixins.
- (16.5) Extension methods.
- (17) Dart Generics Explained.
- (18) Dart Libraries & Private Fields.
- (19) Dart Testing Explained.
- (20) Dart Isolates Explained (Sync & Async Chapter).
- (20.1) Dart Isolate Structure, Event Queue, Event Loop, Single Thread, Memory.
- (20.2) Parallelism.
- (20.3) Isolate Groups.
- (20.4) Microtask queue.
- (21) Dart Synchronous Workflows.
- (21.1) Iterables and Lists.
- (22) Dart Asynchronous Workflows.
- (22.1) Futures in-depth.
- (22.2) Streams in-depth.
Taught by
Flutterly