“language-features”
Dart Pattern Matching and Records: Cleaner Data Flow in Flutter Apps
Dart 3 introduced patterns and records — two features that quietly eliminate entire categories of boilerplate. Here is how they work and where they pay off in real Flutter code.
Dart Macros: Compile-Time Code Generation Comes to the Language
Dart macros promised in-language compile-time code generation with deep semantic introspection. The program was paused in January 2025 over hygiene, analyzer integration, and compile-time performance. This post explains what macros were designed to do, why they did not ship, what the 2026 roadmap replaces them with, and how to keep using build_runner today.
Dart Extension Types: Zero-Cost Wrappers for Safer APIs
Learn how Dart extension types give you branded types, restricted interfaces, and zero-cost interop wrappers — with syntax, transparency via implements, and when to prefer a real class.
Dart Sealed Classes: Exhaustive Switches and Controlled Hierarchies
A practical guide to Dart sealed classes and class modifiers: compiler-checked exhaustive switches, base, interface, final, and when to reach for each one.
Primary Constructors in Dart 3.13: Cleaner Class Definitions
Dart 3.13 introduces primary constructors that reduce boilerplate by declaring parameters directly in the class header. Learn syntax, use cases, and migration tips.