Flutter稳定支持Windows,开发者做好准备了吗?(flutter for windows)

整理 | 郭露 责编 | 张红月

出品 | CSDN(ID:CSDNnews)

Flutter是由谷歌开发的开源移动UI框架,可快速在不同平台上构建高质量原生用户界面。Flutter支持现有的所有代码,在世界各地受到越来越多开发者的追捧。到目前为止,全球已发布了近50万个使用Flutter的应用程序,其中包括来自字节跳动等大型公司的应用程序,以及谷歌三十个团队的应用程序。据Statista和SlashData的分析师表示,Flutter是2021年最受欢迎的跨平台UI工具。

Flutter稳定支持Windows,开发者做好准备了吗?(flutter for windows)

图源Flutter产品经理Tim Sneath博客

2月4日,Flutter稳定版2.10重磅推出,该版本在春节期间发布,距离上次的发布还不到两个月。但即使在这么短的时间内,我们已经关闭了1843个issues以及来自全球115名贡献者的1525个PR。此次版本更新包括Flutter对Windows的重大支持更新、部分性能改进、不同平台的新增功能以及一些工具的改进。

Flutter稳定支持Windows,开发者做好准备了吗?(flutter for windows)

Flutter 2.10 新特性一览

1. 性能改进

Flutter 2.10版本初步支持由Flutter社区成员knopp提供的绘制脏区管理功能。他为iOS/Metal上的单个脏区域启用了选择性重绘。这将大大缩短部分基准测试中的九十分位和九十九分位的光栅化时间,并将这些基准测试中的GPU占用率从90%以上降低到10%以下。

除此之外,该版本还对图片格式进行了优化。开发者可以更有效地调节图层透明度。基准测试中每帧光栅化时间至少缩短了三分之一。

在profile和release模式下,Dart代码以AOT方式进行编译。这段代码解锁了许多编译器优化和激进的tree-shaking。但是由于类型流分析必须涵盖整个程序,因此对性能有些影响。2.10版本带来了更快的类型流分析实现,在基准测试中,Flutter应用程序的总体构建时间缩短了约10%。

2. iOS更新

除了性能改进之外,Flutter 2.10版本还在各平台增加了不同的增强功能。例如开发者luckysmg带来了流畅的iOS键盘动画、iOS相机插件的稳定性提高,以及为64位架构的iOS系统加入了减少内存使用的新功能——压缩指针。

3. Android更新

同时Flutter 2.10版本针对Android进行了改进。当开发者创建新应用时,Flutter可支持最新版本的Android,即Android 12。此外,在此版本中,我们启用了MultiDex。如果开发者使用的是低于21的Android SDK版本,并超过了 64K方法数限制,只需将 –multidex 传递给flutter build appbundle 或是flutter build apk ,就能够支持MultiDex。

4. Web更新

Flutter版本中同样包括对于Web的改进。在之前的版本中,当鼠标拖动到多行文本框的边缘时,它不会同步滚动。而在2.10版本中,选择光标拖出了文本框后,文本框会进行滚动,浏览并选中对应的内容。该功能适用于Wed和桌面应用程序。

5. Material 3

Flutter 2.10是向Material 3过渡的开始,其中包括从单一颜色生成成整个配色方案的功能。

开发者可以使用任意颜色创建新的ColorScheme类型。ThemeData 的构造函数还包含一个新的 colorSchemeSeed参数,可以直接从颜色生成主题。此外,该版本包括了 ThemeData.useMaterial3 的参数,可将Widget切换到新的Material 3外观。

Flutter还增加了1028个新Material图标。

Flutter稳定支持Windows,开发者做好准备了吗?(flutter for windows)

除上述功能以外,Flutter 2.10还在集成测试、DevTools以及VSCode等进行了改进,并彻底移除了Dev渠道以及对 iOS 9.3.6支持。

对于此次版本更新,最引人关注的莫过于稳定支持Windows应用开发,对此,Flutter产品经理蒂姆·斯内斯(Tim Sneath)发文进行了详细解读,让我们一起来看一下。

Flutter稳定支持Windows,开发者做好准备了吗?(flutter for windows)

已为Windows做好准备的Flutter

Flutter稳定支持Windows,开发者做好准备了吗?(flutter for windows)

图源Flutter官网

Flutter旨在创建高效跨平台软件框架,在过去几年取得了长足发展。Flutter可为 Android、iOS、Linux、Windows、macOS 以及网页开发应用,并兼容现有的所有代码。受到了全球各地区开发者的支持信赖。

谷歌表示:“今天标志着这一愿景的重大扩展,首次发布了对Windows作为应用目标的支持,使Windows开发者能够受益于移动开发者一直享有的同样的生产力和力量”。

为实现这一目标,谷歌一直致力于Flutter开发。五年前,谷歌曾推出Flutter Alpha,该版本大大提高了移动操作系统的开发速度。Flutter应用程序可使用Dart编写,实现了在Android、iOS、Windows、macOS和Linux、Web以及嵌入式设备上运行。

然而, 要想实现Flutter桌面支持并非易事,必须重新针对Windows进行设计,桌面应用需要兼容键盘和鼠标等不同硬件以及不同大小的屏幕,同时对于输入法、视觉样式等也有不同的需求,还要支持文件系统选择器以及Windows注册表等数据存储的各种内容。

正如Flutter对Android和iOS的支持一样,Flutter的Windows结合了Dart框架以及C 引擎。Windows和Flutter 通过嵌入层进行通信,该嵌入层承载Flutter引擎并负责翻译和分发Windows信息。Flutter与Windows可将UI绘制到屏幕上,并与现有的 Windows模式相配合。

Flutter稳定支持Windows,开发者做好准备了吗?(flutter for windows)

图源来自Flutter和Dart产品经理博客

开发者可在Windows上使用Flutter框架的所有功能,并通过Dart或C 编写的平台插件与Win32、COM和Windows Runtime API进行通信,同时Flutter团队还对许多常用插件进行调整以支持Windows,其中包括camera、file_picker以及shared_preferences 。更重要的是,Flutter社区中还添加了大量对其他包的Windows支持,其中涵盖了从Windows 任务栏集成到串行端口访问的所有内容 。

Flutter稳定支持Windows,开发者做好准备了吗?(flutter for windows)

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

对于完全定制的 Windows UI,您还可以使用包fluent_ui来flutter_acrylic创建一个可以精美地表达 Microsoft Fluent 设计系统的应用程序。使用该msix工具,您可以将您的应用程序包装在一个安装程序中,该安装程序可以上传到 Windows 上的 Microsoft Store。

总的来说,Flutter 2.10的推出实现了在Windows上的快速运行,并且可以传输到其他桌面或移动设备以及Web。以下是早期示例:

Flutter稳定支持Windows,开发者做好准备了吗?(flutter for windows)

图源自Flutter官网

Flutter稳定支持Windows,开发者做好准备了吗?(flutter for windows)

图源自Flutter官网

Flutter稳定支持Windows,开发者做好准备了吗?(flutter for windows)

图源自Flutter官网

该版本推出后,微软Windows开发者平台公司副总裁Kevin Gallo表示:”我们很高兴看到Flutter实现对创建Windows应用程序的支持。作为一个开放平台,Windows欢迎所有开发人员的加入。Flutter能实现Windows应用支持并在Microsoft Store上架,表明其对我们的信任,期待Flutter在Windows上的发展!”

除此之外,许多Flutter合作伙伴也在增加对Windows的支持,其中包括:

  1. 作为低代码Flutter应用程序设计工具,FlutterFlow宣布支持Windows并将帮助Flutter开发人员构建专为桌面使用的功能。

  2. 本地数据存储工具Realm的最新版本支持使用Flutter构建Windows应用程序,使用Dart FFI快速访问底层数据库,并增加了对 iOS 和Android等移动平台的现有支持。

  3. Nevercode已更新Codemagic CI/CD 工具以支持Windows,使用户能够在云中测试并构建Windows应用程序,并自动部署到Microsoft Store

  4. Syncfusion已更新小部件支持Windows。数据可视化组件等支持创建PDF文件和 Excel表格。

  5. Rive宣布了其图形工具套件即将推出Windows版本,开发人员可创建可以使用状态机实时响应代码的交互式矢量动画。他们还将推出Windows应用程序,在性能和内存上有着不俗的表现,很快将在Microsoft Store中提供下载。

目前看来,大家对于Flutter 2.10的评价依旧非常好。@开发者,对于Flutter 稳定支持Windows,你做好准备了吗?是否已经Demo起来了呢,欢迎留言分享。

【参考资料】

  • https://www.theregister.com/2022/ 02/04/flutter_windows_production_release/

  • https://medium.com/flutter/announcing-flutter-for-windows-6979d0d01fed

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

Flutter稳定支持Windows,开发者做好准备了吗?(flutter for windows)

《新程序员003》正式上市,50余位技术专家共同创作,云原生和数字化的开发者们的一本技术精选图书。内容既有发展趋势及方法论结构,华为、阿里、字节跳动、网易、快手、微软、亚马逊、英特尔、西门子、施耐德等30多家知名公司云原生和数字化一手实战经验!

Flutter稳定支持Windows,开发者做好准备了吗?(flutter for windows)Flutter稳定支持Windows,开发者做好准备了吗?(flutter for windows)

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

(0)
上一篇 2024年1月8日 下午4:50
下一篇 2024年1月8日 下午5:06

相关推荐

  • 工程管理软件p3

    工程管理软件P3: 轻松管理项目并提高生产力 随着数字化时代的到来,工程管理软件已经成为项目管理中不可或缺的一部分。而其中最为广泛使用的一类软件就是P3工程管理软件。本文将介绍P3…

    科研百科 2024年10月2日
    12
  • 社会组织项目管理系统介绍(社会组织项目管理系统介绍怎么写)

    一款专属社会组织的申报流程化、分配精准化、监管全面化、存档体系化、协作高效化、操作便捷化、的项目管理系统。 项目管理系统帮助社会组织解决如下问题: 项目节点进度逾期 项目数量多,种…

    科研百科 2023年8月5日
    102
  • 河北省石家庄市出台民办学校党建工作规范(民办学校党建工作实施方案)

    中国教育报-中国教育新闻网讯(记者 周洪松)日前,河北省石家庄市制定颁布《石家庄市民办学校党建工作规范(试行)》,明确提出,全市民办普通中小学、中职学校要将党建有关内容纳入学校章程…

    科研百科 2023年2月28日
    302
  • 用友U810.1

    用友U810.1:用友ERP系统的入门指南 用友ERP系统是当前企业信息化领域中备受欢迎的一款软件,用友U810.1是其中的最新版本,它提供了广泛的功能和强大的性能,可以帮助企业实…

    科研百科 2024年10月11日
    6
  • 【喜迎二十大 谈谈这十年】商河县村党组织书记谈村庄十年变化

    编者按:十年风雨兼程,十年铸就辉煌。为迎接党的二十大胜利召开,全面展现全县“头雁”队伍风采,近期我们将在商河党建微信公众号开辟专栏,开展“喜迎二十大 谈谈这十年”活动,挑选全县连续…

    科研百科 2023年6月10日
    220
  • 初中生可以参与的科研项目

    初中生可以参与的科研项目 随着科技的不断发展,初中生也可以参与各种科研项目。这些项目不仅可以帮助他们提高科学知识,还可以培养他们的领导能力,创新思维和团队合作能力。在这篇文章中,我…

    科研百科 2024年12月5日
    1
  • 申报省科研项目

    申报省科研项目 近年来,随着科技的快速发展,省科研项目已成为科技创新的重要载体。作为科技创新的重要组成部分,申报省科研项目不仅可以为高校和科研机构提供资金和人才支持,还可以推动当地…

    科研百科 2025年2月14日
    0
  • 党建引领,社区居委会负责物业管理——方案(居委会业委会物业公司党建引领三驾马车)

    新创作 党建引领 【社区居委会负责物业管理】 方案 物业管理人员必须是社区工作人员。物业管理人员的工资由政府部门开支,物业管理不存在亏损的现象。不以盈利为目的。就不存在矛盾,没有矛…

    科研百科 2024年6月22日
    42
  • 大学参加的科研项目

    大学参加的科研项目 作为一名大学生,我有幸参与了一项具有挑战性的科研项目。这项项目是关于人工智能在医学领域的应用,旨在通过人工智能技术来提高医学诊断的准确性和效率。 在这个项目的过…

    科研百科 2025年3月11日
    2
  • 科研项目通讯评审

    科研项目通讯评审: 促进科学创新和合作 科研项目通讯评审是科研项目的重要组成部分,是评价科研项目质量、评估科研项目进展、促进科学创新和合作的重要手段。在科研项目的发展过程中,通讯评…

    科研百科 2025年2月17日
    1