Flutter Tips

Code samples and useful tips for day-to-day Flutter app development.

Flutter Tips

Using context.mounted in Flutter 3.7

#dart
#flutter
#navigation

Since Flutter 3.7, BuildContext has a mounted property that we can check after an asynchronous gap. Here's how to use it.

How to update old Flutter projects with Dart Fix --apply

#dart
#flutter

An overview of what Dart Fix can do for you, along with some useful VSCode productivity tips and settings for Flutter app development.

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 fix "SocketException: Connection failed (Operation not permitted)" with Flutter on macOS

#dart
#flutter
#networking

Flutter apps built for macOS need a client network entitlement in order to make network requests. Here's how to configure it.

How to Create DartPad Examples from GitHub Gists

#dart
#flutter

DartPad makes it easy to share your Dart & Flutter samples using GitHub gists, and you can even embed them on your website. Here's how.

How to Add a Custom Test Timeout in Flutter

#dart
#flutter
#testing

When a test waits for a stream value that is never emitted, it will timeout after 30 seconds (by default). Here's how to make it fail fast with a custom timeout.

How to Use Super Initializers in Dart 2.17

#dart
#flutter

Since Dart 2.17, you can initialize parameters of the super class with a new shorthand syntax. Here's how.

How to Use Enhanced Enums with Members in Dart 2.17

#dart
#flutter

Since Dart 2.17, we can add members and additional methods when declaring an enum. Here's how.

How to test functions that throw in Flutter

#dart
#flutter
#testing

When writing tests for functions that throw, we should not invoke them directly, but rather pass them as arguments using a tear-off.

How to update a Map of key-value pairs in Dart

#dart
#flutter

Ever needed to update a value if a given key already exists, or set it if it doesn't? Here's how to use the Map.update() method to solve this.

Use AsyncValue.guard rather than try/catch inside your StateNotifier subclasses

#dart
#flutter
#riverpod

If you have many StateNotifier subclasses, using try/catch can be tedious. With AsyncValue.guard you get the same result with less boilerplate.

How to replace SizedBox with compile-time constants for better performance

#dart
#flutter
#layouts

A useful tip to write more performant code when using SizedBox as a gap between widgets inside a Row or Column layout.

How to speed-up Cloud Firestore Xcode builds on your Flutter apps

#flutter
#firebase
#devops

How to use the precompiled Firestore iOS SDKs to speed-up Xcode builds on your Flutter apps.

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

#dart
#flutter

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

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.

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.

Dart & Flutter Easy Wins 36-42

#flutter
#dart

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

Dart & Flutter Easy Wins 29-35

#flutter
#dart

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

Dart & Flutter Easy Wins 22-28

#flutter
#dart

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

Dart & Flutter Easy Wins 15-21

#flutter
#dart

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

Dart & Flutter Easy Wins 8-14

#flutter
#dart

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

Dart & Flutter Easy Wins 1-7

#flutter
#dart

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

Hide your Firebase config with .gitignore in Flutter web projects

#flutter
#dart
#firebase
#flutter-web
#git

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

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

#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

#flutter
#dart
#layouts

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

All Tutorials

Articles

Browse all 79 articles

Videos

Browse all 34 videos

Tips

Browse all 27 tips