Tagged with #dart

Browse all tags
Responsive layouts in Flutter: Split View and Drawer Navigation

Responsive layouts in Flutter: Split View and Drawer Navigation

#dart
#flutter
#layouts
#state-management
#riverpod

How to implement a responsive layout in Flutter by using a split view on large screens and drawer navigation on mobile.

How to create a Flutter GridView with content-sized items

How to create a Flutter GridView with content-sized items

#dart
#flutter
#layouts

GridView is only suitable for items with a fixed aspect ratio. Here's how to use the flutter_layout_grid package to render responsive layouts with variable item sizes.

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.

Flutter State Management with Riverpod: The Essential Guide

Flutter State Management with Riverpod: The Essential Guide

#dart
#flutter
#state-management
#architecture
#riverpod

A complete guide to the Riverpod package for Flutter state management. Included: core concepts & how to use all the available providers. Updated to Riverpod 1.0.

Flutter Tutorial: How to use the Firebase Local Emulator with Cloud Functions

Flutter Tutorial: How to use the Firebase Local Emulator with Cloud Functions

#dart
#flutter
#firebase
#cloud-functions

Let's build a simple mood tracking app and learn how to work with Firestore, Cloud Functions, and the Firebase Local Emulator.

Flutter TabBar Tutorial: How to Navigate Programmatically Between Tabs

Flutter TabBar Tutorial: How to Navigate Programmatically Between Tabs

#dart
#flutter
#navigation

Learn how to use the Flutter TabBar widget to take the user through a sequence of pages, and disable user interaction on the tabs themselves.

Flutter TextField Validation: How to work with TextEditingController, Form, and TextFormField

Flutter TextField Validation: How to work with TextEditingController, Form, and TextFormField

#dart
#flutter
#input-validation

A tutorial about text input validation, showing how to work with TextField, TextEditingController, Form, TextFormField as well as their tradeoffs.

AsyncValueWidget: a reusable Flutter widget to work with AsyncValue (using Riverpod)

AsyncValueWidget: a reusable Flutter widget to work with AsyncValue (using Riverpod)

#dart
#flutter
#state-management
#riverpod

How to create a reusable widget class that helps us when working with asynchronous data from Riverpod providers.

How to build a Chat Messaging UI in Flutter

How to build a Chat Messaging UI in Flutter

#dart
#flutter
#layouts

A simple and elegant approach to build a Chat Messaging UI with DecoratedBox, Align, and Padding widgets in Flutter.

How to style an ElevatedButton in Flutter

How to style an ElevatedButton in Flutter

#dart
#flutter

How to style an ElevatedButton in Flutter, including reusing the same style across all buttons with ThemeData.

How to quickly generate some fake data when building Flutter UIs

How to quickly generate some fake data when building Flutter UIs

#dart
#flutter

The faker package lets you generate addresses, names, food, dates, sports... you name it! Here's how to use it.

How to add Rounded Borders to a Widget in Flutter

How to add Rounded Borders to a Widget in Flutter

#dart
#flutter

In Flutter you can use DecoratedBox to set a lot of decoration/styling options to your widgets. Here's how.

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.

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: Animated Task Completion Ring with AnimationController and AnimatedBuilder

Flutter: Animated Task Completion Ring with AnimationController and AnimatedBuilder

#dart
#flutter
#animations

How to animate a custom task completion ring using AnimationController and AnimatedBuilder in Flutter.

Flutter: How to Draw a Task Completion Ring with CustomPainter

Flutter: How to Draw a Task Completion Ring with CustomPainter

#dart
#flutter
#animations

CustomPainter is often the way to go when we need to draw some custom shapes in Flutter. Let's see how to use it in practice.

Migrating a Flutter & Firebase app to Null Safety: A Case Study

Migrating a Flutter & Firebase app to Null Safety: A Case Study

#dart
#flutter
#null-safety

Migrating Flutter apps to Null Safety can be a challenging process. Here I show how to make this as painless as possible, using a non-trivial app as an example.

How to Parse JSON in Dart/Flutter: The Essential Guide

How to Parse JSON in Dart/Flutter: The Essential Guide

#dart
#flutter
#networking
#json

Learn how to parse JSON and define type-safe model classes that can handle validation, nullable/optional values, and complex/nested JSON data.

Flutter Timer vs Ticker: A Case Study

Flutter Timer vs Ticker: A Case Study

#dart
#flutter
#animations

Need a Flutter widget that updates every frame? Here's why using Timer is not a good choice, and why Ticker is a much better solution.

How to Parse JSON in Dart/Flutter with Code Generation using Freezed

How to Parse JSON in Dart/Flutter with Code Generation using Freezed

#dart
#flutter
#json
#code-generation
#freezed

Tired of writing JSON parsing code by hand? Here's how to automate this with code generation and the Freezed package.

Side Effects in Flutter: What they are and how to avoid them

Side Effects in Flutter: What they are and how to avoid them

#dart
#flutter
#state-management

Mutating state or calling async code inside the build method can cause unwanted widget rebuilds and unintended behaviour. Here are some examples and rules to follow.

How to implement a shake text effect in Flutter

How to implement a shake text effect in Flutter

#dart
#flutter
#animations

How to create a custom animation curve and implement a shake effect that can be applied to any widget in Flutter.

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.

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.

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.

Flutter: Why do TweenAnimationBuilder and AnimatedBuilder have a child argument?

Flutter: Why do TweenAnimationBuilder and AnimatedBuilder have a child argument?

#dart
#flutter
#animations

Why and when to use the child widget argument to optimize Flutter performance when working with TweenAnimationBuilder and AnimatedBuilder.

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.

HSL Colors Explained: What they are and when to use them in Dart/Flutter

HSL Colors Explained: What they are and when to use them in Dart/Flutter

#dart
#flutter

Going from RGB to HSL: How to more easily reason about colors as hue, saturation and lightness, and how to use HSL in Flutter.

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).

How to disable the default Widget splash effect in Flutter

How to disable the default Widget splash effect in Flutter

#flutter
#dart

Many Material widgets such as InkWell, ElevatedButton, and ListTile show a splash effect when selected. Here's how to disable this.

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.

How to speed up code generation with build_runner in Dart & Flutter

How to speed up code generation with build_runner in Dart & Flutter

#flutter
#dart
#code-generation
#freezed

Two effective techniques for reducing code generation times for Flutter apps that use build_runner.

Flutter vs React Native - Which is the Best Choice for Your Next App?

Flutter vs React Native - Which is the Best Choice for Your Next App?

#flutter
#react-native
#dart

Should you choose Flutter or React Native for your next app? This article offers an in-depth overview of the two frameworks, along with their pros and cons.

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.

Flutter Bottom Navigation Bar with Multiple Navigators: A Case Study

Flutter Bottom Navigation Bar with Multiple Navigators: A Case Study

#flutter
#dart
#navigation

A guide to implementing multiple independent navigation stacks with BottomNavigationBar in Flutter.

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 & Flutter Easy Wins 36-42

Dart & Flutter Easy Wins 36-42

#flutter
#dart

Easy ways to improve your Dart & Flutter code. Published weekly.

Dart & Flutter Easy Wins 29-35

Dart & Flutter Easy Wins 29-35

#flutter
#dart

Easy ways to improve your Dart & Flutter code. Published weekly.

Dart & Flutter Easy Wins 22-28

Dart & Flutter Easy Wins 22-28

#flutter
#dart

Easy ways to improve your Dart & Flutter code. Published weekly.

Dart & Flutter Easy Wins 15-21

Dart & Flutter Easy Wins 15-21

#flutter
#dart

Easy ways to improve your Dart & Flutter code. Published weekly.

Dart & Flutter Easy Wins 8-14

Dart & Flutter Easy Wins 8-14

#flutter
#dart

Easy ways to improve your Dart & Flutter code. Published weekly.

Dart & Flutter Easy Wins 1-7

Dart & Flutter Easy Wins 1-7

#flutter
#dart

Easy ways to improve your Dart & Flutter code. Published weekly.

Yay! Implicit Downcasts are no longer allowed in Dart 2.9

Yay! Implicit Downcasts are no longer allowed in Dart 2.9

#dart

What implicit downcasts are, why they make your code unsafe, and how to avoid them.

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.

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.

Hide your Firebase config with .gitignore in Flutter web projects

Hide your Firebase config with .gitignore in Flutter web projects

#flutter
#dart
#firebase
#web
#git

A useful tip to hide your Firebase config from git in your Flutter web projects.

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.

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.

Easily move the focus between TextFormFields with FocusScopeNode

Easily move the focus between TextFormFields with FocusScopeNode

#flutter
#dart

FocusScopeNode provides a simpler way of move the focus between text fields in your Flutter forms.

Using underscores for unused builder arguments in Dart

Using underscores for unused builder arguments in Dart

#flutter
#dart
#design-patterns

How to remove some noise in your Dart code by using underscores for unused function arguments.

Adding top and bottom separators with ListView.separated

Adding top and bottom separators with ListView.separated

#flutter
#dart
#layouts

How to make your ListViews feel native on iOS by adding top and bottom separators.

Launching CodeWithAndrea.com

Launching CodeWithAndrea.com

#flutter
#dart
#meta

CodeWithAndrea.com is a brand new website about high-quality Flutter tutorials. It will contain all my YouTube videos, articles and courses.

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.

Case Study: Automating UI/Integration Tests with Flutter Driver and Codemagic

Case Study: Automating UI/Integration Tests with Flutter Driver and Codemagic

#flutter
#dart
#testing
#CI

Let's see how to write integration tests with Flutter Driver, how they differ from widget tests, and how to run them with Codemagic.

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: Designing an Authentication API with Service Classes

Flutter: Designing an Authentication API with Service Classes

#flutter
#dart
#firebase
#authentication
#architecture

Let's see how use service classes to encapsulate 3rd party libraries and APIs, and decouple them from the rest of the application. We will use authentication as a concrete example of this.

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: Global Access vs Scoped Access with Provider

Flutter: Global Access vs Scoped Access with Provider

#flutter
#dart
#dependency-injection
#provider
#firebase
#authentication
#scoped-access

This article shows how to use scoped access with Provider when using service classes in our Flutter apps.

Super Simple Authentication Flow with Flutter & Firebase

Super Simple Authentication Flow with Flutter & Firebase

#flutter
#dart
#firebase
#authentication

In this article we implement a simple authentication flow in Flutter, in less than 100 lines of code.

Widget-Async-Bloc-Service: A Practical Architecture for Flutter Apps

Widget-Async-Bloc-Service: A Practical Architecture for Flutter Apps

#flutter
#dart
#bloc
#state-management

This article introduces a new architectural pattern that I often use in my Flutter Apps. It is inspired by BLoCs and RxVMS.

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.

Dart vs Swift: a comparison

Dart vs Swift: a comparison

#flutter
#dart
#swift
#ios

Detailed side-by-side comparison of language features between Dart 2.1 and Swift 4.2.

Flutter will change everything: A Follow Up

Flutter will change everything: A Follow Up

#flutter
#dart
#swift
#ios

Clarifications and apologies following my previous article.

Flutter will change everything, and is an excellent choice for iOS development

Flutter will change everything, and is an excellent choice for iOS development

#flutter
#dart
#swift
#ios

Controversial article with some history and a detailed comparison between Flutter and native iOS development. Includes an example showing how to build a contact list in Flutter and iOS.

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.

My Favourite List of Flutter Resources

My Favourite List of Flutter Resources

#flutter
#dart

Flutter is awesome! Big thanks to the Flutter team and all the people in the wider community that keep pushing this project to new heights and sharing new learning material.

Flutter: The power of small and reusable widgets

Flutter: The power of small and reusable widgets

#flutter
#dart
#layouts
#refactoring

Let's learn about color gradients, composition, writing reusable UI code, and CupertinoSegmentedControl.

Flutter: Building a Flight CO2 Calculator (Part 1)

Flutter: Building a Flight CO2 Calculator (Part 1)

#flutter
#dart

Let's see how to load a CSV file into strongly-typed model classes, that can be used to calculate CO2 emissions for flights between two airports.

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: Adding Animated Overlays to Your App

Flutter: Adding Animated Overlays to Your App

#flutter
#dart
#navigation
#layouts

Let's see how to use some custom code to add animated overlays and reveal action options from a FAB.

Flutter: BottomAppBar Navigation with FAB

Flutter: BottomAppBar Navigation with FAB

#flutter
#dart
#navigation
#layouts

How to dock a floating action button in the middle of a BottomAppBar.

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: My favourite keyboard shortcuts

Flutter: My favourite keyboard shortcuts

#flutter
#dart
#productivity

List of the most useful IntelliJ/Android Studio shortcuts for better productivity.

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.

Intro to Platform Channels: Building an Image Picker in Flutter

Intro to Platform Channels: Building an Image Picker in Flutter

#flutter
#dart
#platform-channels
#ios
#swift

Let's see how to use platform channels by building an image picker on iOS, and using it from the Dart code.

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.

Take your Flutter tests to the next level with abstract classes and dependency injection

Take your Flutter tests to the next level with abstract classes and dependency injection

#flutter
#dart
#testing

This article shows how to write testable code in Flutter, and take your widget tests to the next level.

How fast is Flutter? I built a stopwatch app to find out

How fast is Flutter? I built a stopwatch app to find out

#flutter
#dart
#performance

In-depth performance comparison for a stopwatch app built in native iOS vs Flutter.

Browse all tags

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.