Flutter应用程式正式登陆Windows桌面

Flutter应用程序现在也可以在Windows桌面执行,开发者可以使用Windows专有的Ui组件,构建采用微软Fluent设计系统的应用程序,并打包发布到微软商店中

Flutter应用程式正式登陆Windows桌面

由谷歌所开发的跨平台应用开发套件Flutter,推出了最新版本2.10,这个版本有许多新功能,但最重要的是开始正式支持Windows桌面。 Flutter从原本的iOS和Android移动设备出发,后来版图扩及Linux和网页,现在Flutter应用程序还可以在Windows上执行。

前几年Flutter开发团队开始了这项野心勃勃的计划,要让Flutter不只可用于移动设备,还要跨到其他的平台上,目前已经有将近50万个应用使用Flutter开发。 Flutter核心跨平台组件,包括了可移植且具有硬件加速功能的图形引擎Skia、Flutter渲染系统、动画、主题、文字输出和国际化等数百个小工具。

要将Flutter移植到桌面并非一件简单的工作,开发团队提到,桌面应用程序不只是更大屏幕的移动应用程序,需要能够接受键盘和鼠标等不同输入设备,还有可调整大小的窗口,以便于在宽屏幕上执行,而在无障碍功能、输入法编辑器和视觉样式等,都有不同的设计,桌面应用程序需要支持档案系统选择器、装置硬件, 甚至是Windows注册表资料储存等各种内容。

因此要在Flutter支持Windows,需要特别针对Windows量身定做。 而与Android和iOS支持相同的是,Flutter的Windows实作结合了Dart框架和C++引擎,Windows和Flutter间使用嵌入层来进行通讯,该嵌入层代管了Flutter引擎,并且负责翻译和回应Windows信息,Flutter会与Windows协调UI绘制,以及改变大小和DPI变更等事件处理, 并且会和现有的Windows配合,来实现输入法编辑器等国际化设定。

Flutter应用程式正式登陆Windows桌面
以Flutter建置的音乐应用Harmonoid

开发者可以在Windows上,使用所有Flutter框架功能,并且通过Dart和C的互通层,与Win32、COM和Windows Runtime API通讯。 Flutter团队针对Windows特别设计了UI,开发者可以使用fluent_ui和flutter_acrylic等套件,以微软Fluent设计系统来构建应用程序,并且使用msix工具,将应用程序打包成安装应用程序,并且上传到Windows的微软商店。

除了正式支持Windows平台之外,Flutter 2.10也有不少效能改进,在iOS/Metal上对需要重新绘制的区域(Dirty Region)提供部分重绘功能,这个新功能在部分基准测试中,可将90百分位数和99百分位数光栅化(Rasterization)时间减少一个量级,并将这些基准测试中的GPU利用率,从90%降低到10%以下。 之后重绘的功能,会扩及到更多的平台上。

开发团队在Flutter 2.8时,开始采用自己内部的图片记录格式,而在Flutter 2.10中,开发团队进一步对该格式进行优化,成果包括能够有效率地处理不透明层,即便在最糟的情况,基准测试中的影格光栅化时间也下降到三分之一。

另外,在配置文件和发布模式下,Dart代码会预先编译成为原生机器码,官方提到,这段高性能和小巧的代码,是整个程序类型流(Type Flow)分析的关键,能够进行更多的编译器优化和树摇(Tree-Shaking)最佳化。 但类型流分析必须涵盖整个应用程序,因此执行成本很高,而在最新的Flutter版本中,类型流分析速度更快,在基准测试中,Flutter应用程式整体建置时间下降约10%。

Flutter应用程式正式登陆Windows桌面

Flutter 2.10也对各平台特有功能进行微调,包括iOS、Android和网页,同时更新Material 3,支持更多的图标。 VS Code Flutter扩充套件的更新,让开发者在挑选颜色的时候,在编辑器中预览颜色。 官方也宣布移除Flutter开发者频道,简化开发者的选择,并且移除对iOS 9.3.6支持。

(0)
打赏 微信扫一扫 微信扫一扫

相关推荐

发表评论

登录后才能评论