
Flutter Exception Handling with try/catch and the Result type
11 min read
How to use sealed classes to create a Result type that makes it explicit when a function can return an error, rather than throwing an exception.
How to use sealed classes to create a Result type that makes it explicit when a function can return an error, rather than throwing an exception.
An overview of the major features introduced in Dart 3, including: records, patterns, switch expressions, sealed classes, and class modifiers.
An in-depth overview of what abstractions to use to write backend-agnostic code that is more testable and maintainable, along with their tradeoffs.
An overview of different techniques for storing API keys on the client, along with security best practices to prevent them from being stolen.
The new Riverpod Lint package adds useful lints and refactoring options that make writing Flutter apps a breeze. Here's how to make the most of it.
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.
Let's explore some techniques to separate our business logic and navigation code from the UI, using GoRouter and Riverpod.
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.
An introduction to a new App Architecture based on Riverpod, and comparison with other popular ones such as MVC, MVVM, Bloc, Stacked & Clean Architecture.
A curated list of popular VSCode shortcuts, extensions & settings to speed-up your Flutter development workflow and code like a pro.