Riverpod is a powerful reactive caching and data-binding framework. Let’s learn how to make the most of it so we can use it effectively. https://codewithandrea.com/articles/flutter-riverpod-data-caching-providers-lifecycle/
I asked ChatGPT to explain some code and write several programs in Dart & Flutter. Here's a full report with my findings, and some tips to make the most of it. https://codewithandrea.com/articles/dart-flutter-chatgpt/
An overview of the data caching capabilities of the Riverpod package, and how things work under the hood. https://codewithandrea.com/articles/flutter-riverpod-providers-lifecycle/
AsyncNotifier is great. But how do we write unit tests for it? Here are all the details and a template you can follow to test your AsyncNotifier subclasses. https://codewithandrea.com/articles/unit-test-async-notifier-riverpod/
A step-by-step tutorial showing how to migrate code using StateProvider and StateNotifier to the new Notifier and AsyncNotifier classes. https://codewithandrea.com/articles/flutter-riverpod-async-notifier/
Thanks to the new Riverpod Generator package, we no longer have to declare providers manually. This guide explains how to use the new @riverpod syntax. https://codewithandrea.com/articles/flutter-riverpod-generator/
How to implement bottom navigation with nested routes in Flutter using the GoRouter and Beamer packages (example app with source code included). https://codewithandrea.com/articles/flutter-bottom-navigation-bar-nested-routes-gorouter-beamer/
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/