Original link: medium.com/flutter/ann…
Since launching Flutter, we have focused on providing a cross-platform solution for beautiful custom applications that are compiled into machine code and take advantage of the underlying graphics hardware capabilities of the device.
That vision took a major new step forward today with the release of the first Windows support version.
There are currently nearly half a million applications using Flutter…
To date, we have seen momentum beyond our expectations. There are now nearly half a million published applications using Flutter, including large ones from companies like Betterment, BMW and ByteDance, And apps developed by 30 teams at Google.
As measured by analysts such as Statista and SlashData, Flutter 2021 has become the most popular cross-platform UI toolkit:
Throughout all four quarterly surveys in 2021, 92% of Flutter developers consistently expressed positive satisfaction with our tools. (For the other 8%, we’re listening to you)
A common request in the survey data was support for Windows.
Today, we are pleased to announce full support for Windows apps in stable releases.
Window and Flutter
A few years ago we set out an ambitious vision for Flutter to expand beyond mobile applications on iOS and Android to include Web and Desktop platforms.
The core of Flutter cross-platform is: portability, the Skia graphics engine, the Flutter rendering system, animation, themes, text input and internationalization, and the hundreds of controls that Flutter provides.
But desktop apps aren’t just mobile apps running on bigger screens:
- It also has dedicated input devices, such as a keyboard and mouse, and has resized Windows, usually running on widescreen monitors.
- Different rules of engagement for key things like assistive functions, input method editors, and visual styles;
- Integration with different apis in the underlying operating system: desktop applications support everything from file system selectors to device hardware to data stores like the Windows registry;
So while we introduced Windows support for Flutter, we also tailored Flutter for Windows.
Just as we support Android and iOS, the Windows implementation of Flutter combines the Dart framework with the C++ engine. Windows and Flutter communicate through an embedded layer, This embedded layer hosts the Flutter engine and is responsible for translating and distributing Windows messages.
Flutter works with Windows to draw the developer’s UI onto the screen, handle events such as window sizing and DPI changes, and works with existing Windows modes for internationalization, such as the input method editor.
Flutter uses exactly the same Dart code on Windows, but leverages the native Windows API, so your application can use all the capabilities of the Flutter framework.
On Windows it also communicates directly with Win32, COM, and Windows runtime apis through Dart’s C Layer or platform plug-ins written in C++. We’ve also tweaked some common plug-ins to support Windows, including: Camera, File_picker, shared_preferences, and more.
What’s more, the community has added Windows support for a host of other packages, covering everything from Windows taskbar integration to serial port access.
Hundreds of Packages have been adapted to support Flutter applications built for Windows.
You can use packages like Fluent_UI and Flutter_ACRYLIC to create an application designed by Microsoft Fluent for a fully customized Windows UI.
Using the MSIX tool, you can wrap your application in an installation program that can be uploaded to the Microsoft Store on Windows.
Here are some early examples we’ve seen so far:
Microsoft and Flutter
We asked the Windows team if they would like to share some information about Flutter support. Here’s what Kevin Gallo, Corporate vice president of Microsoft Windows Developer Platform, had to say:
“We are pleased to see that Flutter has added support for creating Windows applications. Windows is an open platform and we welcome all developers, We are excited to see Flutter developers bring their experiences to Windows and publish them to the Microsoft Store. Flutter support for Windows is a big step for the community and we can’t wait to see what you bring to Windows!”
In fact, we can see the contributions of several Microsoft teams to today’s announcement, and in particular we would like to thank the Fluent design team for their icon for the Flutter application on Windows, Their FluentUI_system_icons package has been granted Flutter Favorite status to indicate its quality.
We are also impressed with the investment Microsoft has made around Windows Accessibility, and we are equally grateful to the team for their help in ensuring that Flutter supports screen readers from the outset.
As this diagram from the Microsoft Inclusive Design Toolkit shows, Flutter is concerned with providing an experience that ADAPTS to different permanent, temporary or situational needs.
The Anna is a built-in screen reader application in Windows that can be used with the Flutter application.
A tool ecosystem for Windows development
Our tool partners are also adding support for Windows, some of which are highlighted here:
-
FlutterFlow, a low-code Flutter application design tool, today announced support for Windows and features tailored to help Flutter developers build desktop applications.
-
Realm is an ultra-fast local data store. The latest version released today now supports building Windows applications using Flutter. It uses Dart FFI for fast access to underlying databases, adding existing support for mobile platforms such as iOS and Android.
-
Nevercode has updated its Codemagic CI/CD tools to support Windows, and now you can test and build your Windows applications in the cloud and automatically deploy your applications to the Microsoft Store.
-
Syncfusion has updated its suite of controls to support Windows, and if you subscribe to their toolkit you’ll find rich data visualization components such as tree charts and charts, rich data grid widgets, calendars, and even support for PDF creation and Excel spreadsheets.
-
Finally, Rive today announced the upcoming Windows version of their graphics tool suite, allowing designers and developers to create interactive vector animations that can respond to code in real time using a state machine. Their upcoming Windows version of the application offers surprisingly fast performance and a lower memory footprint, It will soon be available for download in the Microsoft Store.
Flutter 2.10 supports Windows
Released today as part of Flutter 2.10, which provides stable support for building Windows applications, Flutter 2.10 also includes many other features, performance improvements and bug fixes, more can be seen: juejin.cn/post/706067…
In the coming months, you’ll also hear more from us about completing stable support for macOS and Linux to make the full range of desktop, Web and mobile platforms available for your production Flutter application.
Also, thank you for supporting Flutter. We are happy to see what you build with Windows.