What's new in Flutter 3.38 and Dart 3.10
Quick Overview
Flutter 3.38 and Dart 3.10 introduce significant updates including Dart 3.10's highly requested dot shorthands, enhanced web development capabilities via customizable server configurations, experimental support for multi-window iOS apps, a 16KB default page size for Android, and new features in DevTools and widget previews.
Key Points: Dart 3.10 introduces Dot Shorthands, inspired by Swift, allowing for concise access to static members of known types without restating the type name (e.g., accessing as ). Flutter web development gains improved server configuration options in , allowing developers to define custom ports, hosts, and HTTPS settings, as well as proxy rewrites for URL paths. Flutter 3.38 adds early, experimental support for the iOS UI Scene Lifecycle API, requiring developers to run to enable it. Android apps targeting API 21+ now default to a 16KB page size, which drives significant performance improvements on modern, high-memory devices. Flutter 3.38 brings fresh functionality to DevTools, including experimental widget previews that allow developers to quickly examine widget variations side-by-side without launching the entire app. Framework updates include ongoing work on design language decoupling to separate Material and Cupertino libraries from the core framework, allowing for more nimble updates.
Context: This video provides a detailed overview of the new features and improvements included in the release of Flutter 3.38 and Dart 3.10, presented by Craig Labenz, a Developer Relations Engineer. The updates span language syntax, web development tooling, platform-specific enhancements for iOS and Android, and improvements to developer tooling like DevTools.
Detailed Analysis
The presentation covers several key updates in Flutter 3.38 and Dart 3.10. Dart 3.10 introduces Dot Shorthands, a heavily requested feature inspired by Swift, which simplifies code by allowing access to static properties or constructors of known types without repeating the type name (e.g., using instead of ). For Flutter web, developers can now configure the development server via a file to set hosts, ports, enable HTTPS, and define proxy rewrites for URL paths. Flutter 3.38 brings early, experimental support for Apple's UI Scene Lifecycle API on iOS, which is mandatory for new UIKit-based apps; this is enabled via the command . Furthermore, the default Android page size is reduced to 16KB for apps targeting Android API 21+, leading to better performance on modern devices. DevTools receives updates, most notably experimental widget previews which allow developers to test different widget variations (like Material vs. Cupertino themes) side-by-side within the IDE. The framework is also continuing work on decoupling design languages (Material and Cupertino) from the core framework for greater agility. Finally, Flutter 3.38 improves app launching times for attached Apple devices when using by removing the requirement for Xcode to open automatically.