Flutter Supports Windows Stably, Are Developers Ready?

2022-02-18 09:29:52
ZenTao 3
Original 1657
Summary : On February 4th, Flutter stable version 2.10 was launched, which was released during Chinese New Year, less than two months after the last release. But even in such a short period of time, they have closed 1843 issues and 1525 PRs from 115 contributors around the world. This release update includes significant support updates for Flutter for Windows, some performance improvements, new features for different platforms, and some tool improvements.

Flutter Supports Windows Stably, Are Developers Ready?

Flutter is an open source mobile UI framework developed by Google that can quickly build high-quality native user interfaces on different platforms. Flutter supports all existing code and is sought after by more and more developers around the world. Nearly 500,000 applications using Flutter have been published worldwide so far, including applications from large companies such as ByteDance and 30 teams at Google. Flutter is the most popular cross-platform UI tool in 2021, according to analysts at Statista and SlashData.

 

On February 4th, Flutter stable version 2.10 was launched, which was released during Chinese New Year, less than two months after the last release. But even in such a short period of time, they have closed 1843 issues and 1525 PRs from 115 contributors around the world. This release update includes significant support updates for Flutter for Windows, some performance improvements, new features for different platforms, and some tool improvements. 

Source: Flutter

New Features of Flutter 2.10

1. Performance Improvements

Flutter 2.10 initially supports the drawing dirty regions management function provided by knopp, a member of the Flutter community. He enables selective repainting for single dirty regions on iOS/Metal. This will significantly reduce the rasterization time at the 90th and 99th percentiles in some benchmarks and reduce the GPU utilization in these benchmarks from over 90% to under 10%.

 

In addition to that, this version has optimized the image format. Developers can adjust layer transparency more efficiently. The rasterization time per frame was reduced by at least 1/3 in benchmarks.

 

In profile and release modes, Dart code is compiled in AOT. This code unlocks many compiler optimizations and aggressive tree-shaking. But there is some performance hit because typeflow analysis has to cover the entire program. Version 2.10 brings a faster implementation of type flow analysis. The overall build time of Flutter applications was reduced by about 10% in benchmark tests.

2. iOS Update

In addition to performance improvements, Flutter version 2.10 adds different enhancements across platforms. For example, developer luckysmg brought smooth iOS keyboard animations, stability improvements to the iOS Camera plugin, and a new feature to reduce memory usage for the 64-bit architecture of iOS -- compressed pointers.

3. Android Update

Flutter version 2.10 also made improvements for Android. Flutter supports the latest version of Android -- Android 12 When developers create new apps. In addition to that, they have enabled MultiDex in this version. If the developer is using an Android SDK version lower than 21 and exceeds the 64K method limit, just pass --multidex to flutter build appbundle or flutter build apk to support MultiDex.

4. Web Update

The Flutter release also includes Web improvements. The mouse would not scroll in sync when it was dragged to the edge of a multi-line text box in the previous versions. However, in version 2.10, after the selection cursor is dragged out of the text box, the text box will scroll, browse and select the corresponding content. This feature is available for Web and desktop applications.

5. Material 3

Flutter 2.10 is the beginning of the transition to Material 3, which includes the ability to generate an entire color scheme from a single color.

 

Developers can create new ColorScheme types with any color. The constructor of ThemeData also includes a new colorSchemeSeed parameter to generate themes directly from colors. In addition, this version includes the ThemeData.useMaterial3 parameter to switch the widget to the new Material 3 look.

 

Flutter has also added 1028 new Material icons. 

Source: Flutter

In addition to the above functions, Flutter 2.10 has also improved integration testing, DevTools and VSCode, and completely removed the Dev channel and support for iOS 9.3.6.

 

The most interesting thing about this update is the stable support for Windows application development, which is explained in detail by Tim Sneath, Flutter product manager.

Flutter Ready for Windows

Source: Flutter

Flutter aims to create an efficient cross-platform software framework and has made great strides in the past few years. Flutter develops apps for Android, iOS, Linux, Windows, macOS, and the web, and is compatible with all existing code. It is supported and trusted by developers in all regions of the world.

 

Five years ago, Google had launched Flutter Alpha, which greatly accelerated the development of mobile operating systems. Flutter applications can be written in Dart and run on Android, iOS, Windows, macOS and Linux, web, and embedded devices.

 

However, it is not easy to achieve Flutter desktop support, It must be redesigned for Windows. Desktop applications need to be compatible with different hardware such as keyboards and mice and screens of different sizes, as well as different requirements for input methods, visual styles, etc., and also need to support file system selectors and data storage such as the Windows registry.

 

Just as Flutter supports Android and iOS, Flutter's Windows combines the Dart framework and C++ engine. Windows and Flutter communicate through the embedding layer, which hosts the Flutter engine and is responsible for translating and distributing Windows information. Flutter with Windows draws the UI to the screen and works with the existing Windows schema. 

Source: Flutter

Developers can use all the features of the Flutter framework on Windows and communicate with Win32, COM and Windows Runtime APIs through platform plugins written in Dart or C++, and the Flutter team has also adapted many common plugins to support Windows, including camera, file_picker and shared_preferences. What's more, Windows support for other packages has also been added to the Flutter community, covering everything from Windows taskbar integration to serial port access. 

Source: Flutter

 

Many other special features are provided in a fully customized Windows UI.

Other Companies that Support Windows

Here’s what Kevin Gallo, Corporate Vice President for Windows Developer Platform at Microsoft, has to say: “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!”

 

Many Flutter partners are supporting Windows as well, including:

 

FlutterFlow, a low-code Flutter application design tool, announced support for Windows and will help Flutter developers build features for desktop use.

 

Nevercode has updated Codemagic CI/CD tools to support Windows, enabling users to test and build Windows applications in the cloud and automatically deploy them to the Microsoft Store.

 

Syncfusion has updated widgets to support Windows, including Data Visualization components to support the creation of PDF files and Excel tables.

Write a Comment
Comment will be posted after it is reviewed.