Facilitating the Spread of Knowledge and Innovation in Professional Software Development

Write for InfoQ


Choose your language

InfoQ Homepage News Flutter 2.10 Brings Stable Windows Support

Flutter 2.10 Brings Stable Windows Support

This item in japanese

With the release of version 2.10, UI framework Flutter extends the number of supported platforms by including stable Windows support. In addition, the new release brings performance improvements and begins the transition to Material 3.

With the introduction of Windows support, Flutter makes it possible to create cross-platform apps that run on iOS, Android, the Web, and Windows. Furthermore, Flutter for macOS and Linux is currently in beta.

Flutter for Windows provides the same core feature set as on other platforms, including the Skia graphics engine, Flutter's rendering system, widgets, and so on. Flutter apps for Windows can additionally use any Win32, COM, and Windows Runtime APIs using Dart FFI layer which provides C-level interoperability, as well using a specific C++ platform plugin.

Windows integration, though, goes beyond that. Indeed, a number of Flutter plugins such as camera, file_picker, and shared_preferences have been extended to work natively on Windows. Additionally, hundreds of Dart packages provide direct access to Windows APIs, including webview, battery, serial_port, and many more, without requiring you to use the C-level FFI.

Most significantly, Flutter on Windows supports Microsoft Fluent design, thanks to packages like fluent_ui and flutter_acrylic. This means you can create Windows apps that have a native look.

From an architectural point of view, Flutter for Windows has three main layers: the high-level Dart framework that provides gesture support, animations, painting, widgets, and so on; an intermediate Flutter engine written in C++ which includes the Dart runtime and Skia graphics engine; and a lower-level C++ layer responsible for translating and dispatching Windows messages.

While stable support for Windows is the most significant novelty in Flutter 2.10, there is more than that deserving a mention. In particular, the new release includes a number of runtime and build-time performance improvements. On iOS, partial repaint of a dirty region is now supported, bringing down GPU utilization from more than 90% to 10% in a few benchmarks. Similarly, image opacity handling has become much faster. Flutter 2.10 also includes a new type flow analysis implementation, which brings build times down by approximately 10%.

As mentioned, this new Flutter release also begins the transition to Material 3, which aims to provide a more personal feel to UIs by enabling UI customization through advanced use of automatic generated color palettes.

There is much more to Flutter 2.10 than what can be summarized here, so do not skip the original announcements to get the full details.

About the Author

Rate this Article