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

原文链接: https://medium.com/flutter/announcing-flutter-for-windows-6979d0d01fed

自从推出 Flutter 以来,我们一直专注于为漂亮的定制应用提供跨平台解决方案,这些应用被编译为机器代码并充分利用设备的底层图形硬件功能。

今天这一愿景有了新的重大突破,第一个支持 Windows 的版本发布了。

目前有近 50 万个应用程序正在使用 Flutter……

到目前为止,我们已经看到了超出我们预期的势头,现已有近 50 万个已经发布的应用使用了 Flutter,其中包括来自 Betterment、BMW 和 ByteDance 等公司的大型应用程序,以及来自 Google 三十个团队所开发的应用。

Statista和SlashData等分析师衡量,2021 年 Flutter 已经成为最受欢迎的跨平台 UI 工具包:

在 2021 年的所有四个季度调查中,始终有92% 的 Flutter 开发人员对我们的工具表示积极满意。(对于另外 8% 的人,我们正在倾听你的反馈)

在调研数据中一个常见的请求就是对 Windows 的支持。

今天,我们很高兴地宣布在稳定版本中全面支持 Windows 应用。

Window and Flutter

几年前我们为 Flutter 制定了一个雄心勃勃的愿景,即从 iOS 和 Android 上的移动应用扩展到括 Web 和 Desktop 平台。

Flutter 跨平台的核心是:便携、 Skia 图形引擎、Flutter 渲染系统、动画、主题、文本输入和国际化以及 Flutter 提供的数百个控件 。

但桌面应用不仅仅是在更大屏幕上运行的移动应用:

  • 它还有专用的输入设备,例如键盘和鼠标,并且有可调整大小的窗口,通常在宽屏显示器上运;
  • 对于辅助功能、输入法编辑器和视觉样式等关键事物有着不同的约定规则;
  • 与底层操作系统中的不同 API 集成:桌面应用支持从文件系统选择器到设备硬件,再到 Windows 注册表等数据存储的所有内容;

因此,虽然我们在 Flutter 引入了 Windows 的支持,但我们也为 Windows 量身定制了 Flutter。

正如我们对 Android 和 iOS 的支持一样,Flutter 的 Windows 实现结合了 Dart 框架和 C++ 引擎,Windows 和 Flutter 通过一个嵌入层进行通信,该嵌入层承载 Flutter 引擎并负责翻译和分发 Windows 消息。

Flutter 与 Windows 协调以将开发者的 UI 绘制到屏幕上,处理窗口大小的调整和 DPI 更改等事件,并与现有的 Windows 模式配合使用以实现国际化,例如输入法编辑器。

在 Windows 上 Flutter 使用完全相同的 Dart 代码,但利用了原生的 Windows API,所以你的应用可以使用 Flutter 框架的所有能力。

在 Windows 上它还可以直接通过 Dart’s C Layer 或使用 C++ 编写的平台插件与 Win32、COM 和 Windows 运行时 API 通信,另外我们还调整了一些常用插件以支持 Windows,包括:camerafile_pickershared_preferences 等等。

更重要的是,社区已经添加了对大量其他软件包的 Windows 支持,涵盖了从 Windows 任务栏集成到串行端口访问的所有内容。

目前已经有数百个 package 经过调整以支持为 Windows 构建的 Flutter 应用程序。

对于完全定制的 Windows UI 可以使用 fluent_uiflutter_acrylic 之类的包来创建一个 Microsoft Fluent 设计的应用程序

使用该 msix 工具可以将应用包装在一个安装程序中,该安装可以上传到 Windows 上的 Microsoft Store

以下是我们迄今为止看到的一些早期示例:

微软和 Flutter

我们询问了 Windows 团队是否愿意分享一些关于 Flutter 支持的信息,以下是微软 Windows 开发者平台公司副总裁 Kevin Gallo 所说的:

“我们很高兴看到 Flutter 增加了对创建 Windows 应用的支持,Windows 是一个开放平台,我们欢迎所有开发人员,我们很高兴看到 Flutter 开发人员将他们的体验带到 Windows 并发布到 Microsoft Store,Flutter 对 Windows 的支持是社区迈出的一大步,我们迫不及待地想看看你将为 Windows 带来什么!”

事实上,我们可以看到微软的几个团队为今天的公告所做出的贡献,特别是我们要感谢 Fluent 设计团队为 Windows 上的 Flutter 应用程序提供的图标,他们的 fluentui_system_icons 包已被授予 Flutter Favorite 地位以表明其质量。

微软围绕 Windows accessibility 所做的投资也给我们留下了深刻的印象,我们同样感谢该团队的帮助,以确保 Flutter 从一开始就支持屏幕阅读器。

正如Microsoft 包容性设计工具包中的这张图表所示,Flutter 关心提供适应不同永久、临时或情境需求的体验。

Narrator是 Windows 中内置的屏幕阅读器应用程序,可与 Flutter 应用程序配合使用。

用于 Windows 开发的工具生态系统

我们的工具合作伙伴也在增加对 Windows 的支持,这里主要强调一些:

  • FlutterFlow 是低代码 Flutter 应用程序设计工具,今天宣布支持 Windows,以及帮助 Flutter 开发人员为构建桌面应用量身定制了对于的功能。

  • Realm是一个超快速的本地数据存储,今天发布的最新版本现在支持使用 Flutter 构建 Windows 应用程序,其使用Dart FFI快速访问底层数据库,增加了对 iOS 和 Android 等移动平台的现有支持。

  • Nevercode 已更新其Codemagic CI/CD 工具以支持 Windows,现在你能够在云中测试和构建你的 Windows 应用,并自动将你的应用程序部署到 Microsoft Store。

  • Syncfusion已更新其控件套件以支持 Windows,如果你订阅了他们的工具包,你会发现有丰富的数据可视化组件,如树形图和图表、丰富的数据网格小部件、日历,甚至支持 PDF 创建和 Excel 电子表格等。

  • 最后 Rive今天宣布了他们的图形工具套件即将推出的 Windows 版本,允许设计人员和开发人员创建可以使用状态机实时响应代码的交互式矢量动画,他们即将推出的 Windows 版本的应用程序提供了惊人的快速性能和更低的内存占用,并且很快将在 Microsoft Store 中提供下载。

Flutter 2.10 支持 Windows

作为今天发布的 Flutter 2.10 的一部分,为构建 Windows 应用程序提供了稳定的支持,Flutter 2.10 还包括许多其他功能、性能改进和错误修复,更多可见:https://juejin.cn/post/7060676437518319630

在接下来的几个月中,你还将听到我们更多关于完成对 macOS 和 Linux 的稳定支持,使全套桌面、Web 和移动平台可用于你的生产 Flutter 应用的相关信息。

同时,感谢你对 Flutter 的支持,我们很高兴可以看到你使用 Windows 构建的内容。

image.png


---------------------
作者:恋猫de小郭
来源:CSDN
原文:https://carguo.blog.csdn.net/article/details/122781896?spm=1000.2115.3001.5927
版权声明:本文为作者原创文章,转载请附上博文链接!
内容解析By:CSDN,CNBLOG博客文章一键转载插件

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/284453.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

电脑经常弹出“不支持的硬件”解决办法

电脑经常弹出“不支持的硬件”解决办法。 通过微软官方查证,这是由于以上处理器需要最新的Windows10系统才会这样子的,而大多出现该提示的都安装了Win7或是Win8.1系统。 来至微软官方的说明 此错误出现的原因是各代新处理器要求最新Windows版本以获得支持。 例如,Windows 1…

使用 Web API 上传和下载多个文件

原文作者:Jay Krishna Reddy原文链接:https://www.c-sharpcorner.com/article/upload-and-download-multiple-files-using-web-api/翻译:沙漠尽头的狼(谷歌翻译加持,文中版本使用.NET 6升级)---正文开始---…

【MapGIS精品教程】002:GDB本地数据库的使用

本文主要内容为MapGISGDB本地数据库的使用,包括:GDB企业管理器的认识、GDB本地数据库的创建方法、GDB本地数据库的备份和恢复。 1. GDB企业管理器的认识 GDB是地理数据的资源管理器,主要对空间数据进行有序组织与管理。 GDB数据管理包括&…

RabbitMQ学习3----运行和管理RabbitMQ

1.服务为管理 Erlang天生就是为了让应用程序无需知道对方是否存在同一台机器上即可互相通信。 Erlang节点:Erlang虚拟机的每个实例。多个Erlang应用程序可以运行在同一个节点之上。节点之间可以进行本地通信(不管他们是运行在同一台服务器之上&#xff0…

各代移动网络性能

摘自《中国元宇宙白皮书》 下载整书完整版https://www.aliyundrive.com/s/gXQvRLM22kD

EFCore高级Saas系统下单DbContext如何支持不同数据库的迁移

前言随着系统的不断开发和迭代默认的efcore功能十分强大,但是随着Saas系统的引进efcore基于表字段的多租户模式已经非常完美了,但是基于数据库的多租户也是可以用的,但是也存在缺点,缺点就是没有办法支持不同数据库,mi…

51. Python 数据处理(2)

1.Python 修改excel文件import xlrd import xlutils.copy excelr xlrd.open_workbook("hello.xlsx") excelw xlutils.copy.copy(excelr) sheet1 excelw.get_sheet(0) sheet1.write(3, 5, "xlutils.copy test test") excelw.save("hello.xlsx"…

人工智能十大流行算法

导读:本文为有志于成为数据科学家或对此感兴趣的读者们介绍最流行的机器学习算法。 作者:Fahim ul Haq 译者:刘志勇,策划:赵钰莹 来源:InfoQ(ID:infoqchina) 机器学习是…

Win7+Win10双系统安装全攻略

安装双系统,不仅能给你非凡的体验,还可以满足工作中因系统版本,兼容性,处理器等原因带来的不便。本文讲解Win7+Win10双系统安装全攻略,亲测可用。 1. 硬盘分区 本文讲解利用固态硬盘+机械硬盘的分区方式。 固态硬盘:为了绝对提高系统运行的速度,将固态硬盘作为双系统的…

聊聊研发团队中的“人”

大家好,我是Z哥。汉字博大精深,很多时候我们可以通过拆字来更形象地理解一个词的含义。比如“团队”这个词的两个字"团"和“队”单独看也都是表示一种由多人组成的组织。再做一下拆字就是“口”“才”和“耳”“人”。前者表示一个人才如果没有…

[转]【分布式系统】唯一ID生成策略总结

文章目录 全局唯一id介绍 全局唯一id特点:常见全局唯一id生成策略 1、数据库自增长序列或字段生成id 2、UUID 3、Redis生成ID 4、zookeeper生成ID 5、Twitter的snowflake算法全局唯一id介绍 系统唯一id是我们在设计阶段常常遇到的问题。在复杂的分布式系统中&#…

超全的开源Winform UI库,满足你的一切桌面开发需求!

本文有dotnet9站长整理 网址:https://dotnet9.com/本站曾介绍过一款Winform开源控件库HZHControls,Winform在大家心中的地位还是挺高的,今天小编再分享一款新鲜出炉的 Winform UI库——SunnyUI,一起跟 Dotnet9 往下看吧。项目名称…

告别国外 IDE,阿里 蚂蚁自研 IDE 研发框架 OpenSumi 正式开源

经历近 3 年时间,在阿里集团及蚂蚁集团共建小组的努力下,OpenSumi 作为国内首个强定制性、高性能,兼容 VS Code 插件体系的 IDE 研发框架,今天正式对外开源。 一 OpenSumi 是什么? OpenSumi 是一款面向垂直领域&#…

window-memcache技术随笔

memcached.exe软件放置到非中文,非空格的目录,把MSVCR71.DLL文件放在memcached.exe同目录下启动,控制面板中打开window功能-Telnet客户端memcache服务方法一:管理员身份打开黑窗口 d:(mem的所在盘)cd memmemcached.exe -p 11211方法二: 安装为Windows的系统服务memcached.exe -…

将不确定变为确定~老赵写的CodeTimer是代码性能测试的利器

首先,非常感谢赵老大的CodeTimer,它让我们更好的了解到代码执行的性能,从而可以让我们从性能的角度来考虑问题,有些东西可能我们认为是这样的,但经理测试并非如何,这正应了我之前的那名话:“机器…

聊聊 C++ 中的几种智能指针(下)

一:背景 上一篇我们聊到了C 的 auto_ptr ,有朋友说已经在 C 17 中被弃用了,感谢朋友提醒,今天我们来聊一下 C 11 中引入的几个智能指针。unique_ptrshared_ptrweak_ptr看看它们都怎么玩。二:三大智能指针详解 1. uniq…

iOS回顾笔记( 02 ) -- 由九宫格布局引发的一系列“惨案”

iOS回顾笔记( 02 ) -- 由九宫格布局引发的一系列“惨案” 前言(扯几句淡先) 回顾到学习UI过程中的九宫格布局时,发现当时学的东西真是不少。 这个阶段最大的特点就是:知识点繁多且琐碎。 我们的目标就是要将…

【GlobalMapper精品教程】007:如何加载谷歌卫星影像?

“Global Mapper支持所有OGC标准数据源类型,例如用于流式栅格地图的WMS / WMTS,用于矢量数据集的WFS和用于为指定区域下载单个数据文件的WCS。预先切片的图像和地形数据集也可以使用OSM(OpenStreetMaps)、TMS(Tiled Map Service)和Google Maps瓦片架构支持。您只需要选择适当…

Mysql清空表(truncate)与删除表中数据(delete)的区别

2019独角兽企业重金招聘Python工程师标准>>> 为某基于wordpress搭建的博客长久未除草,某天升级的时候发现已经被插入了几万条垃圾留言,如果一条条删除那可真是累人的活。遂考虑直接进入mysql直接清空表或者删除表中数据。 本文记录一下这2种操…

[转]云原生到底是什么?

📋 个人简介 💖 作者简介:大家好,我是阿牛😜 📝 个人主页:馆主阿牛🔥 🎉 支持我:点赞👍收藏⭐️留言📝 💬格言&#xf…