作者 / Tim Sneath, Product Manager for Flutter and Dart, Google

自 Flutter 推出以来,我们一直专注于为出色的、拥有定制体验的应用提供跨平台解决方案,而且这些应用会被编译为机器代码,以充分利用设备的底层图形硬件。现在,这一愿景取得了长足的进展,我们为大家带来了 Windows 平台支持的首个正式版本,从此 Windows 开发者可以尽享移动开发者一直以来享有的高效率和强大功能。

我们推出 Flutter 的目标是,为您提供所需的工具,让您可以营造出色的体验,无论您的目标操作系统如何。因此,我们希望您在任何需要进行像素绘制的地方都可以使用一套统一的核心框架和工具。Flutter 让您可以营造优美的体验,凸显您的品牌和设计。Flutter 运行起来非常快速,可以直接编译为机器代码,同时凭借有状态热重载的加持,为您提供高效的交互式开发环境,让您可以在应用运行时进行变更,并立即查看结果。同时,Flutter 是开放的,有成千上万的贡献者为核心框架添加内容,并通过 package 生态系统对其进行扩展。

近 50 万的应用在使用 Flutter…

到目前为止,我们所见的发展趋势已经超出我们的预期,使用 Flutter 且已经发布的应用数量已接近 50 万,其中包含来自 Betterment、BMW 和字节跳动等公司的大型应用,还包含来自 Google 30 个团队的应用。根据 Statista 和 SlashData 等分析机构的统计,Flutter 在 2021 年成为热门的跨平台界面工具包:

  • Betterment

    https://verygood.ventures/success-stories/betterment

  • Statista

    https://www.statista.com/

  • SlashData

    https://www.slashdata.co/

我们的数据也印证了这一点,我们的工具在 2021 年全部四个季度的问卷调查中,获得了 92% 的 Flutter 开发者的一致认可。对于其余 8% 的开发者,我们也希望让您满意,我们正在用心聆听您的声音!

  • Flutter 2021 年第三季度调研结果分享

    https://medium.com/flutter/about-web-community-and-code-samples-q3-2021-survey-results-b67f5b997dca

问卷中呼声较高的一项需求便是支持 Windows 平台。

如今,我们非常高兴地宣布,Flutter 稳定版本全面支持 Windows 应用。

Windows 与 Flutter

数年前,我们提出了一个雄心勃勃的愿景,要将 Flutter 从 iOS 和 Android 移动应用领域扩展到更多平台,包括 web 端和桌面端

Flutter 可以在平台间通用的内容很多: 从可移植、硬件加速的 Skia 图像处理引擎,到 Flutter 渲染系统,核心原语 (如动画、主题、文本输入和多语言任务),以及 Flutter 包含的数百个 widget。

然而,桌面应用并不只是运行在更大屏幕上的移动应用。它们是专门针对键盘和鼠标等输入设备进行设计的。它们的窗口大小可调,且通常在宽屏显示器上运行。辅助功能、输入法编辑器和视觉样式等关键领域的习惯也与移动应用有所不同。桌面应用还与底层操作系统中的各种 API 集成: 从文件系统选择器到设备硬件,再到数据存储 (如 Windows 注册表),等等不一而足。

因此,我们在将 Flutter 引入 Windows 的同时,也针对 Windows 进行了定制。

Flutter 的 Windows 实现结合了 Dart 框架和 C++ 引擎,与我们对 Android 和 iOS 提供的支持一致。Windows 和 Flutter 通过包含 Flutter 引擎的嵌入层进行通信,该嵌入层负责翻译和调度 Windows 消息。Flutter 与 Windows 相互协调,完成界面在屏幕上的绘制,处理窗口大小调整及 DPI 变更等事件,并使用 Windows 现有的方式处理多语言任务 (例如输入法编辑器)。

△ Flutter 在 Windows 上使用完全相同的 Dart 代码,但利用了原生 Windows API

您的应用可以使用 Flutter 框架的全部功能,还可以在 Windows 上直接通过 Dart 的 C 语言互操作层,或者使用以 C++ 编写的平台插件,与 Win32、COM 和 Windows Runtime API 进行通信。我们还调整了许多通用插件,用来提供对 Windows 的支持,包括 camera、file_picker 和 shared_preferences。更重要的是,社区已为众多其他 package 加入了对 Windows 的支持,涵盖了从 Windows 任务栏集成到串行端口访问的所有内容。

△ 数百个 package 已完成适配,用以支持为 Windows 构建的 Flutter 应用

对于完全定制的 Windows 界面,您还可以使用例如 fluent_ui 和 flutter_acrylic 等 package 来创建可以精美呈现 Microsoft Fluent 设计体系的应用。您也可以使用 msix 工具来封装您的应用,并上传至 Windows 的 Microsoft Store 中。

  • fluent_ui

    https://pub.flutter-io.cn/packages/fluent_ui

  • flutter_acrylic

    https://pub.flutter-io.cn/packages/flutter_acrylic

  • msix

    https://pub.flutter-io.cn/packages/msix

以上措施使得应用在 Windows 上得以拥有精美的外观,运行快速,并且仍然可以移植到其他桌面或移动设备以及 web 环境中。以下是我们迄今为止看到的一些早期示例:

△ 一些用 Flutter 构建的 Windows 应用的早期社区案例,包括 Harmonoid 和 Rows

  • Harmonoid

    https://github.com/harmonoid/harmonoid

  • Rows

    https://rows.com/

Microsoft 与 Flutter

我们询问过 Windows 团队,是否愿意就 Flutter 的支持分享一下他们的感想。以下是来自 Microsoft Windows 开发者平台联合副总裁 Kevin Gallo 的分享:

我们很高兴看到 Flutter 增加了对创建 Windows 应用的支持。Windows 是一个开放的平台,我们也热诚欢迎所有的开发者。我们期待看到 Flutter 的开发者将他们美妙的体验带到 Windows,并发布在 Microsoft Store 中。Flutter 对 Windows 的支持让社区向前迈出了一大步,我们非常期待你们未来给 Windows 带来的内容与体验!

来自 Microsoft 的数支团队都为这一发布做出了贡献。我们要特别感谢 Fluent 设计团队对 Windows 上的 Flutter 应用中的图标所做出的贡献。他们的 fluentui_system_icons package 因其卓越的品质获得 Flutter Favorite 认证:

https://pub.flutter-io.cn/packages/fluentui_system_icons

我们对 Microsoft 在 Windows 无障碍功能的投入印象尤为深刻,感谢团队提供的帮助,确保了 Flutter 从一开始就支持屏幕阅读器功能。将无障碍功能视为小众功能是一种错误的做法。正如 Microsoft 包容性设计工具包中的这张图所示,我们理应在设计体验时考虑适应各种永久性、暂时性或情境性的需求:

https://www.microsoft.com/design/inclusive/

下面的视频演示了 Flutter 如何与 Windows Narrator 进行集成。我们在本视频中特意对屏幕进行了模糊处理,目的是让您了解这项功能对需要它的用户有多重要。

△ Narrator 是内置于 Windows 的屏幕阅读器应用,与 Flutter 应用配合得很好

  • Narrator

    https://support.microsoft.com/en-us/windows/complete-guide-to-narrator-e4397a0d-ef4f-b386-d8ae-c172f109bdb1

Windows 开发工具的生态系统

我们的工具合作伙伴也在增加对 Windows 的支持。这里仅列举一二:

  • FlutterFlow,即低代码 Flutter 应用设计工具,宣布支持 Windows,并发布相关功能以帮助开发者的 Flutter 应用适应桌面设备。

  • Realm 是一款超快速本地数据库。发布了最新版本支持使用 Flutter 构建 Windows 应用,使用 Dart FFI 快速访问底层数据库,扩展了他们对 iOS 和 Android 等移动平台的现有支持。

  • Nevercode 更新了他们的 Codemagic CI/CD 工具,以支持 Windows,让您可以在云端测试和构建 Windows 应用,并自动部署至 Windows Store。

  • Syncfusion 更新了他们的 widget 套件,以充分利用 Windows。如果您订阅了他们的工具包,您可以获得树形图和图表、丰富的数据网格 widget 以及日历等可视化组件,甚至还支持创建 PDF 和处理 Excel 电子表格。

  • Rive 宣布,其热门图形工具套件即将推出 Windows 版本,支持设计师和开发者创建可以通过状态机实时响应代码的交互式矢量动画。他们即将推出的 Windows 版本应用拥有惊人的性能和更低的内存占用,即将在 Microsoft Store 提供下载。

△ Rive 即将在 Windows 的 Microsoft Store 中推出

  • FlutterFlow

    https://flutterflow.io/

  • FlutterFlow 支持桌面端应用

    https://www.youtube.com/watch?v=6jnXHgSQ-Q0

  • Realm

    https://docs.mongodb.com/realm/sdk/flutter/

  • Real Flutter SDK 发布

    https://www.mongodb.com/developer/article/introducing-realm-flutter-sdk/

  • Dart FFI

    https://dart.dev/guides/libraries/c-interop

  • Codemagic CI/CD 工具

    https://flutterci.com/

  • Syncfusion

    https://www.syncfusion.com/flutter-widgets

  • Rive

    https://rive.app/

我们非常高兴地看到一个成熟的生态系统已经围绕着 Flutter 构建起来。我们鼓励大家在开始使用 Flutter 构建 Windows 应用时积极了解上述合作伙伴并尝试它们提供的工具。

Flutter 2.10 正式提供 Windows 平台支持

Flutter 2.10 对构建 Windows 应用提供了稳定、生产级别的支持。Flutter 2.10 还包括许多其他功能、性能优化和问题修复,我们将在另一篇文章中为大家详细介绍这些内容。

  • 安装和环境配置

    https://flutter.cn/docs/get-started/install

  • Flutter 2.10 更新一览

    https://medium.com/flutter/whats-new-in-flutter-2-10-5aafb0314b12

在接下来的几个月里,我们还将发布对 macOS 和 Linux 平台支持的稳定版本,届时您的生产版 Flutter 应用将得到全套的平台支持,包括桌面端、web 以及移动平台。

与此同时,感谢您对 Flutter 的支持。我们期待看到您为 Windows 构建的内容!

非常欢迎您参加开发者说·DTalk 栏目,与我们分享您对 Flutter 的使用心得、实战经验或应用技巧、代码贡献等优质内容。入选的原创作者将获得我们的纪念礼品以及有机会被推荐参选 "谷歌开发技术专家"。即刻扫描下方二维码填写信息,报名参加吧!

△ 扫描二维码,即刻报名参与!


推荐阅读

如页面未加载,请刷新重试

 点击屏末  | 即刻访问 Flutter 开发者社区中文资源


Flutter 正式推出 Windows 平台支持相关推荐

  1. D1net阅闻:WhatsApp正式推出Windows和Mac本地桌面应用

    WhatsApp正式推出Windows和Mac本地桌面应用 聊天应用WhatsApp宣布正式推出了Windows和Mac的本地桌面应用,桌面端WhatsApp的所有信息都是与移动应用里的信息实时同步的 ...

  2. 阿里云正式推出内容平台“云栖号”:全面助力企业和个人上云决策

    1月7日,阿里云官网正式推出"云栖号"(https://yqh.aliyun.com/ ),旨在为大家提供第一手的上云资讯,云产品快速入门,来自不同行业精选的企业上云案例,基于众多 ...

  3. swift文档_Swift 正式进入 Windows 平台

    作者 | Saleem Abdulrasool  来源 | swift.org/blog,点击阅读原文查看作者更多文章 Swift 项目为 Windows 平台引入了新的可下载 Swift 工具链镜像 ...

  4. 51.com新版上线 正式推出开放平台

    8月22日消息,上个月获得巨人投资社交网站51.com近日全面改版.推出了宣布已久的开放平台,同时推出了分享平台及简洁主页. 今年5月份,51.com高调宣称6月份将开放平台,并成为Google Op ...

  5. movidius 神经计算棒 ncsdk windows 平台 支持 配置 教程

    概述:movidius ncs的ncsdk目前官方还不支持windows,但是inter好像发布了openvino,这个里面是包含ncsdk的好像是支持windows的.现在不讲openvino,讲n ...

  6. 360正式推出竞价平台(e.360.cn)(ad.360.cn)-360竞价

    360这几天连续推出了网站安全卫士,网站测速工具.CDN免费加速.开始往类似百度站长工具发展了. 360点睛营销平台是基于360安全网址等产品的推广营销平台.通过专业数据处理算法实现精准定向,成本可控 ...

  7. 微软正式推出Windows Phone 7 Series

    Windows Phone 7 Series界面截图 新浪科技讯 北京时间2月15日晚间消息,据国外媒体报道,微软今天在移动世界大会(MWC)上推出了全新的手机操作系统Windows Phone 7 ...

  8. [转]2022 Flutter 宣布发布 Windows 正式版

    原文链接: https://medium.com/flutter/announcing-flutter-for-windows-6979d0d01fed 自从推出 Flutter 以来,我们一直专注于 ...

  9. 2022 Flutter 宣布发布 Windows 正式版

    原文链接: https://medium.com/flutter/announcing-flutter-for-windows-6979d0d01fed 自从推出 Flutter 以来,我们一直专注于 ...

最新文章

  1. 观点丨麦肯锡:怎么理解“人工智能最大挑战与机会”
  2. 伪代码的写法(转载)
  3. spring 注解上传文件 @RequestParam,FormData上传文件
  4. 关于 redis、memcache、mongoDB 的对比
  5. It's highly recommended that you fix the library with 'execstack -c libfile', or link it with '-z
  6. python实现小型搜索引擎设计_基于JAVA的中小型饭店餐饮管理系统的设计与实现...
  7. 高效程序员常用的工具
  8. 46 - 算法 -Leetcode-189-旋转数组-数据结构vector或者reverse函数
  9. python3记录(2)— if __name__ == '__main__'
  10. 轻量级网页安全漏洞扫描工具-Wapiti
  11. golang cover协程异常
  12. php对url转码,如何使用php url中文转码
  13. TFT液晶屏显示中英文
  14. 神舟笔记本电脑降低声音
  15. Java实现求质数(素数)
  16. DevOps 到底是什么到底是什么
  17. VMware Workstation 11序列号一枚
  18. 【傻瓜攻略】深度学习之从入门到放弃
  19. ibatis新手上路
  20. js室内地图开发_室内地图 JavaScript API

热门文章

  1. Java解惑 电子书
  2. 深入浅出Java开发!什么是分布式系统,如何学习分布式系统
  3. 高中数学怎么学好怎样才能学好高一数学
  4. 如何尽量不用百度等远离流氓软件随笔
  5. Adblock Plus使用教程
  6. [转]计算机编程语言的入门学习
  7. Sheldon Numbers
  8. 虚拟化和Microsoft解决方案简介
  9. 如何推导出Gamma分布
  10. HTTPS协议原理透析