Flutter 创建伊始,我们就致力于打造一个能够构建精美的、可高度定制的、并且可以编译为机器码的跨平台应用解决方案,以充分发挥设备底层硬件的全部图形渲染能力。今天,Flutter 对 Windows 生产版本的正式支持是对这一愿景实现的重要标志。它使 Windows 开发者也能享受到移动开发的相同生产力和功能。
用 Flutter 构建 Windows 桌面应用程序优美极高生产力
截止目前,已经有近 50 万个应用程序使用 Flutter 进行构建
Betterment[1]
我们自己的数据也能支持这一点,在 2021 年四个季度的开发者调查中,有 92% 的 Flutter 开发者对我们提供的工具表示满意。(对于另外 8% 的人,我们正在倾听你的反馈,希望也能得到你的满意)。
这其中共同的需求之一就是对 Windows 的支持,
“今天,我们很高兴的宣布,我们此次发布的 Flutter 稳定版中,已经全面支持构建 Windows 桌面端应用程序了!
”
Windows 与 Flutter
桌面端
Flutter 的核心部分是跨平台的:从可移植的硬件加速的 Skia 图形渲染引擎,到 Flutter 的渲染系统的核心单元,例如动画、主题、文本输入以及国际化,Flutter 提供了上百个 widgets。
然而桌面端并不只是移动应用运行在一个更大的屏幕上这么简单,它们从设计上来说就很不一样。从输入设备角度来看,桌面端有键盘和鼠标,它们会在显示器上运行多个可变大小的窗口。而对于辅助功能 (Accessibility)、输入法、视觉样式等关键内容都有不同的规则约束。并且它们还和底层操作系统中不同的 API 进行集成:桌面应用支持从系统的文件选择器到设备硬件再到 Windows 注册表等数据存储的所有内容。
所以当我们把 Flutter 带到 Windows 上时,我们也需要为它进行定制。
嵌入层(Embedder)嵌入层
Flutter 在 Windows 平台的架构在 Windows 上,Flutter 使用了一套完全相同的 Dart 代码,但是能够使用 Windows 的 API。
camerafile_pickershared_preferences
fluent_ui[2]flutter_acrylic[3]msix[4]
总的来说,这促进了在 Window 平台上创建应用程序。以极快的速度在 Windows 上运行的同时还能转到其他桌面或者移动应用以及 web 平台上运行。让我们来看看到目前为止的一些早期样例:
一些使用 Flutter 构建的 Windows 应用程序的早期社区示例,特别展示来自深圳团队的一款应用。Microsoft 与 Flutter
我们曾询问过 Windows 团队是否愿意分享一些对 Flutter 支持的话。这是微软公司 Windows 开发者平台副总裁 Kevin Gallo 的评论:
“"我们很高兴看到 Flutter 增加了对创建 Windows 应用程序的支持。Windows 是一个开放的平台,我们欢迎所有开发人员。我们很高兴看到 Flutter 开发人员将他们的体验带到 Windows 上,并发布到 Microsoft Store。对 Windows 的支持是 Flutter 社区的一大步,我们迫不及待地想看看你能为 Windows 带来哪些令人惊叹的应用!
”
fluentui_system_icons[5]
Microsoft 包容性设计工具包[6]
下面的视频演示了 Flutter 如何集成 Windows 讲述人 (Windows Narrator) 功能。出于本视频的目的,我们特意模糊了屏幕,让你了解此功能对需要它的用户的价值。
Windows 讲述人是一个为 Windows 打造的屏幕阅读器,它同样能够在 Flutter 应用中良好的运行。Windows 开发生态工具集
我们的开发工具合作伙伴们也开始为 Windows 桌面端应用程序开发增加支持,比如:
FlutterFlow[7] 今天发布的最新版本支持使用 Flutter 构建Windows 桌面端应用程序[8] Codemagic CI/CD tool[9] Syncfusion[10] Rive[11]
看到围绕着 Flutter 的建立的成熟生态,我们非常激动,在你开始使用 Flutter 构建 Windows 应用的时候,我们鼓励你多尝试一下生态里的这些合作伙伴的服务和工具。
Flutter 2.10 中的 Windows 平台支持
作为 Flutter 2.10 正式版的一部分,Flutter 已经可以为 Windows 平台构建应用程序提供稳定的、具备生产质量的支持,Flutter 2.10 还包含诸多其他新特性和性能改进以及错误修复,在今天的另一篇推文中已经详细介绍。
在未来几个月里,我们会发布更多为 macOS 和 Linux 平台提供稳定版支持的消息,让你可以通过 Flutter 为更全的桌面平台、Web 平台和移动端平台构建精美应用!
再次感谢大家对 Flutter 的支持,期待看到你为 Windows 平台构建的精彩应用程序!
如果你想将上面这个图片当作桌面背景,请点击点击这个链接下载原图: https://files.flutter-io.cn/images/branding/desktop/dash2022_4k.png
致谢
原文: Announcing Flutter for Windows https://medium.com/flutter/announcing-flutter-for-windows-6979d0d01fed 翻译: Vadaski 审校: Luke 制图: Lynn
参考资料
https://verygood.ventures/success-stories/betterment
[2]https://pub.flutter-io.cn/packages/fluent_ui
[3]https://pub.flutter-io.cn/packages/flutter_acrylic
[4]https://pub.dev/packages/msix
[5]https://pub.dev/packages/fluentui_system_icons
[6]https://www.microsoft.com/design/inclusive
[7]https://flutterflow.io/
[8]https://www.mongodb.com/developer/article/introducing-realm-flutter-sdk
[9]https://flutterci.com/
[10]https://www.syncfusion.com/flutter-widgets
[11]https://rive.app/