An overview of different techniques for storing API keys on the client, along with security best practices to prevent them from being stolen. https://codewithandrea.com/articles/flutter-api-keys-dart-define-env-files/
How to access localized strings outside your widgets without a BuildContext, by creating a locale-aware AppLocalizations provider using Riverpod. https://codewithandrea.com/articles/app-localizations-outside-widgets-riverpod/
Flutter apps built for macOS need a client network entitlement in order to make network requests. Here's how to configure it. https://codewithandrea.com/tips/socket-exception-connection-failed-macos/
Fpdart aims to bring all the main types found in functional languages to Dart. Here we focus on the Either type and learn how to use it for robust error handling. https://codewithandrea.com/articles/functional-error-handling-either-fpdart/
If we want to make it explicit when a function can throw or return an error in Dart, we can use the Result type rather than throwing an exception. Here are all the details. https://codewithandrea.com/articles/functional-error-handling-task-either-fpdart/
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/