当前位置:   article > 正文

Flutter 1.20 来啦!规模最大的版本发布都有哪些更新?

flutter jts

作者 / Chris Sells, Product Manager, Flutter developer experience

我们对 Flutter 的愿景是提供一个可移植的工具包,让您无论在任何屏幕上都能随心所欲地绘制像素,打造出美好的体验。每次更新,我们都着力确保 Flutter 能够在所有支持的平台上运行流畅、界面美观、开发高效而且保持开放性。通过稳定版渠道发布的 Flutter 1.20 在上述四个方面都进展颇多。

首先是运行流畅,我们从最底层的渲染引擎到 Dart 语言本身都实现了多项性能改进。

为了让您构建出更美观的 Flutter 应用,此版本提供了多项界面改进,包括期待已久的自动填充支持、支持平移和缩放的新 widget 布局方式、新的鼠标光标支持、旧版本中人气 Material widget (如时间和日期选择器) 的更新,以及为桌面和移动端 Flutter 应用中的关于 (About) 界面带来了全新的响应式许可 (license) 展示页面。

为了进一步提高开发效率,我们更新了 Visual Studio Code 的 Flutter 扩展,将 Dart DevTools 整合进 IDE,在您移动文件时会帮您自动更新导入语句,并提供了一组新的元数据用于构建您自己的工具。

  • Visual Studio Code 的 Flutter 扩展

    https://dartcode.org/

得益于 Flutter 的开放性和来自社区的出色贡献,此版本包含了全球 359 名贡献者 (其中包括来自 Flutter 社区的 270 名贡献者) 的 3,029 个合并 PR,关闭了 5,485 个 issue。因此本次更新的 Flutter 版本也是目前为止拥有最多贡献者的版本。在这里特别感谢在社区中贡献了 28 个 PR 的 CareF,贡献了 26 个 PR 的 AyushBherwani1998 (包括他用于 Google Summer of Code 项目的 10 个 Flutter 示例),以及贡献了 13 个 PR 的 a14n (其中一大部分用于支持 Flutter 的空安全性,有关该主题的更多信息即将到来!)。Flutter 的诞生离不开社区贡献者们的广泛支持。谢谢大家!

  • CareF

    https://github.com/CareF

  • AyushBherwani1998

    https://github.com/AyushBherwani1998

  • a14n

    https://github.com/a14n

Flutter 每一个新版本的发布都伴随着使用量的增长和更迅猛的发展态势。事实上,在 4 月份我们曾报道过 Google Play 商店中 Flutter 应用的数量已经达到 50,000,月度新增应用数量峰值更是高达 10,000。现在,短短三个月后,Google Play 中的 Flutter 应用数量已经超过 90,000。增长最快的当属印度,那里已经是 Flutter 开发者最多的地区,开发者数量在过去六个月中翻了一番,这与 Google 在该地区增加的投资密切相关。最后,如果没有 Dart 语言,Flutter 也不会成为现在的 Flutter。这里分享一个好消息: 在 IEEE 的开发语言榜单中,Dart 相比去年上升了 4 位,在榜单的前 50 种语言中排名第 12。

  • 2020 年开发语言排名榜单

    https://spectrum.ieee.org/static/interactive-the-top-programming-languages-2020

Flutter 和 Dart 的性能改进

Flutter 团队一直在寻找缩减应用大小和延迟的新方法。对于大小,此版本修复了在进行图标字体摇树 (tree-shaking) 操作时的工具性能问题,并在您构建非 web 应用时默认进行字体摇树操作。图标字体摇树操作会移除应用中未使用的图标,从而缩减其大小。在对 Flutter Gallery 应用进行该操作后,我们发现应用大小缩减了 100kb。现在,在构建移动版应用的发布版本时该操作会默认执行。目前仅限于 TrueType 字体,但在未来版本中将取消这个限制。

  • 修复进行图标字体摇树操作时的工具性能问题

    https://github.com/flutter/flutter/pull/55417

  • 默认进行字体摇树操作

    https://github.com/flutter/flutter/pull/56633

  • 应用大小缩减 100kb

    https://github.com/flutter/flutter/pull/49737

此版本带来的另一项性能改进是使用预热阶段减少动画初始显示时的卡顿。以下为卡顿改进的动画示例 (半速播放)。

△ 使用和不使用 SkSL 预热的动画

如果 Flutter 应用在首次运行时的动画出现卡顿,那么 Skia Shading Language 着色器将在应用构建中提供预编译,将速度提高 2 倍以上。如果您想使用此高级功能,请参见 flutter 文档中的 SkSL 预热页面。

  • 降低移动端着色器编译卡顿

    https://flutter.cn/docs/perf/rendering/shader

最后,在针对桌面环境的优化中,我们进一步完善了对鼠标的支持。在此版本,我们重构了鼠标点击测试系统,带来了许多曾因性能问题受阻的架构优势。在基于 web 的微型基准测试中,重构使性能提高了多达 15 倍!这意味着,您可以在保证性能的前提下,获得更好、更一致、更准确的点击测试结果: 实现双赢࿰

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/正经夜光杯/article/detail/958142
推荐阅读
相关标签
  

闽ICP备14008679号