Since Flutter was created, Flutter has been designed to build a beautiful, highly customizable, cross-platform application solution that can be compiled into machine code to exploit the full graphics rendering capabilities of the underlying hardware of the device. Today’s official support of Flutter for the Windows production version is an important sign of the realization of this vision. It enables Windows developers to enjoy the same productivity and functionality of mobile development.
The goal of Flutter is to provide you with a great build experience on any platform, and what Flutter wants to do is to use the same core framework and tools to do this. With Flutter, you are free to create a beautiful experience that makes your brand and design stand out. It also has extremely high execution speed because it is compiled directly into machine code; By enabling stateful hot reloading to provide an interactive experience, you can see the results of your code changes directly as your application runs, thereby increasing productivity. Flutter is open, with thousands of contributors contributing to the building of the core framework or extending it through a package and plug-in ecosystem.
To date, nearly half a million applications have been built using Flutter
So far, Flutter has seen this trend go beyond Flutter’s expectations. Flutter is used by some large companies such as Betterment, BMW, and Bytedance, as well as by more than 30 teams within Google. According to Statista and SlashData, Flutter has become the most popular cross-end UI toolkit in 2021.
This is backed up by Flutter’s own data. In a four-quarter developer survey conducted in 2021, 92% of Flutter developers were satisfied with the tools offered by Flutter. For the other 8%, Flutter is listening to your feedback and hopes to get your satisfaction too.
One of the common requirements was support for Windows,
Build Windows desktop applications are now fully supported with the release of Flutter 2.10 stable.
Windows and Flutter
A few years ago, the Flutter team laid out an ambitious vision for Flutter to expand beyond mobile apps on iOS and Android to other platforms, including the Web and desktop.
The core of Flutter is cross-platform: from the portable hardhardware accelerated Skia graphics rendering engine, to the core units of Flutter’s rendering system, such as animation, themes, text input, and internationalization, Flutter provides hundreds of widgets.
But the desktop isn’t just about mobile apps running on a bigger screen, they’re very different in terms of design. From an input device perspective, the desktop has a keyboard and mouse that run multiple variable-sized Windows on the monitor. Accessibility has different rules and constraints for key contents such as Accessibility, input methods, and visual styles. And they integrate with different apis in the underlying operating system: desktop applications support everything from the system’s file picker to the device’s hardware to the Windows registry of data stores.
So when the Flutter team brought Flutter to Windows, Flutter also needed to be customized for it.
Just as Flutter supports Android and iOS, the Windows implementation includes the Dart framework and the C++ engine. Windows communicates with the Flutter through the Embedder layer that hosts the Flutter engine. Translation and sending Windows are the responsibility of the Embedder layer. Flutter works with Windows to draw your UI onto the screen, handle events such as window resizing and DPI changes, and works with existing Windows applications such as input editors.
On Windows, Flutter uses the exact same Dart code but is able to use the Windows API.
Your application can use the full capabilities of the Flutter framework. On Windows, it can also communicate with Win32, COM, and Windows runtime apis directly through Dart’s C interoperability layer or using platform plug-ins written in C++. Flutter also ADAPTS many common plug-ins to include Support for Windows, including Camera, File_picker, and shared_preferences. More importantly, the community has added support for Windows from various other packages, covering everything from Windows taskbar integration to serial port access.
To fully customize the UI for Windows, you can also use packages such as Fluent_UI and Flutter_acrylic to create applications with Microsoft Fluent’s design aesthetic. And using the MSIX tool can wrap your application into an installer so it can be uploaded to the Microsoft Store on Windows.
Overall, this facilitates the creation of applications on the Window platform. It runs extremely fast on Windows and can be transferred to other desktop or mobile applications and web platforms. Let Flutter take a look at some early examples so far:
Microsoft and Flutter
Flutter asked the Windows team if they would like to share some words of support for Flutter. Here’s Kevin Gallo, vice president of Windows Developer Platform at Microsoft:
“The Flutter team is pleased to see that Flutter has added support for creating Windows applications. Windows is an open platform and Flutter welcomes all developers. The Flutter team is excited to see Flutter developers bring their experience to Windows and release it to the Microsoft Store. Supporting Windows is a big step for the Flutter community, and Flutter can’t wait to see what amazing applications you can bring to Windows!”
In fact, many Microsoft teams also contributed to today’s release. Flutter would particularly like to thank the Fluent Design team for their contribution to supporting the Flutter icon on Windows. Their high quality FluentUI_system_icons package has been added to the Flutter Favorite project.
At the same time, Flutter has been impressed by the investment Microsoft has made around Windows accessibility and is grateful to the team for their help in ensuring that Flutter is capable of supporting screen readers from day one. It is a mistake to view accessibility as an additional requirement. As this image from the Microsoft Inclusive Design Toolkit shows, Flutter must focus on providing an experience that is permanent, temporary, or needed in different contexts.
The following video demonstrates how Flutter integrates with the Windows presenter feature. For the purpose of this video, Flutter deliberately blurs the screen to give you an idea of how valuable this feature is to users who need it.
Insert the video
Windows Storyteller is a screen reader built for Windows that also works well with Flutter.
Windows Development Ecosystem toolkit
Flutter development tool partners have also started to add support for Windows desktop application development, such as:
- FlutterFlow is a low-code, drag-and-drop tool for creating Flutter applications. Today FlutterFlow officially announced support for Windows. It also announced a number of features to help Flutter developers build desktop applications.
- Realm is a fast local data storage service. The latest release, released today, supports building Windows desktop applications using Flutter. They use Dart FFI for fast access to underlying databases and add their existing support for mobile platforms such as iOS and Android.
- The Nevercode team has updated their Codemagic CI/CD Tool and started supporting the Windows desktop, where you can test and build Windows apps in the cloud and publish them to the Microsoft Store.
- Syncfusion has updated its tool suite to take full advantage of the Windows platform. If you are using their services, you will find that their data visualization components such as tree charts, linear gauges, spark charts, calendar components and even PDF and Excel generation components already support Flutter. The Syncfusion Flutter widget is built natively with Dart.
- Rive recently announced the Windows version of its popular graphical tool suite, which enables designers and developers to create interactive vector animations that respond to code in real time using state machines. The upcoming Windows version of the application offers amazing performance and a lower memory footprint, and will soon be available for download in the Microsoft Store.
Flutter is excited to see the mature ecosystem built around Flutter, and encourages you to try out the services and tools of our partners in Flutter as you start building Windows applications with Flutter.
Windows platform support for Flutter 2.10
As part of the official Release of Flutter 2.10, Flutter already provides stable, production-quality support for Building applications on the Windows platform. Flutter 2.10 also includes many other new features and performance improvements, as well as bug fixes. It was detailed in another tweet today.
In the coming months, there will be more announcements about Flutter stable support for macOS and Linux platforms, allowing you to build great applications with Flutter for a wider range of desktop, Web and mobile platforms!
The last
Flutter excellent course recommendations
- Flutter advanced practical imitation of Bilibili APP
- Flutter from entry to advanced practice