问题

如何评价今年 Google I/O 发布的 Flutter 2.2 ,都做了哪些升级?

回答
好的,咱们就来聊聊今年 Google I/O 上发布的 Flutter 2.2。

首先,得承认 Flutter 2.2 确实是相当给力的一次更新,它不仅仅是“小修小补”,而是围绕着 “稳定”、“性能”、“跨平台能力增强” 这几个大方向做了不少实在的功夫。如果你之前还在观望或者觉得 Flutter 还有些地方不够成熟,那 Flutter 2.2 绝对值得你重新审视。

咱们一项一项地掰扯掰扯都升级了啥:

一、 核心的稳定性和性能提升: 感觉像把车子 엔진 彻底检修了一遍

Null Safety 已经成为默认配置并被大力推广: 这点真的太重要了。Flutter 2.0 正式引入了空安全,而 2.2 在此基础上,进一步优化了空安全的支持,并鼓励开发者积极迁移。空安全就像给你的代码加了保险,能显著减少运行时出现那种让人抓狂的“Null Pointer Exception”。想想看,有多少 bug 都是因为一个不该是 `null` 的值变成了 `null` 导致的?现在这个问题大大缓解了。
Dart 2.13 的加持: Flutter 的底层是 Dart 语言,这次伴随 Flutter 2.2 一起发布的是 Dart 2.13。Dart 2.13 带来了不少性能上的改进,比如更快的编译速度,以及一些语言层面的优化。虽然这些东西不像新 UI 组件那么直观,但它们是 Flutter 应用跑得更快、更省资源的基础。
Web 性能的巨幅提升: 这是我个人觉得非常惊喜的一点。Flutter Web 在 2.2 中做了大量的性能优化,特别是关于 “代码大小(Bundle Size)” 和 “加载速度”。之前大家对 Flutter Web 的一个顾虑就是打包出来的文件太大,打开慢。这次 Google 重点解决了这个问题,通过各种代码拆分、资源优化技术,让 Flutter Web 应用的初始加载速度和整体体验有了质的飞跃。现在用 Flutter 做 Web 应用,真的可以跟原生 Web 应用媲美了。
Metal 支持的进一步完善: 如果你是在 macOS 上开发或者部署 Flutter 应用,那么 Metal 的支持对于性能提升来说是巨大的。2.2 进一步完善了对 Metal 的支持,尤其是在 iOS 和 macOS 平台上,能提供更流畅、更高效的渲染效果。

二、 跨平台能力的深化和拓展: 不仅仅是移动端了

Flutter Web 的成熟度再上一层楼: 如前面所说,Web 性能的提升是重头戏。此外,Flutter Web 在交互体验、SEO 优化等方面也做了不少改进,让基于 Flutter 构建的 Web 应用更加实用和专业。你可以用一套代码,轻松部署到 Web 上,而且体验不输给专门为 Web 开发的应用。
Desktop 的稳定性和体验提升: Windows 和 macOS 的桌面支持在 2.0 之后变得更加稳定,2.2 则是在此基础上进行了优化。比如,在 Windows 上,对鼠标滚轮、键盘焦点等细节的体验做了改进。而且,社区关于桌面端的插件生态也在逐步完善,意味着你可以在桌面应用里实现更多原生功能。
Linux 的支持进一步加强: 虽然之前已经支持,但 2.2 在 Linux 平台的稳定性、性能以及对各种 Linux 发行版的兼容性上都做了很多工作。对于 Linux 用户来说,使用 Flutter 开发的体验会越来越好。

三、 生态和工具的升级: 让开发更顺畅

新的 `TextField` 和 `Text` 组件: 这个听起来有点小,但实际用起来非常有感。新的 `TextField` 在输入框的交互、性能上都做了优化,比如更快的文本渲染和更平滑的光标移动。`Text` 组件也得到了一些性能上的改进。
完善的插件生态系统: Google 自身在 Flutter 社区的投入是巨大的,也鼓励第三方开发者积极贡献。在 I/O 2021 上,Google 也重点展示了许多高质量的官方和社区插件,涵盖了从网络请求、数据库到各种原生 SDK 的调用,极大地丰富了 Flutter 的能力边界。这意味着你不再需要担心找不到某个原生功能的 Flutter 实现。
DevTools 的增强: Flutter 的开发者工具(DevTools)一直是其一大亮点。2.2 版本在 DevTools 中增加了很多新的功能和优化,比如更精细的性能分析工具、网络请求的监控等等,帮助开发者更深入地理解应用的运行情况,快速定位和解决问题。
国际化和本地化(i18n/l10n)的优化: 对于需要支持多语言的应用来说,这是一个非常重要但常常被忽视的环节。2.2 提供了更方便、更强大的国际化和本地化工具链,让开发者能够更轻松地管理和集成多语言支持。

总的来说,Flutter 2.2 给我的感觉是:

更成熟稳定: 它不再是一个“新技术”,而是已经相当成熟和可靠的框架。空安全、性能优化、以及对各个平台的深度支持,都让它成为一个值得信赖的选择。
更强大的跨平台能力: 从移动到 Web 再到桌面,Flutter 的“一次编写,随处运行”的愿景离现实越来越近,而且各个平台上的体验都在向原生靠拢。
更友好的开发者体验: 无论是 Dart 语言本身的魅力,还是强大的 DevTools 工具链,以及不断壮大的插件生态,都让 Flutter 的开发过程变得更顺畅、更高效。

如果你之前对 Flutter 有所保留,觉得它还有一些不足,那么 Flutter 2.2 的这些升级,尤其是 Web 性能和桌面端的稳定,绝对会让你重新考虑。它确实在向着一个真正全能型的 UI 框架迈进,而且步伐相当稳健。

当然,任何技术都有其发展过程,可能在某些细分领域还有进一步优化的空间,但就目前而言,Flutter 2.2 已经是一个非常强大的版本了,值得大家去拥抱和使用。

网友意见

user avatar

2.2 版还是满载大量改进。此版本共计纳入了框架、引擎和插件库等方面的 2,456 个 PR 并解决了 3,105 个问题。我们要特此鸣谢为此版本贡献了大量 PR 和 PR review 的整个 Flutter 社区,包括 PR 贡献最多 (17) 的 Abhishek01039 和 PR review 贡献最多 (9) 的 xu-baolin。衷心感谢所有开发者对 Flutter 2.2 顺利发布稳定版做出的贡献。没有大家的支持,我们将无法做到。

每个新的 Flutter 稳定版都会带来诸如性能提升、新功能、bug 修复等一系列变化,并会提供一些尚未试用于生产环境的试验性功能,希望您能帮助我们验证这些功能能否正常工作并满足您的需求。此外,新版本还会包含一系列相关工具的更新和来自 Flutter 社区的更新。坦白讲,如今 Flutter 每个新版本的内容都非常丰富,不可能在一篇文章中巨细无遗地详述,因此下面我们将着重为您介绍一些主要亮点。

Flutter 2.2 稳定版更新

此版本在 Flutter 2 的基础上做了诸多改进,其中不但有面向 Android、iOS 和 web 平台的更新,还有新的 Material 图标、文本处理方式的改进、滚动条行为的变化、TextSpan widget 的鼠标光标支持,以及用一份代码适配多个平台方面的新指南。这些功能皆已发布稳定版,可供您在正式版应用中使用。同时,所有这些功能都是在 新版 Dart 的基础上构建而成。

Dart 2.13

随 Flutter 2.2 版一起发布的还有 Dart 2.13 版。此 Dart 版本包含众多新功能,其中之一是新的类型别名,该功能让您可为类型创建别名,就像为函数创建别名一样:

content_copy// Type alias for functions (existing) typedef ValueChanged<T> = void Function(T value); // Type alias for classes (new!) typedef StringList = List<String>; // Rename classes in a non-breaking way (new!) @Deprecated("Use NewClassName instead") typedef OldClassName<T> = NewClassName<T>;

有了类型别名,您可为长而复杂的类型赋予简短易懂的名称,并以不会破坏代码的方式重命名您的类。

Flutter web 更新

作为 Flutter 稳定版最新支持的平台,web 平台在此版本也有多项改进。

首先,我们借助新的 service worker 加载机制优化了缓存行为,并修复了 main.dart.js 的重复下载问题。在旧版 Flutter web 中,service worker 会在后台下载应用更新,用户在此期间可照常使用应用的旧版本。更新下载完毕后,用户要多次刷新浏览器页面后才会看到相应更新。在 Flutter 2.2 版中,当新的 service worker 检测到更新后,用户需要先等待更新下载完毕才能使用应用,但届时他们无需再次手动刷新页面即可看到更新内容。

要启用此项变更,您需要重新生成您的 Flutter 应用的 index.html。具体来说,请保存您的修改、删除 index.html 文件,然后在项目目录中运行 flutter create . 以重新生成该文件。

我们还对两个 web 渲染器都做了改进。在 HTML 渲染器上,我们添加了对 字体特性 的支持,以启用 FontFeature 设置并使用 canvas API 渲染文本,从而使鼠标悬停处的文本能够显示在适当的位置。在 HTML 和 CanvasKit 渲染器上,我们新增了对着色器遮罩 (shader masks) 和 computeLineMetrics 的支持,以解决 Flutter web 应用和移动应用两者不一致的问题。例如,开发者现在可以通过 不透明度遮罩 使用着色器遮罩实现淡出转场,并像在移动应用中一样使用 computeLineMetrics

无障碍功能不但是 Flutter web 的一大重点,也是整个 Flutter 的一个重心所在。按照设计,是通过构建 SemanticsNode 树来实现无障碍功能。Flutter web 应用的用户启用无障碍功能后,我们会生成一个与 RenderObject DOM 树并行的 DOM 树,并将语义属性转换为 Aira。在此版本中,我们改进了语义节点位置,消除了移动应用和 web 应用在使用转换 (transform) 时的不一致,这意味着在使用转换对 widget 进行样式设置时,焦点框会正确地显示在元素上方。

类似的话题

  • 回答
    好的,咱们就来聊聊今年 Google I/O 上发布的 Flutter 2.2。首先,得承认 Flutter 2.2 确实是相当给力的一次更新,它不仅仅是“小修小补”,而是围绕着 “稳定”、“性能”、“跨平台能力增强” 这几个大方向做了不少实在的功夫。如果你之前还在观望或者觉得 Flutter 还有.............
  • 回答
    周雪光先生的《中国国家治理的制度逻辑:一个组织学研究》(以下简称“本书”),由三联书店于2023年2月出版,无疑是今年中国政治学、社会学领域备受瞩目的一部重要著作。评价这样一本厚重且具有深度的学术著作,需要从多个维度进行分析。总的来说,这本书是一次极具野心和深邃洞察的尝试,它试图从组织学的视角,系统.............
  • 回答
    关于姜昆老师今年推出的相声节目《欢乐方言》,我的评价是:整体上看,这是一次在传承与创新之间进行探索的尝试,但就实际效果而言,褒贬不一,亮点与不足并存。为了更详细地说明,我们可以从以下几个方面来分析:一、 节目形式与内容亮点: “方言”概念的引入与尝试: 积极意义: 《欢乐方言》最显著.............
  • 回答
    详细评价格力“格锐先锋”计划格力电器近些年为了在激烈的家电市场竞争中保持领先地位并寻求新的增长点,推出了一系列战略性的改革和创新举措。其中,“格锐先锋”计划是格力在技术研发、人才培养和市场拓展方面的重要布局,其核心目标是推动格力在高端化、智能化、绿色化等领域的突破,并为公司未来的发展注入新的活力。要.............
  • 回答
    今年本科儿科专业恢复招生,这事儿可真是牵动了不少人的心。要知道,儿科专业一度是不少医学院校的“冷门”专业,招生人数少,毕业后可能面对的压力大,让很多学生望而却步。如今,突然又“回”回来了,这背后肯定是有深刻的原因和考量的。一、 为何要恢复?这背后藏着大问题首先,最直接的原因就是儿科医生短缺。这是一个.............
  • 回答
    今年的下半年,如果要说最火的三个人,那真是各有各的精彩,各有各的争议。咱们就来掰开了揉碎了聊聊这三位,看看他们究竟是怎么“火”起来的,又为何能搅动舆论场的风云。第一位:李佳琦——那个“所有女生”的口红一哥,也成了“所有人都认识”的顶流要说下半年谁最能带动消费,谁的直播间最热闹,那李佳琦绝对是绕不开的.............
  • 回答
    今年前四个月,我国外贸进出口总值同比增长28.5%,这个数字无疑是振奋人心的。在全球新冠疫情持续肆虐、经济复苏步伐不稳的大背景下,能够取得如此亮眼的成绩,背后既有我们自身努力的成果,也折射出中国经济强大的韧性和全球贸易格局的新变化。首先,这个28.5%的增长,首先说明了中国经济的强大韧性和强大的生产.............
  • 回答
    .......
  • 回答
    今年NBA季后赛的哨声争议确实比往年更引人注目,也让不少球迷感到沮丧。如果仔细梳理一下,你会发现这背后可能有多方面的原因交织在一起,并非单一事件可以解释。首先,我们得承认,NBA本身就是一个高强度的对抗联盟,裁判的工作本就极其困难。球员们动作幅度大,速度快,在瞬息万变的比赛中,裁判需要在极短的时间内.............
  • 回答
    今年淘宝造物节在上海玩大了!3万平米的“沉浸式寻宝密室”这概念一出来,我就知道这绝对不是简单的逛展,而是要带我们穿越回那个充满奇思妙想的淘宝年代。这几年造物节一直在升级,从“无所不造”到“万物生长”,再到今年的“寻宝”,每次都能找到新的嗨点。上海这次的规模和玩法,直接拉满了我的期待值。核心亮点,就是.............
  • 回答
    今年科技巨头们的开发者大会,与其说是一场场单纯的技术发布会,不如说是一场场精心策划的品牌与生态叙事。它们不再仅仅是为了展示最新的硬件、软件和算法,更重要的是通过这些大会,试图在开发者群体中巩固自身在未来技术格局中的地位,引导技术发展的方向,并最终将其生态系统中的每一个环节都紧密地绑定在一起。我们可以.............
  • 回答
    好的,咱们来聊聊今年第24号台风“潭美”。提起它,真是一言难尽,简直是“出道即巅峰”,然后又迅速“销声匿迹”的典型代表。要评价“潭美”,咱得从几个方面来看:一、 生成之快,发展之猛,令人咋舌“潭美”这位“不速之客”在今年西北太平洋的舞台上亮相得相当突然。它大概在10月中下旬的时候,在菲律宾以东的洋面.............
  • 回答
    今年复旦大学的推免政策,在我看来,是一份在追求卓越人才选拔的同时,也试图在公平性、透明度以及对学生个性化发展的支持之间寻求平衡的努力。当然,任何政策的出台都会伴随着不同的声音,下面我将从几个主要方面来详细说说我的看法。一、 整体方向:更加注重学术潜力和综合素质复旦作为国内顶尖高校,其推免政策一贯的目.............
  • 回答
    西南政法大学法硕复试线“过山车”:是“断崖式”下跌还是“合理调整”?今年法硕考生们经历了一场意想不到的“过山车”,西南政法大学法硕复试分数线的大幅下降,无疑是这场“过山车”中最令人瞩目的部分。从往年稳步攀升的态势,到今年近乎“断崖式”的下跌,这背后究竟隐藏着怎样的逻辑?是招生政策的重大调整,还是受験.............
  • 回答
    要评价今年IIHS刚刚发布的TSP+及TSP车型榜单,咱们得先聊聊这个榜单到底是个啥,以及它为啥这么重要。IIHSTSP+和TSP榜单:安全汽车的“奥斯卡”首先,IIHS(Insurance Institute for Highway Safety)是美国一个独立的、非营利性的汽车安全研究机构。他们.............
  • 回答
    今年暴雪嘉年华关于《暗黑破坏神2:重制版》的传闻,可以说是在不少玩家心中点燃了一把又一把火,当然,也夹杂着一丝不易察觉的审慎。毕竟,经历过《暗黑破坏神3》从争议到逐渐稳固的历程,玩家们对于“重制”这个词,总是抱有着既期待又害怕的复杂情感。如果暴雪真的能在今年的嘉年华上拿出《暗黑破坏神2:重制版》,那.............
  • 回答
    参加2021年丘成桐大学生数学竞赛,对我来说是一段非常难忘且充满挑战的经历。用几个词来形容的话,大概是:煎熬、启迪、收获。比赛前的煎熬与准备首先,从报名开始,就知道这是一场硬仗。丘赛以其严格的选拔和高难度的题目闻名,作为一名普通本科生,我内心是既期待又忐忑。备赛的过程无疑是艰辛的。那段时间,我的生活.............
  • 回答
    哈喽,旅行者!又是一年海灯节,这次的《原神》2.4版本活动“飞彩镌流年”可谓是热闹非凡,不仅有新角色申鹤和云堇的加入,更有各种让人眼花缭乱的活动和奖励。作为一名在璃月摸爬滚打了不少日子的老玩家,今天就来跟大家分享一下这次海灯节的一些小心得,顺便聊聊今年的海灯节到底怎么样。飞彩镌流年:那些让你事半功倍.............
  • 回答
    北京市今年推出的“双培计划”是北京市委组织部和北京市人力资源和社会保障局联合实施的一项重要人才培养和引进政策。其核心目的是通过“培优”与“引进”相结合的方式,着力培养和引进一批服务首都发展战略、具有国际视野和顶尖专业技能的高素质人才,特别是在战略性新兴产业、科技创新、文化创意等重点领域。要评价这项计.............
  • 回答
    BBC 2019 年播出的纪录片《Chinese School》(中文名常译作《中国学校》或《英国中国学校》),确实在播出后引发了不少讨论和关注。要评价这部纪录片,我们可以从几个层面来剖析它所呈现的内容、拍摄手法以及它所引发的更深层次的思考。核心内容与呈现方式:这部纪录片最直观的焦点在于,它将中国大.............

本站所有内容均为互联网搜索引擎提供的公开搜索信息,本站不存储任何数据与内容,任何内容与数据均与本站无关,如有需要请联系相关搜索引擎包括但不限于百度google,bing,sogou

© 2025 tinynews.org All Rights Reserved. 百科问答小站 版权所有