What Is Flutter 2.10? Flutter 2.10 is the latest version of Google’s open-source framework for building natively compiled apps from a single codebase, has introduced stable support for Windows. With the latest Flutter update, Windows joins iOS and Android as Flutter targets for production-ready apps. MacOS and Linux desktop support are still in beta.
What Is Flutter 2.10? Why Should Windows Users Be Excited About It? Flutter’s newest release is tailored for Windows and opens the door to exciting new apps on the platform. Here’s everything you need to know. Windows is perhaps the most popular OS for PCs, running on over one billion devices worldwide. Windows users have access to millions of apps available on the Microsoft Store and the web to enhance their computing experience.
But things have become more exciting. A major development by Flutter, Google’s popular app building platform, has opened up a new gateway for developers to create apps for Windows and offer unique experiences. Let’s explore how.
With Flutter 2.10, developers no longer need to flip a flag to get the functionality to produce Windows apps on the stable channel of Flutter. This functionality is now enabled by default. Microsoft’s signature operating platform thus gets production-ready release support in Flutter, alongside iOS and Android. macOS and Linux desktop supports are still in beta.
Flutter’s builders two years ago set out to expand Flutter from iOS and Android development to other platforms, including Windows and the web. Flutter-built Windows apps can talk Win32, COM, and Windows Runtime APIs, either through the Dart C interop layer or via a platform plugin written in C++.
Introduced February 3, Flutter 2.10 also provides integrations directly into Windows, including support for command-line arguments, accessibility, and globalized text entry. Flutter tool partners, meanwhile, have added Windows support via tools such as FlutterFlow, a low-code Flutter app design tool; MongoDB Realm, a local data store; and Syncfusion Flutter widgets.
installation instructions for Flutter can be found at docs.flutter.dev. Other new features and improvements in Flutter 2.10:
- To improve performance, initial support has been added for dirty region management, with partial repaints enabled on iOS/Metal.
- Smoother keyboard animations are featured for iOS.
- 64-bit iOS architectures use compressed pointers to reduce memory usage.
- Flutter defaults to the latest version of Android.
- For web and desktop apps, edge-scrolling for text selection has been introduced. When the selection moves outside of the text field, the field scrolls to view the scroll extent.
- Flutter 2.10 begins a transition to Google’s Material 3 design system, which includes the ability to generate an entire color scheme from a single seed color. A ThemeDatauseMaterial3 flag code switches components to the Material 3 look. There also are 1,028 new material icons.
- Flutter DevTools now has capabilities such as improved support for inspecting large lists and maps in the debugger variables pane.
- The Visual Studio Code extension for Flutter has been improved, with enhancements such as more color previews in code and a color picker that updates code.
What Is Flutter and how does it work?
Flutter is a free and open-source framework by Google for building beautiful, natively compiled, multi-platform applications from a single codebase. It helps you realize your ideas by building apps that offer a fulfilling experience—no matter what operating system you’re developing them for.
Flutter was created as a mobile UI framework to offer developers the flexibility, ease, and speed of building feature-rich native apps for iOS and Android. Flutter developers can use the same programming language with a single codebase to create apps for both iOS and Android.
The core of Flutter lies in its use of widgets. You can build the entire UI by combining different widgets with limited programming or development experience. Flutter has its ready-made widgets so that OEM widgets are not needed, and you can develop your widgets too.
Flutter apps are built using Dart, Google’s object-oriented programming language. Dart compiles directly into native code, so the app looks and feels like a typical Windows program to the user.
Moreover, with support for stateful hot reload, you get the productivity of an interactive environment that allows you to make changes while your app is running and see the results immediately.
Nearly half a million apps now released use Flutter, including those from Betterment, BMW, and ByteDance. Today, Flutter is one of the most popular cross-platform UI toolkits.
Flutter 2.10 and How It Is Tailored for Windows
Google has had plans to expand Flutter from mobile apps to other platforms like the desktop and web for some time now. Flutter 2.10, the newest version, brings with it the stable release of Windows support. Now you can create apps that work on mobile, Windows PCs, and the web—all from one codebase.
Being an OS designed for PCs with larger screens and inputs like a keyboard and mouse, Windows does not work like a mobile device. Also, the APIs used by desktop apps are different from those running on Android or iOS.
Flutter 2.10 has not just brought Flutter to Windows, but it is also tailored for Windows. For starters, Flutter for Windows combines a Dart framework and C++ engine. And just like its seamless integration with mobile UI development, Flutter 2.10 can communicate with Windows at a native level. It is responsible for translating and dispatching Windows messages to paint its UI, handling events like windows resizing, and works with existing Windows modalities for internationalization, such as input method editors.
Support of several Microsoft teams has been instrumental in realizing the vision of Flutter for Windows. The Fluent design team provided Windows icons for Flutter apps, while the Accessibility team has ensured that Flutter has support for screen readers from day one. Moreover, Flutter’s tooling partners like FlutterFlow, Realm, Rive, Syncfusion, and Nevercode also updated their Windows support.
Microsoft’s involvement in Flutter’s Windows apps support
Microsoft has also been involved with the preparation of Flutter’s Windows apps support, with the company contributing their collection of Fluent design icons. Previously, Microsoft has worked on Flutter with a package to help developers create apps for the Surface Duo series and other foldables.
We’re delighted to see Flutter adding support for creating Windows apps. Windows is an open platform, and we welcome all developers. We’re excited to see Flutter developers bring their experiences to Windows and also publish to the Microsoft Store. Flutter support for Windows is a big step for the community, and we can’t wait to see what you’ll bring to Windows!
— Kevin Gallo, Corporate Vice President for Windows Developer Platform at Microsoft
Along with the stable expansion of Flutter into Windows, the team is also sharing how Flutter developers and apps have been expanding. The SDK’s latest milestone is that there are now over 500,000 apps built with Flutter in the Google Play Store alone, “including big apps from companies like BMW, ByteDance and Betterment.” Relatedly, multiple developer surveys have shown that Flutter has over 40% market share among cross-platform toolkits, putting it ahead of Facebook’s React Native.
Of course, Flutter 2.10 also has some goodness in store for those who aren’t making Windows apps. Fans of Google’s Material Design will be pleased to find that Flutter now has a simple “useMaterial3” flag for enabling some Material You styled widgets. Elsewhere in Material You improvements, Flutter has a new “ColorScheme.fromSeed” option that can turn any single color into a full palette for your app, similar to how Android 12 themes apps from colors in your wallpaper.
Meanwhile, those developing for iOS should notice significantly reduced GPU usage, smoother keyboard animations, and reduced memory usage. And thanks to some improvements in the build process, all developers may notice Flutter app build times speed up by as much as 10%.