
In Dart, we can use the Result type to make it explicit when a function can return an error, rather than throwing an exception. Here's an overview of the pros and cons. https://codewithandrea.com/articles/flutter-exception-handling-try-catch-result-type/

An overview of how we can use Riverpod to register listeners and initialize complex objects with dependencies during app startup. https://codewithandrea.com/articles/riverpod-initialize-listener-app-startup/

An introduction to singletons in Flutter: what problems they solve, what other ones they introduce, and what are their alternatives. https://codewithandrea.com/articles/flutter-singletons/

Service classes are the ideal place to store logic that depends on multiple data sources or repositories. Let's explore them by building a shopping cart feature. https://codewithandrea.com/articles/flutter-app-architecture-application-layer/

Asking questions and receiving answers is a two-way street. Here's what to do when you need to ask a technical coding question. https://codewithandrea.com/articles/beginners-guide-coding-questions/

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/