Flutter Videos

All the Flutter video tutorials from my YouTube channel.

Flutter Videos
Flutter Web vs HTML, CSS & JS: Performance Comparison

Flutter Web vs HTML, CSS & JS: Performance Comparison

#dart
#flutter
#flutter-web

And in-depth performance comparison of my new home page, built with Flutter web vs standard web technologies. All benchmarks were run with Google PageSpeed Insights and WebPageTest.org.

Learn Flutter Animations in 8 Minutes + Free Gallery App on GitHub

Learn Flutter Animations in 8 Minutes + Free Gallery App on GitHub

#dart
#flutter
#animations

Learn how to use the most common Flutter animation APIs with examples and a free gallery app on GitHub.

How to build any kind of app in Flutter (and overcome Tutorial Hell)

How to build any kind of app in Flutter (and overcome Tutorial Hell)

#flutter
#career
#productivity

Tips for learning how to build your own Flutter apps, overcome Tutorial Hell, and figure out what to do when you get stuck.

Colors / Numbers Game with Flutter Implicit Animations

Colors / Numbers Game with Flutter Implicit Animations

#dart
#flutter
#animations

How to use animations in Flutter to spice up a fun game written in Dartpad. Learn about implicit animations, AnimatedAlign, duration and curves.

How to reduce AnimationController boilerplate code: Flutter Hooks vs extending the State class

How to reduce AnimationController boilerplate code: Flutter Hooks vs extending the State class

#dart
#flutter
#animations

How to use Flutter Hooks or State subclassing to reduce your AnimationController boilerplate code.

Flutter Animations: Interactive Page Flip Widget [Part 2]

Flutter Animations: Interactive Page Flip Widget [Part 2]

#dart
#flutter
#animations

How to build an interactive page flip widget using Flutter's AnimationController, AnimationBuilder, gesture detectors and custom 3D matrix transforms (part 2).

Flutter Animations: Interactive Page Flip Widget

Flutter Animations: Interactive Page Flip Widget

#dart
#flutter
#animations

How to build an interactive page flip widget using Flutter's AnimationController, AnimationBuilder, gesture detectors and custom 3D matrix transforms (part 1).

Flutter State Management: Going from setState to Freezed & StateNotifier with Provider

Flutter State Management: Going from setState to Freezed & StateNotifier with Provider

#dart
#flutter
#state-management
#architecture
#provider
#freezed

Mixing UI and logic inside Flutter widgets is bad. Here's how to refactor a simple app for better separation of concerns, immutability, and type safety using Freezed & State Notifier.

Flutter State Management Basics and Useful Resources

Flutter State Management Basics and Useful Resources

#dart
#flutter
#state-management

An overview of Flutter's built-in widgets for managing state, along with links to the best resources from the official Flutter documentation.

My 2020 Christmas Gift: Free Flutter Example Apps on GitHub

My 2020 Christmas Gift: Free Flutter Example Apps on GitHub

#dart
#flutter

I published a directory of all my open source Flutter apps and projects on GitHub. Here's where to find it.

Top 16 Dart Tips and Tricks Every Flutter Developer Should Know

Top 16 Dart Tips and Tricks Every Flutter Developer Should Know

#dart
#flutter

A curated list of useful Dart tips that will improve your coding style as a Flutter developer.

Dart Beginners Course - Tutorial #08: Null Safety

Dart Beginners Course - Tutorial #08: Null Safety

#dart

This is the eigth chapter of my Complete Dart Course, featuring a full overview of Null Safety in Dart.

Dart Beginners Course - Tutorial #07: Data Processing in Dart

Dart Beginners Course - Tutorial #07: Data Processing in Dart

#dart

This is the seventh chapter of my Complete Dart Course, showing how to process CSV files in Dart.

Dart Beginners Course - Tutorial #06: Collections

Dart Beginners Course - Tutorial #06: Collections

#dart

This is the sixth chapter of my Complete Dart Course, showing how to use collections in Dart (lists, sets, maps).

Dart Beginners Course - Tutorial #05: Build a Command Line App

Dart Beginners Course - Tutorial #05: Build a Command Line App

#dart

This is the fifth chapter of my Complete Dart Course, showing how to build a command line app in Dart to play a game of Rock, Paper and Scissors.

Dart Beginners Course - Tutorial #04: Control Flow

Dart Beginners Course - Tutorial #04: Control Flow

#dart

This is the fourth chapter of my Complete Dart Course, covering control flow directives such as if/else, while/for loops, switch and enumerations.

Dart Beginners Course - Tutorial #03: Dart Type System

Dart Beginners Course - Tutorial #03: Dart Type System

#dart

This is the third chapter of my Complete Dart Course, covering the Dart Type System, and how to use var, final, const and dynamic.

Dart Beginners Course - Tutorial #02: Dart Basics

Dart Beginners Course - Tutorial #02: Dart Basics

#dart

This is the second chapter of my Complete Dart Course, covering the basics of the Dart Language.

Dart Beginners Course - Tutorial #01: Introduction

Dart Beginners Course - Tutorial #01: Introduction

#dart

This is the first chapter of my Complete Dart Course.

The Complete Dart Guide for Beginners And Beyond: Course Launch

The Complete Dart Guide for Beginners And Beyond: Course Launch

#dart

I'm launching a Complete Dart Course for beginners with over 8 hours of content, exercises, practical projects and more!

Dart Null Safety: The Ultimate Guide to Non-Nullable Types

Dart Null Safety: The Ultimate Guide to Non-Nullable Types

#dart
#null-safety

A complete tour of Null Safety & non-nullable types, the syntax changes they introduce in Dart 2.12, and how to use them in practice.

23 Top Tips to Become a Better Software Engineer

23 Top Tips to Become a Better Software Engineer

#career
#productivity

How to improve your coding skills and become a better software engineer.

Flutter Tutorial for Beginners: Layout Basics

Flutter Tutorial for Beginners: Layout Basics

#flutter
#dart

Learn about Flutter layout basics with over 2 hours of in-depth content (free sample from my Flutter & Firebase course)

Flutter Tutorial for Beginners: Introduction

Flutter Tutorial for Beginners: Introduction

#flutter
#dart

Introduction to Flutter: the widget tree, stateless and stateful widgets, hot reload and hot restart, and a detailed explanation of the default counter app.

How to Create Dart Packages for Your Flutter Apps

How to Create Dart Packages for Your Flutter Apps

#flutter
#dart

How to create your own Dart packages from existing apps, and other things you need to know.

Top 8 Pro Tips for Flutter Web Apps using Firebase

Top 8 Pro Tips for Flutter Web Apps using Firebase

#flutter
#flutter-web
#dart
#firebase

8 top tips that will save you time in your Flutter web projects.

Going Full Stack with Flutter Web & Cloud Functions: A Case Study

Going Full Stack with Flutter Web & Cloud Functions: A Case Study

#flutter
#flutter-web
#cloud-functions
#firebase

Case study showing how I have built a backend REST API and Admin Dashboard with Cloud Functions and Flutter web.

RxDart by example: querying the GitHub Search API with switchMap & debounce

RxDart by example: querying the GitHub Search API with switchMap & debounce

#flutter
#dart
#rxdart
#search

Best practices for implementing search with RxDart in Flutter, using the GitHub Search REST API as an example.

RxDart by example: combineLatest and data modeling with Firestore

RxDart by example: combineLatest and data modeling with Firestore

#flutter
#dart
#rxdart
#firestore
#firebase

In-depth tutorial explaning combineLatest and data modeling with movie favourite example Flutter app.

Flutter REST API Crash Course - Full Course Now Available

Flutter REST API Crash Course - Full Course Now Available

#flutter
#dart
#rest
#http

Master the basics of REST APIs and the Dart http package. Build a Coronavirus tracking application following best practices.

Flutter REST API Crash Course - Part 2: Building an API Service with the Dart http package

Flutter REST API Crash Course - Part 2: Building an API Service with the Dart http package

#flutter
#dart
#rest
#http

Second chapter of my course about building a Coronavirus Tracker App with the nCoV 2019 REST API.

Flutter REST API Crash Course - Part 1: Intro to REST, the nCoV 2019 REST API & REST Client

Flutter REST API Crash Course - Part 1: Intro to REST, the nCoV 2019 REST API & REST Client

#flutter
#dart
#rest
#http

First chapter of my course about building a Coronavirus Tracker App with the nCoV 2019 REST API.

Flutter REST API Crash Course Launch: Build a Coronavirus Tracking App

Flutter REST API Crash Course Launch: Build a Coronavirus Tracking App

#flutter
#dart
#rest
#http

Master the basics of REST APIs and the Dart http package. Build a Coronavirus tracking application following best practices.

Take Home Project for Flutter Job Interview - Firebase version

Take Home Project for Flutter Job Interview - Firebase version

#flutter
#dart
#firebase
#interview
#career

Take-home projects are a task often given to candidates during the interview process. This article shows a hypothetical assignment that I would give to candidates interviewing for a Flutter developer role.

Starter Architecture for Flutter & Firebase Apps using Riverpod

Starter Architecture for Flutter & Firebase Apps using Riverpod

#flutter
#dart
#firebase
#architecture
#riverpod
#design-patterns

A detailed overview of a production-ready architecture that I've fine-tuned over the last two years. You can use the included starter project as the foundation for your Flutter & Firebase apps.

Flutter Custom Painting: Do Not Fear The Canvas

Flutter Custom Painting: Do Not Fear The Canvas

#flutter
#dart
#canvas
#painting

This tutorial shows how to use Flutter custom painters to draw a happy face on screen with Dartpad, starting from scratch. Included: drawing custom shapes with Canvas and Paint, and layout considerations when using CustomPainter.

Apple Sign In with Flutter & Firebase Authentication

Apple Sign In with Flutter & Firebase Authentication

#flutter
#firebase
#authentication

How to implement Apple Sign In with Flutter & Firebase Authentication (from scratch), and give your iOS users a convenient way of signing into your app.

What's great about Flutter?

What's great about Flutter?

#flutter
#dart

Evaluating Flutter from various criteria: Portability, Language Tooling and Features, Documentation, Performance, Testing, Community, Package Ecosystem, Maintainer Commitment and many more.

Dart Extensions: Full Introduction and Practical Use Cases

Dart Extensions: Full Introduction and Practical Use Cases

#flutter
#dart
#extensions

Dart extensions unlock a few interesting use cases in Flutter apps. This tutorial shows how to enable them, what they are, when to use them, and when not to.

Advanced Provider Tutorial - Part 3: Better APIs, Navigation, Widget Rebuilds

Advanced Provider Tutorial - Part 3: Better APIs, Navigation, Widget Rebuilds

#flutter
#dart
#provider

Multi-part tutorial on how to choose and upload an avatar image to Firestore. Part 3 shows more advanced use cases of Provider to reduce boilerplate code, deal with navigation, and minimise unwanted widget rebuilds.

Advanced Provider Tutorial - Part 2: MultiProvider, Multiple Services & Stream Dependencies

Advanced Provider Tutorial - Part 2: MultiProvider, Multiple Services & Stream Dependencies

#flutter
#dart
#provider

Multi-part tutorial on how to choose and upload an avatar image to Firestore. Part 2 shows how to use MultiProvider to create multiple services, and how to deal with stream dependencies.

Advanced Provider Tutorial - Part 1: Project Setup & Authentication Flow

Advanced Provider Tutorial - Part 1: Project Setup & Authentication Flow

#flutter
#dart
#provider

Multi-part tutorial on how to choose and upload an avatar image to Firestore. Part 1 is an overview of initial project setup, and shows how to connect things together with Provider.

Flutter Provider: The Essential Guide

Flutter Provider: The Essential Guide

#flutter
#dart
#provider

Essential guide to Provider for state management in Flutter. This tutorial shows how to refactor the counter app with Provider, and includes in-depth explanations about ChangeNotifier, ChangeNotifierProvider, Provider.of, Consumer and ValueNotifier.

Flutter Provider: Introduction

Flutter Provider: Introduction

#flutter
#dart
#provider

Introduction to Provider, a popular package used for dependency injection and state management in Flutter. This tutorial shows how to use it to enable flavors in your Flutter apps.

Design, Develop, Deliver: My Favorite Tools for Building Flutter Apps

Design, Develop, Deliver: My Favorite Tools for Building Flutter Apps

#flutter
#dart
#UI-design
#firebase
#CI

Overview of the tools I use in my Flutter app development workflow. Including Sketch, Supernova, VS Code, GitUp, GitHub, Firebase, Codemagic.

Flutter Slivers Overview: SliverList, SliverGrid, SliverToBoxAdapter, SliverFillRemaining

Flutter Slivers Overview: SliverList, SliverGrid, SliverToBoxAdapter, SliverFillRemaining

#flutter
#dart
#layouts

In-depth overview of Slivers and how to use them (part 2). Includes a demo app showing how to use SliverList, SliverGrid, SliverToBoxAdapter, SliverFillRemaining.

Flutter Slivers Overview: SliverAppBar, SliverPersistentHeader

Flutter Slivers Overview: SliverAppBar, SliverPersistentHeader

#flutter
#dart
#layouts

In-depth overview of Slivers and how to use them (part 1). Includes a demo app showing how to use SliverAppBar and SliverPersistentHeader.

Dart Features For Better Code: Spreads, Collection-If, Collection-For

Dart Features For Better Code: Spreads, Collection-If, Collection-For

#flutter
#dart

Overview of the 'Dart as UI' features introduced in Dart 2.3. Uses a fitness tracker custom UI as an example.

Dart Features for Better Code: Types and working with parameters

Dart Features for Better Code: Types and working with parameters

#flutter
#dart

Overview and practical use cases of type inference, final & const, named & positional parameters, @required & default values.

Flutter State Management: setState, BLoC, ValueNotifier, Provider

Flutter State Management: setState, BLoC, ValueNotifier, Provider

#flutter
#dart
#state-management

A comparison of different state management techniques, using a simple authentication flow as an example.

Flutter & Firebase: Authentication Service with Provider & ValueNotifier

Flutter & Firebase: Authentication Service with Provider & ValueNotifier

#flutter
#dart
#provider
#firebase
#authentication

Code walkthrough for the authentication code in my Flutter & Firebase reference authentication demo on GitHub.

Flutter & Firebase: Reference Authentication Demo

Flutter & Firebase: Reference Authentication Demo

#flutter
#dart
#firebase
#authentication

Introducing my reference authentication demo with Flutter & Firebase on GitHub, supporting multiple authentication methods and best coding practices.

Flutter & Firebase Authentication with Streams and StreamBuilder

Flutter & Firebase Authentication with Streams and StreamBuilder

#flutter
#dart
#streams
#firebase
#authentication

Continuation on my video series on how to build a login flow with Firebase. It shows how to use StreamBuilder with the onAuthStateChanged stream to simplify authentication state logic in Flutter apps.

Introduction to Dart - Part 5: Control Flow

Introduction to Dart - Part 5: Control Flow

#flutter
#dart

Dart introduction covering if & else statements, the ternary operator, while and for loops, closures and the fold method, enumerations and switch statements.

Introduction to Dart - Part 4: Collections and Generics

Introduction to Dart - Part 4: Collections and Generics

#flutter
#dart

Dart introduction covering list, maps and generics with type annotations.

Introduction to Dart - Part 3: Classes

Introduction to Dart - Part 3: Classes

#flutter
#dart

Dart introduction covering classes, including class & super constructors, instance methods, inheritance, base Object classes and the toString() method, abstract classes and computed properties.

Introduction to Dart - Part 2: Functions

Introduction to Dart - Part 2: Functions

#flutter
#dart

Dart introduction covering functions, including return types, optional parameters, nullability and default values, named parameters and the arrow operator.

Introduction to Dart - Part 1: Variables and Types

Introduction to Dart - Part 1: Variables and Types

#flutter
#dart

Dart introduction showing how to write a simple program in Dartpad. Includes variable declaration and initialization, string interpolation, type inference, var, final and dynamic.

Flutter: Platform Aware Widgets and Dialogs

Flutter: Platform Aware Widgets and Dialogs

#flutter
#dart

Tutorial showing how to switch between Material and Cupertino widgets, and increase code reuse by building a platform-aware abstract base class with concrete sub-classes. Includes an overview of dialogs and their platform-specific differences.

Flutter: Input Validation with RegExp

Flutter: Input Validation with RegExp

#flutter
#dart
#input-validation

Overview of regular expressions (regex). How to implement a Regex validator in Dart and integrate it with Flutter's TextField widget, so that we can validate user input.

Flutter: Deep Dive with Widget Tests and Mockito

Flutter: Deep Dive with Widget Tests and Mockito

#flutter
#dart
#testing

Deep dive into widget tests. Introduces WidgetTester, Finder, matcher objects, and shows how to write tests for a login screen. Includes test mocks, mockito, acceptance criteria.

Flutter: Add Unit Tests to Your App

Flutter: Add Unit Tests to Your App

#flutter
#dart
#testing

How to extract business logic from your apps into testable classes, and write unit tests in Flutter. Uses a login demo example to write email & password validation tests.

Flutter: Scoped Access with InheritedWidget

Flutter: Scoped Access with InheritedWidget

#flutter
#dart
#scoped-access

How to use InheritedWidget to provide scoped access to dependencies within a widget tree, as opposed to constructor dependency injection.

Flutter State Management: setState, StreamBuilder, Scoped Model, Redux

Flutter State Management: setState, StreamBuilder, Scoped Model, Redux

#flutter
#dart
#state-management
#redux
#streams

How to implement a Firebase-backed multiple-counter app with different state management techniques. Evaluation of their tradeoffs.

Flutter Layouts Walkthrough: PageView, ListView, GridView, Slivers, CustomScrollView

Flutter Layouts Walkthrough: PageView, ListView, GridView, Slivers, CustomScrollView

#flutter
#dart
#layouts

How to build layouts with scrollable pages, lists, grids, and other convenience widgets. Includes slivers and their usage to create a hero image effect.

Flutter Layouts Walkthrough: Row, Column, Stack, Expanded, Padding

Flutter Layouts Walkthrough: Row, Column, Stack, Expanded, Padding

#flutter
#dart
#layouts

How to build basic layouts in Flutter. Also included: MainAxisAlignment, MainAxisSize, CrossAxisAlignment, Baseline, AlignmentDirectional, LayoutBuilder, SizedBox.

Flutter & RoboHash 03 - Add an avatar to your app

Flutter & RoboHash 03 - Add an avatar to your app

#flutter
#dart

How to add an avatar image to your app by using FutureBuilder and the RoboHash API. Part 3: customising appearance with BoxDecoration, adding a border with a circle shape and a background gradient, and more.

Flutter & RoboHash 02 - Add an avatar to your app

Flutter & RoboHash 02 - Add an avatar to your app

#flutter
#dart

How to add an avatar image to your app by using FutureBuilder and the RoboHash API. Part 2: creating a configurable Avatar class, using the http package, and using FutureBuilder to load content asynchronously and handle loading / success / error states.

Flutter & RoboHash 01 - Add an avatar to your app

Flutter & RoboHash 01 - Add an avatar to your app

#flutter
#dart

How to add an avatar image to your app by using FutureBuilder and the RoboHash API. Part 1: quick tour and project setup.

Flutter & Firebase Auth 06 - Home page + Sign out + Complete and review sign in flow

Flutter & Firebase Auth 06 - Home page + Sign out + Complete and review sign in flow

#flutter
#dart
#firebase
#authentication

Login and registration flow with Firebase. Part 6 shows how to create a home page and complete the sign out flow.

Flutter & Firebase Auth 05 - Switch between login & home page + State initialization

Flutter & Firebase Auth 05 - Switch between login & home page + State initialization

#flutter
#dart
#firebase
#authentication

Login and registration flow with Firebase. Part 5 shows how to add a root widget and control what UI to show depending on authentication state.

Flutter & Firebase Auth 04 - Overview of root & home page + Refactor Firebase authentication code

Flutter & Firebase Auth 04 - Overview of root & home page + Refactor Firebase authentication code

#flutter
#dart
#firebase
#authentication

Login and registration flow with Firebase. Part 4 shows how to redirect user to a welcome screen after logging in. Also how to refactor the authentication code into a separate reusable class.

Flutter & Firebase Auth 03 - Add Firebase registration form + State management

Flutter & Firebase Auth 03 - Add Firebase registration form + State management

#flutter
#dart
#firebase
#authentication

Login and registration flow with Firebase. Part 3 shows how to sign in with Firebase authentication, add the registration flow, write asynchronous code with async/await, and handle errors.

Flutter & Firebase Auth 02 - Create, validate and save a login form + Firebase iOS auth integration

Flutter & Firebase Auth 02 - Create, validate and save a login form + Firebase iOS auth integration

#flutter
#dart
#firebase
#authentication

Login and registration flow with Firebase. Part 2 shows how to build an email and password form with validation, and how to add Firebase to the project (iOS setup included).

Flutter & Firebase Auth 01 - Intro + Create a new app + Stateless & stateful widgets

Flutter & Firebase Auth 01 - Intro + Create a new app + Stateless & stateful widgets

#flutter
#dart
#firebase
#authentication

Login and registration flow with Firebase. Part 1 includes an introduction to Flutter, a preview of the login and registration flow, and the initial project setup.

All Tutorials

Videos

Browse all 75 videos

Articles

Browse all 40 articles

Tips

Browse all 16 tips

Get the best Flutter tutorials, right in your inbox.

Join over 16,000 developers who receive my weekly Flutter email course & newsletter:

No spam, ever. Unsubscribe at any time.