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. https://codewithandrea.com/tips/create-dartpad-from-github-gist/
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. https://codewithandrea.com/tips/custom-test-timeout-flutter/
The Flutter testing APIs offer some powerful stream matchers and predicates that we can use to verify state changes over time. Let's see how to use them in practice. https://codewithandrea.com/articles/async-tests-streams-flutter/
Since Dart 2.17, you can initialize parameters of the super class with a new shorthand syntax. Here's how. https://codewithandrea.com/tips/dart-2.17-super-initializers/
Since Dart 2.17, we can add members and additional methods when declaring an enum. Here's how. https://codewithandrea.com/tips/enums-with-members-dart-2.17/
Since Dart 2.17, you can pass arguments to the super class with a new shorthand syntax. Here's how. https://codewithandrea.com/tips/dart-2.17-super-arguments/
When writing tests for functions that throw, we should not invoke them directly, but rather pass them as arguments using a tear-off. https://codewithandrea.com/tips/flutter-test-expect-tear-off/
How to implement controller classes that can hold business logic, manage widget state, and interact with repositories in the data layer. https://codewithandrea.com/articles/flutter-presentation-layer/
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. https://codewithandrea.com/tips/dart-map-update-method/
If you have many StateNotifier subclasses, using try/catch can be tedious. With AsyncValue.guard you get the same result with less boilerplate. https://codewithandrea.com/tips/async-value-guard-try-catch/