| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 移动开发 -> 稳定版正式发布 | 用 Flutter 构建 Windows 桌面应用程序 -> 正文阅读 |
|
[移动开发]稳定版正式发布 | 用 Flutter 构建 Windows 桌面应用程序 |
文 / Tim Sneath, Google Flutter & Dart 产品经理 Flutter 创建伊始,我们就致力于打造一个能够构建精美的、可高度定制的、并且可以编译为机器码的跨平台应用解决方案,以充分发挥设备底层硬件的全部图形渲染能力。今天,Flutter 对 Windows 生产版本的正式支持是对这一愿景实现的重要标志。它使 Windows 开发者也能享受到移动开发的相同生产力和功能。 Flutter 的目标是在任何平台上为你提供出色的构建体验,并且我们想要打造的是:只需要使用同一套核心框架和工具完成这个目标。通过 Flutter,你可以自由打造 优美 的使用体验,使你的品牌和设计脱颖而出;它还拥有 极高 的执行速度,因为它会被直接编译为机器码;而通过支持有状态的热重载功能以提供交互式的体验,让你可以在应用运行时直接看到代码更改后的结果,从而获得 生产力 提升。Flutter 是开放的,成千上万的贡献者参与到核心框架的构建,或是通过 package 和插件生态系统对其进行扩展。 截至目前,已经有近 50 万个应用程序使用 Flutter 进行构建 迄今为止,我们看到这股趋势已经超出了我们的预期。包括一些大公司例如 Betterment[1]、宝马以及字节跳动等,还有 Google 内部三十多个团队都使用了 Flutter。根据 Statista 以及 SlashData 的统计,Flutter 在 2021 年已经成为了最流行的跨端 UI 工具包。 我们自己的数据也能支持这一点,在 2021 年四个季度的开发者调查中,有 92% 的 Flutter 开发者对我们提供的工具表示满意。(对于另外 8% 的人,我们正在倾听你的反馈,希望也能得到你的满意)。 这其中共同的需求之一就是对 Windows 的支持, “ Windows 与 Flutter几年前,我们为 Flutter 制定了一个宏大的愿景,即从 iOS 和 Android 的移动端应用上扩展到其他平台,其中就包括 Web 端和桌面端。 Flutter 的核心部分是跨平台的:从可移植的硬件加速的 Skia 图形渲染引擎,到 Flutter 的渲染系统的核心单元,例如动画、主题、文本输入以及国际化,Flutter 提供了上百个 widgets。 然而桌面端并不只是移动应用运行在一个更大的屏幕上这么简单,它们从设计上来说就很不一样。从输入设备角度来看,桌面端有键盘和鼠标,它们会在显示器上运行多个可变大小的窗口。而对于辅助功能 (Accessibility)、输入法、视觉样式等关键内容都有不同的规则约束。并且它们还和底层操作系统中不同的 API 进行集成:桌面应用支持从系统的文件选择器到设备硬件再到 Windows 注册表等数据存储的所有内容。 所以当我们把 Flutter 带到 Windows 上时,我们也需要为它进行定制。 正如我们对 Android 和 iOS 的支持那样,对 Windows 的实现也包括了 Dart 框架以及 C++ 的引擎。Windows 与 Flutter 通过承载了 Flutter 引擎的 嵌入层(Embedder) 进行通信,翻译以及发送 Windows 都是 嵌入层 的职责范围。Flutter 与 Windows 共同将你的 UI 绘制到屏幕上,处理窗口大小调整和 DPI 更改等事件,并与已有的 Windows (如输入法编辑器) 配合使用。 在 Windows 上,Flutter 使用了一套完全相同的 Dart 代码,但是能够使用 Windows 的 API。 你的应用能够使用 Flutter 框架的全部功能,在 Windows 上,它还可以直接通过 Dart 的 C 互操作层或使用用 C++ 编写的平台插件与 Win32、COM 和 Windows 运行时 API 进行通信。我们还适配了许多常用插件以包含对 Windows 的支持,包括 要完全为 Windows 的 UI 进行定制,你也可以使用例如像是 fluent_ui[2] 以及 flutter_acrylic[3] 这样的 package 创造具有 Microsoft Fluent 设计美学的应用。而且使用 msix[4] 工具能将你的应用包装进安装器,这样就可以上传到 Windows 上的 Microsoft Store。 总的来说,这促进了在 Window 平台上创建应用程序。以极快的速度在 Windows 上运行的同时还能转到其他桌面或者移动应用以及 web 平台上运行。让我们来看看到目前为止的一些早期样例: Microsoft 与 Flutter我们曾询问过 Windows 团队是否愿意分享一些对 Flutter 支持的话。这是微软公司 Windows 开发者平台副总裁 Kevin Gallo 的评论: “ 事实上,许多 Microsoft 的团队也都为今天的发布做出了很大贡献。我们特别想要感谢 Fluent design 团队对于支持 Windows 上 Flutter 应用的图标做出的贡献。他们高质量的 fluentui_system_icons[5] package 已经加入到 Flutter Favorite 项目中了。 同时,Microsoft 围绕 Windows 可访问性所做的投入也给我们留下了深刻的印象,非常感谢该团队的帮助,以确保 Flutter 从第一天起就能够为屏幕阅读器提供支持。将无障碍功能视为额外的需求是错误的。正如 Microsoft 包容性设计工具包[6] 中的这张图片所示,我们必须要关注提供永久、临时或不同情境下需求的体验。 下面的视频演示了 Flutter 如何集成 Windows 讲述人 (Windows Narrator) 功能。出于本视频的目的,我们特意模糊了屏幕,让你了解此功能对需要它的用户的价值。 Windows 讲述人是一个为 Windows 打造的屏幕阅读器,它同样能够在 Flutter 应用中良好的运行。 Windows 开发生态工具集我们的开发工具合作伙伴们也开始为 Windows 桌面端应用程序开发增加支持,比如:
看到围绕着 Flutter 的建立的成熟生态,我们非常激动,在你开始使用 Flutter 构建 Windows 应用的时候,我们鼓励你多尝试一下生态里的这些合作伙伴的服务和工具。 Flutter 2.10 中的 Windows 平台支持作为 Flutter 2.10 正式版的一部分,Flutter 已经可以为 Windows 平台构建应用程序提供稳定的、具备生产质量的支持,Flutter 2.10 还包含诸多其他新特性和性能改进以及错误修复,在今天的另一篇推文中已经详细介绍。 在未来几个月里,我们会发布更多为 macOS 和 Linux 平台提供稳定版支持的消息,让你可以通过 Flutter 为更全的桌面平台、Web 平台和移动端平台构建精美应用! 再次感谢大家对 Flutter 的支持,期待看到你为 Windows 平台构建的精彩应用程序!
致谢
文内链接[1] Betterment 使用 Flutter 的案例: https://verygood.ventures/success-stories/betterment [2]使用 fluent_ui package 实现具有 Microsoft Fluent 设计美学的设计: https://pub.flutter-io.cn/packages/fluent_ui [3]使用 flutter_acrylic package 实现具有 Microsoft Fluent 设计美学的设计: https://pub.flutter-io.cn/packages/flutter_acrylic [4]使用 msix 工具打包发布 Windows 桌面应用程序: https://pub.dev/packages/msix [5]Fluent design 团队开发的 fluentui_system_icons package: https://pub.dev/packages/fluentui_system_icons [6]Microsoft 包容性设计工具包: https://www.microsoft.com/design/inclusive [7]低代码、拖拽式生成 Flutter 应用的工具 FlutterFlow 官网: https://flutterflow.io/ [8]Realm 今天宣布支持使用 Flutter 构建Windows 桌面端应用程序: https://www.mongodb.com/developer/article/introducing-realm-flutter-sdk [9]Nevercode 开发的 Codemagic CI/CD 工具: https://flutterci.com/ [10]Syncfusion 官网的 Flutter widget 介绍界面: https://www.syncfusion.com/flutter-widgets [11]创建交互式矢量动画的工具 Rive 官网: https://rive.app/ |
|
移动开发 最新文章 |
Vue3装载axios和element-ui |
android adb cmd |
【xcode】Xcode常用快捷键与技巧 |
Android开发中的线程池使用 |
Java 和 Android 的 Base64 |
Android 测试文字编码格式 |
微信小程序支付 |
安卓权限记录 |
知乎之自动养号 |
【Android Jetpack】DataStore |
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/24 14:54:45- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |