Flutter 3通过移动终端到多平台实现了Flutter的产品计划,并在今年的Google I/O会议的主题演讲中正式发行。在Flutter 2.10支持Windows之后,此版本提供了MacOS和Linux桌面。稳定版本的支持,包括改进Firebase集成,增加了与生产率和性能相关的新功能,并为Apple芯片提供了支持。
此版本中令人兴奋的升级包括:Flutter对MacOS和Linux的支持,性能得到了显着改进,移动设备和Web的更新以及许多其他功能!此外,我们还带来了有关减少对Windows和Windows旧版本的支持的新闻几个重大更改。让我们直接进入主题!
Linux和MacOS平台的支持已进入稳定状态,包括以下功能:
现在,您可以使用小部件创建由MACOS上平台呈现的菜单列,支持该平台的插入菜单,并在MacOS应用程序菜单中控制显示内容。
△类CO -Menu信号传导
所有三个桌面平台都完全支持跨国文本输入,包括文本输入方法编辑器(IME)中的语言,例如中文,日语和韩国。它同时支持第三部分输入方法,例如Sogo(Sogou),Sogou),,Google日语输入方法,等等。
Flutter支持Windows,MacOS和Linux平台的无障碍服务,包括屏幕文本阅读,无屏障导航和颜色逆转。
在Flutter 3中,将作为通用二进制文件构建Flutter MacOS桌面应用程序,从而在本地使用Intel处理器和配备了Apple Silicon的新设备支持Mac计算机。
此版本被促进到Windows的推荐Windows开发版本。这些版本的测试有限。尽管我们将尽力为旧版本提供支持,但建议您升级版本。
注意:Flutter应用程序仍然可以在Windows 7和8上运行,这仅影响我们建议的开发环境。
我们关于移动终端的最新信息包括:
Flutter 3支持可折叠的移动设备。通过Microsoft领导的合作,每个人都可以使用新功能和小部件在可折叠设备上创造动态宜人的体验。
作为合作的一部分,MediaQuery现在包含一个displayFeature列表来描述设备组件的状态,包括铰链,折叠状态和屏幕bangs.indefe,添加,在displayFeaturesScreen窗口中包含的子范围的位置不会重叠边界使用边界,并且已在框架的“默认对话框”和“弹出”窗口中使用,以便扑动可以动态地适应这些元素的位置。
非常感谢Microsoft团队。此外,我们还要感谢 @Andreidiaconu的贡献!
欢迎每个人尝试Surface Duo Simulator示例,该示例包含一个特殊版本的Flutter Gallery,以了解双屏幕中的颤音的实际操作:
现在,Flutter使用促销显示器(包括iPhone 13 Pro和iPad Pro)支持iOS设备上的可变刷新率。这些设备上的Flutter应用程序的刷新率可以达到120 Hz,而先前的最大值为60 Hz,这使观看次数为60 Hz快速动画(例如滚动)的经验。请请检查官方文档以获取详细信息。
我们为命令添加了新的选项,以使iOS应用程序更加容易。当您准备将其分发到testflight或App Store时,运行Flutter Build IPA以构建Xcode Archives和应用程序软件包(.IPA文件)。您可以选择添加 -导出方法临时,-Export-Method开发或export-Method Enterprise option。应用程序软件包完成后,它可以通过Apple Transport MacOS应用程序上传到Apple,或使用XCRUN ALTOOL完成命令中的上传行(运行Man Altool要获得App Store Connect API键验证说明)。上传完成后,可以将您的应用程序发布到TSTFLIGHT或APP Store。完成初始Xcode项目设置(例如应用程序显示名称和应用程序ICON)后,在发布应用程序时,您不需要打开XCode。
当使用Flutter工具创建新项目时,您可能已经注意到,生成的文件现在使用Gradle和Android Gradle插件的最新版本。对于现有项目,您需要手动将Gradle版本升级为7.4,而Android Gradle则需要手动升级插件版本已升级到7.1.2。
根据稳定版在2022年2月发布的公告,Flutter对32位iOS设备和iOS 9和10的支持即将结束。这将影响iPhone 4S,iPhone 5,iPhone 5C和iPad第二,第二,第三,第三,第三,第三,第三,和第四代设备。Flutter3是支持上述iOS版本和设备的最后一个稳定版本。
要了解有关此更改的更多信息,请参见RFC:对32位iOS设备的术语支持。
我们对网络端的更新包括:
在浏览器支持的情况下,Flutter Web现在可以自动检测并使用ImageDecoder API。因此,大多数Chrome浏览器都添加了此API,例如Chrome,Edge,Opera,Samsung浏览器等。
该新的API使用浏览器的构建-in Image编解码器在主线程外部解码异步。这增加了图像解码速度的双重double,并且根本不会阻止主线程,从而消除了以前由图像引起的卡住现象。
Flutter Web应用程序应用的新生命周期API提高了灵活性,该灵活性可以实现从托管HTML页面中控制扑动应用程序的指导程序,并使用Lighthouse支持您的应用程序的性能。此情况适用于许多情况,包括开发人员经常提到的以下场景:
请阅读官方文档“自定义Web应用程序初始化”以获取详细信息。
我们的颤抖和飞镖工具的更新包括:
现在发布的棉布包2.0版本:
生成的Flutter 3应用程序将自动启用2.0版LINT套件。我们建议您运行它以迁移现有应用程序,包装和插件到2.0版,以遵循最新和最佳的扑面实践。
LINT 2.0中的大多数新警告具有自动维修功能。因此,当您升级到应用程序中的最新软件包版本时,您可以在代码库中自动运行以自动维修大多数棉绒警告(仍然需要手动操作一些警告)。对于未使用的应用程序,包装或插件,建议开发人员根据《迁移指南》迁移到最新版本。
多亏了开源贡献者KNOPP,在支持此功能的Android设备上已经实现了本地重新启动。在我们的本地测试中,此功能将降低框架网格时间测试的平均值,90个百分比和99个百分点值4XL设备按照基准测试。现在,iOS设备和较新版本的Android设备已在单个矩形的脏区域中重新绘制。
我们进一步改善了在简单用例中不透明动画的性能。特别是,当小部件仅包含一个单个渲染原始性时,可以省略窗口小部件的调用方法。在此优化基准测试中,此用例下的电网时间增加了在未来版本中,我们计划优化此应用程序以获取更多方案。
在开源贡献者Jsouliang的努力下,引擎在Android和iOS运行优先级上的光栅和接口线程高于其他线程(例如,DART VM的背景垃圾回收线)。在我们的基准测试中,这允许平均时间加快平均时间加快约20%。
在发布第三版之前,光栅缓存的访问策略仅查看图片中绘制的操作员数量(假设任何带有多个操作员的图片都应输入缓存)。借助非常快速的渲染。此版本引入了一种新机制,以根据绘图运算符的成本估算图像渲染的复杂性。在我们的性能测试中,使用新机制作为网格缓存访问策略可以减少记忆量,而无需减少记忆力表现。
多亏了ColdPalelight的开源贡献者,他解决了iOS上少量动画框架的问题,这是由于框架计划错误。谢谢大家报告此问题,并为每个提供框架RE -VIDEO的人提供。
我们一直致力于解决iOS和其他平台上的早期口吃问题。申请运行时的汇编,而后者是Flutter Katto的主要原因。Impeller尚未准备好生产,并且仍然有距离要完成。Impeller尚未实施所有Flutter的功能特征,但我们对保存满意以及它在颤音/画廊应用程序中的性能,我很高兴在这里与您分享开发进度。特别是,在画廊应用的周围动画中,即使是最差的帧速度也比以前快20倍。
可以在iOS上标记叶轮。如果您想尝试叶轮,则可以将标记传递给,或者文件中的标记是。Impeller的开发将继续在扑朔迷离的主渠道上进行,我们希望能够进一步提供将来的更新版本。
使用Google_mobile_ads软件包时,您应该能够感觉到用户关键交互的性能(例如页面之间的滚动和切换)。在新兴市场中广泛使用的流行设备中,这种性能的改进尤为明显。最好的事情是您无需更改任何代码!
在特定的实现方面,Flutter现在是异步组合的Android视图(即通常称为的平台视图)。这意味着Flutter的光栅线不需要等待Android View渲染。它的托管OpenGL纹理以在屏幕上显示视图。
我们的颤音生态系统中的其他更新包括:
Flutter 3支持新一代的材料设计,即材料设计3.Flutter 3提供了对材料3的可选支持,包括您功能的材料,例如动态颜色,最新的颜色系统和Fonts.essencewe欢迎所有人尝试尝试的功能特征材料3通过新的codelab“成为无聊的颤音应用程序”。请参阅API文档,以了解有关如何选择上述新功能的更多信息,哪些组件支持材料3.请注意最新的开发进度。
使用“主题扩展”,Flutter现在支持将任何内容添加到材料库中。您现在可以指定(在飞镖中)扩展并重新实现它,并对其进行重新实现。此外,包装开发人员还可以提供。请参阅。请参阅。请参阅。官方文档以获取详细信息,并在Github上检查相关示例。
我们知道,对于出版商来说,请用户的代理商进行个性化广告,以及“应用程序透明度(ATT)”的“应用程序牵引透镜”的要求非常重要。
为了满足这些需求,Google提供了“用户消息平台(UMP)” SDK,替换了即将到来的Google Mobile Advertising SDK(Flutter)的先前的开源SDK.SDK。因此,发布者可以征求用户同意。有关详细信息,请在pub.dev上查看Google_mobile_ads软件包页面。
在持续扩展和颤动的持续扩展过程中,我们将尝试最大程度地减少重大变化的数量。Flutter3包含以下主要变化:
如果使用上述API,请参见Flutter.dev上的迁移指南。
根据统计机构(例如Statista和Slashdata)的统计数据,扑朔迷离仍然是最受欢迎的跨平台接口工具包。我们可以维持这种地位和社区的贡献。在这方面,Google Flutter团队衷心尊重每个人。向前看,与社区成员合作,继续提供社区驱动的工具,以帮助每个人为用户创造更多愉快的体验!
Flutter美妙的课程建议
原始:https://juejin.cn/post/71031476666644828168