Class Central is learner-supported. When you buy through links on our site, we may earn an affiliate commission.

Zero To Mastery

Dart: The Complete Developer's Guide

via Zero To Mastery

Overview

Learn Dart programming in depth from an actual Google Developer Expert. This is the only Dart tutorial + projects course you need to learn Dart and build real-world applications from scratch. Go from zero To Dart Mastery.
  • Learn Dart in-depth, all the way from beginner to advanced topics
  • How to write command line apps with Dart
  • Fundamental concepts in programming: variables, types, control flow, collections, functions, classes, asynchronous programming & more
  • How to write clear and effective code using best practices
  • Everything needed to understand Flutter, Angular Dart, and Dart on Backend

Syllabus

  •   Introduction
    • Dart: The Complete Developer's Guide
    • Exercise: Meet Your Classmates and Instructor
    • How-to's: Speed up videos, Downloading videos, Subtitles
    • Making the most of this course
    • Introduction to Dart
    • Introduction to Dartpad
  •   Dart Basics
    • Section Intro
    • The 'main' method
    • Hello world
    • Variable declaration and initialization
    • Basic types
    • Exercise: printing variables
    • String Concatenation & Interpolation
    • Exercise: String interpolation
    • String Escaping
    • Multi-line strings
    • Basic String operations: uppercase and lowercase
    • Initialization vs Assignment
    • Exercise: Lowercase and uppercase strings
    • Finding and replacing strings
    • Conversations between types
    • Arithmetic operators
    • Exercise: temperature conversion
    • Increment & decrement operators
    • Logical & Relational operators
    • Ternary conditional operator
    • Hex format, bitwise & shifting operators
    • Comments
    • Expressions & statements
    • Unlimited Updates
  •   Dart type system
    • Section Intro
    • Static vs Dynamic Languages
    • Type inference with 'var'
    • The 'final' keyword
    • The 'const' keyword
    • Exercise: 'var', 'final' and 'const'
    • The 'dynamic' keyword
  •   Control flow
    • Section Intro
    • If/else statements
    • Exercise: if/else statements
    • while loops
    • for loops
    • Exercise: fizz buzz
    • 'break' and 'continue'
    • switch statements
    • enumerations
    • Exercise: simple calculator
  •   Project: Building a command line app
    • Section Intro
    • Installing the Dart SDK
    • Installing and configuring VS Code
    • Project Brief: Rock, Paper & Scissors
    • Creating a command line app
    • Pseudocode for the game logic
    • Getting use input with stdin from dart:io
    • Implementing the game loop
    • Implementing the game logic
  •   Collections
    • Section Intro
    • Lists
    • Exercise: Sum of the items in a list
    • List methods
    • Type annotations with lists
    • Using 'var', 'final', 'const' with lists
    • Sets
    • Exercise: Sets
    • Maps
    • The 'as' operator
    • The 'null' value
    • Iterating on maps
    • Exercise: Pizza Ordering
    • Nested Collections
    • Exercise: Restaurant ratings
    • Collection-if
    • Collection-for
    • Spreads
    • Exercise: Shopping List
    • Copying collections
    • Exercise: Imposter Syndrome
  •   Project: Data Processing in Dart
    • Section Intro
    • Parsing command line arguments
    • Reading files line by line
    • Pseudocode for the processing logic
    • Implementing the processing logic
  •   Dart Null Safety
    • Introduction to Null Safety
    • Nullable and non-nullable variables
    • Flow Analysis: Promotion and Definite Assignment
    • The assertion operator
    • The if-null operator
    • Null Safety with type inference
    • Null Safety with collections
    • The conditional access operator & the billion dollar mistake
  •   Functions: Basics
    • Section Intro
    • Intro to functions
    • Function arguments
    • Return values
    • Exercise: Sum of a list of numbers
    • Named and positional arguments
    • Required and default values
    • Default positional arguments
    • Exercise: Pizza ordering with functions
    • Fat arrow notations
    • The global and local scope
    • Inner Functions
    • Global mutable state and functions with side effects
  •   Functions: Advanced
    • Section Intro
    • Anonymous functions
    • Functions as first class objects
    • Function types
    • Closures
    • The 'forEach' method
    • The 'map' method
    • 'Iterable' and 'toList()'
    • Code reuse with anonymous functions and generics
    • The 'where' and 'firstWhere' methods
    • Exercise: Implement the 'where' function
    • Ecercise: Implement the 'firstWhere' function
    • The 'reduce' method
    • Combining functional operators
  •   Classes: Basics
    • Section Intro
    • Introduction to classes
    • Instance methods
    • Class constructors and the 'this' keyword
    • Initializer lists and the shorthand syntax
    • Classes with immutable members
    • Exercise: Creating a 'Person' class
    • Type safety with classes
    • 'const' constructors
    • Named constructors
    • Named constructors: temperature example
    • Getters and setters
    • Exercise: Restaurant ratings with classes
    • Static methods and variables
    • Private variables and methods
    • Wrap up
  •   Classes: Advanced
    • Section Intro
    • VS Code Dart Setup with Null Safety
    • Introduction to inheritance/subclassing
    • The 'super' constructor
    • Overriding methods
    • Abstract classes
    • Exercise: Area and Perimeter
    • Interfaces and the difference between 'implements' and 'extends'
    • The base 'Object' class
    • The 'toString()' method
    • The equality operator and the 'covariant' keyword
    • Exercise: Implement the + and * operators
    • Overriding 'hashCode' and the Equatable package
    • Using classes with generics
    • Composition vs inheritance: Flutter widget hierarchy example
    • Factory constructors and reading JSON data
    • Exercise: JSON Serialization
    • Copying objects with 'copyWiith'
    • The cascade operator
  •   Project: Simple eCommerce
    • Simple eCommerce store: Overview
    • Creating the Product, Item, Cart classes
    • Adding the interactive prompt
    • Adding items to the cart
    • Checkout functionality
    • Project structure and wrap-up
  •   Mixins & Extensions
    • Section Intro
    • Creating and using mixins
    • Mixins: Drawbacks
    • Extensions
    • Extensions with generic type constraints
    • Exercise: Range extension
  •   Error Handling & Exceptions
    • Section Intro
    • Errors vs Exceptions
    • Assertions
    • Exceptions: 'throw', 'try', 'catch', 'finally', 'rethrow'
    • Exercise: Email validation
  •   Async Programming
    • Section Intro
    • Futures, 'then', 'catchError', 'whenComplete'
    • 'async' and 'await'
    • 'Future.value' and 'Future.error'
    • Exercise: Countdown with Futures
    • Streams
    • Stream generators: 'async*' and 'yield'
    • Exercise: fizz-buzz with streams
    • Stream constructors
    • Stream methods
    • Single/multiple subscription streams
  •   Weather App
    • Weather App Overview
    • REST API Basics
    • Creating the command-line app
    • Creating a Weather API Client with the Dart http package
    • Reading the response status code and data
    • Completing the Weather API Client
    • Parsing JSON Data
    • Error Handling and Wrap up
  •   Conclusion & Next Steps
    • Thank You!
    • Review This Course!
    • Become An Alumni
    • LinkedIn Endorsements
    • Learning Guideline

Taught by

Andrea Bizzotto

Reviews

Start your review of Dart: The Complete Developer's Guide

Never Stop Learning.

Get personalized course recommendations, track subjects and courses with reminders, and more.

Someone learning on their laptop while sitting on the floor.