
When to use Realtime Updates vs One-Time Reads in Your Flutter Apps
15 min read
Find out when to use one-time reads and when to switch to realtime updates in Flutter development for optimal app performance and user experience.
Find out when to use one-time reads and when to switch to realtime updates in Flutter development for optimal app performance and user experience.
When building mobile apps, we often need to fetch and mutate data. This article explains how to do it effectively using my reference Riverpod architecture.
Introducing a new Riverpod App Architecture that can be used to build scalable and maintainable apps with a clear structure.
Learn how to parse JSON and define type-safe model classes that can handle validation, nullable/optional values, and complex/nested JSON data (updated to Dart 3).
How to implement bottom and side navigation with stateful nested routes in Flutter using the GoRouter package (example app with source code included).
An overview of the major features introduced in Dart 3, including: records, patterns, switch expressions, sealed classes, and class modifiers.
An overview of different techniques for storing API keys on the client, along with security best practices to prevent them from being stolen.
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.
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.
A complete guide to the Riverpod package as a reactive caching and data-binding framework. Fully updated to Riverpod 2.0.
An overview of the feature-first and layer-first approaches when choosing a project structure for medium/large Flutter apps, along with their tradeoffs and common pitfalls.
A curated list of popular VSCode shortcuts, extensions & settings to speed-up your Flutter development workflow and code like a pro.