The UI framework Flutter 2.10 will increase the number of supported platforms by including stable Windows support. What is more, the new release will bring performance improvements.
Now, with the introduction of Windows support, Flutter enables the creation of cross-platform apps that run on iOS, Android, the Web, and Windows, whereas Flutter for macOS and Linux is currently in beta, noted InfoQ in an article.
Flutter for Windows provides the same main feature set as on other platforms, plus the Flutter’s rendering system, Skia graphics engine, widgets, and more. Flutter apps for Windows can use any Win32, COM, and Windows Runtime APIs using Dart FFI layer which provides C-level interoperability, including a specific C++ platform plugin.
A number of Flutter plugins have been extended to work natively on Windows. These include camera, file_picker, and shared_preferences. Hundreds of Dart packages provide direct access to Windows APIs, such as webview, battery, serial_port, and more, without requiring the use of the C-level FFI.
Customers can create Windows apps that have a native look because from now on Flutter on Windows supports Microsoft Fluent design, thanks to packages like fluent_ui and flutter_acrylic. Flutter for Windows include 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;
- a lower-level C++ layer responsible for translating and dispatching Windows messages.
The Flutter 2.10 release now supports a partial repaint of a dirty region on iOS, bringing down GPU utilization from more than 90% to 10% in a few benchmarks. Image opacity handling, on the other hand, has become much faster. Flutter 2.10 includes a new type flow analysis implementation, which brings build times down by approximately 10%.
The new Flutter release begins the transition to Material 3, which aims to provide a more personal feel to UIs by enabling UI customization via advanced use of automatic generated color palettes.