The Flutter team has been working on giving a cross-platform solution for creating attractive, customized applications that are compiled to machine code and take full advantage of the underlying graphics capabilities of your device ever since the release of Flutter.
A huge step forward in this ambition has been achieved today with the first production deployment of support for Windows as an app target, allowing Windows developers to profit from the same levels of efficiency and capability that mobile developers have been experiencing.
Our objective with Flutter is to provide you with all the tools you need to create a fantastic experience for your users, regardless of the operating system they are using at the time. As a result, we want to ensure that the same fundamental architecture and tools are available anywhere you wish to paint pixels.
It is possible to create amazing experiences using Flutter, putting your brand and design at the forefront of the encounter. When you use Flutter, you get the speed of compiling straight to machine code and the productivity of an interactive environment that lets you make changes while your app is running and see the effects right away.
As for openness, hundreds of developers are constantly contributing to the core framework and expanding it with an ecosystem of packages. Flutter is free and open source.
Until now, we’ve seen tremendous progress, with approximately half a million apps already published that utilize Flutter, including large-scale applications from firms like Betterment, BMW, and ByteDance, as well as apps from more than thirty Google teams, exceeding our expectations.
Ninety-two percent of Flutter developers consistently expressed good satisfaction with our tools in all four quarterly polls conducted in 2021, consistent with our statistics. One of the most frequently requested features has been Windows support.
Windows and Flutter
We outlined an ambitious goal for Flutter a couple of years ago, which included expanding the platform beyond mobile applications on iOS and Android to additional platforms like the web and the desktop.
It is the core of Flutter that is carried across platforms: from the portable, hardware-accelerated Skia graphics engine to the Flutter rendering system; from core primitives such as animation and theming to text input and multi-language support; and from the hundreds of widgets that are available in Flutter.
On the other hand, desktop applications are not just mobile applications running on a larger screen. They’re created to work with various input devices, such as a keyboard and a mouse. They commonly operate on widescreen monitors since their windows are resizable. The accessibility, input method editors, and visual style standards are only a few examples of the many different types of conventions available.
Furthermore, the interface has various APIs in the underlying operating system: desktop programs support anything from file system selectors to device hardware to data storage such as the Windows registry, among other things.
As a result, although we have introduced Flutter to Windows, we have also customized it to work specifically on Windows.
We’ve combined a Dart framework with a C++ engine to create our Windows version of Flutter, similar to our support for Android and iOS. Windows and Flutter interact via an embedding layer, which contains the Flutter engine and is responsible for interpreting and dispatching Windows messages to and from the Flutter engine.
As a result, Flutter communicates with Windows to display your user interface on the screen, manages events such as window resizing and DPI changes, and interacts with existing Windows modalities for internationalization, such as input method editors.
Your application may use each component of the Flutter framework. On Windows, your application will be able to communicate with the Win32/COM/Windows Runtime APIs, either directly via Dart’s C interop layer or indirectly through a platform plugin written in C++.
Several popular plugins have been modified to incorporate Windows functionality, including the camera, file picker, and shared preferences. The community has also already developed Windows compatibility for various additional programs, ranging from Windows taskbar integration to serial port access.
Additionally, you may package your application as an installation submitted to the Microsoft Store on Windows using the msix utility.
It is hoped that this would encourage the development of applications that look excellent on Windows, operate quickly on Windows, and can still be transferred to other desktop or mobile platforms and the web.
Microsoft and Flutter
We reached out to the Windows team to see if they would be ready to contribute a few words about their company’s support for Flutter.
Kevin Gallo, Corporate Vice President for the Windows Developer Platform at Microsoft, had the following to say on the subject:
“We’re excited to see that Flutter now supports the creation of Windows applications. Windows is an open platform, and we welcome developers worldwide.
We’re looking forward to seeing Flutter developers port their experiences to Windows and make them available on the Microsoft Store as well. Flutter support for Windows is a significant step forward for the community, and we are looking forward to seeing what you will offer to the platform!”
As it turns out, several Microsoft teams have contributed to the statement made today. The Fluent design team, in particular, deserves to be thanked for their contribution to the iconography for Flutter applications running on Windows. As a result of the high quality of their fluent system icons package, they have been given Flutter Favorite status.
Microsoft’s inaccessibility for Windows has also impressed us, and we are thankful to the team that worked with us to ensure that Flutter includes support for screen readers from the start.
It’s a mistake to think about accessibility as a specialized necessity that can be ignored. As this diagram from the Microsoft inclusive design toolkit indicates, we all have a vested interest in providing experiences that adapt to various permanent, temporary, and situational requirements.
An ecosystem of tools for Windows development
Our tooling partners are also working on bringing Windows compatibility to their products. Here are a few examples:
- FlutterFlow, the low-code Flutter app design tool, is announcing today that it now supports Windows and new capabilities to assist Flutter developers in creating applications that are optimized for desktop use.
- Realm is a local data storage that is very fast. It is being shipped today and will facilitate the development of Windows applications using Flutter, with rapid access to the underlying database provided by Dart FFI, in addition to their current support for mobile platforms like iOS and Android, and will be available shortly.
- Nevercode has released an upgrade to their Codemagic continuous integration and delivery solution to include support for Windows. This allows you to test and create your Windows applications in the cloud and automate the deployment of your software to the Microsoft Store.
- Syncfusion has upgraded its widget suite to take full use of the capabilities of Windows. Those who purchase a subscription to their toolkit will get data visualization components like treemaps and charting, a rich data grid widget, calendars, and even support for generating PDF documents and Excel spreadsheets.
- The last piece of news comes from Rive, who announced today that their popular graphics tools package would be released as a Windows version shortly, enabling designers and developers to build interactive vector animations that can react to code in real-time using a state machine. The next Windows version of their software will provide lightning-fast speed while also having a smaller memory footprint, and it will be available for download shortly through the Microsoft Store.
As we begin to create Windows applications using Flutter, it is really exciting to see a mature ecosystem being formed around it. We invite you to learn more about each of these partners as you get started.
Flutter 2.10 now includes support for Windows
With the release of Flutter 2.10, which is released today, developers may now create Windows applications with stable, production-quality support. Additionally, Flutter 2.10 contains several new features, performance enhancements, and bug fixes, which we’ll go through in greater depth in a separate blog post later this week.
As we near the completion of stable support for macOS and Linux, you can expect to hear more from us about making your production Flutter applications accessible on the full range of desktop, web, and mobile platforms available in the coming months.
Thank you for your continued support of Flutter. In the meanwhile, We’re looking forward to seeing what you create for Windows! FlutterAgency.com is a leading Flutter app development company equipped with an expert team of flutter developers. Our developers have expertise in offering unique and interactive app development using flutter tools like code libs, and more.