Flutter 1.7 正式版发布

今天,咱们很是高兴地向你们宣布又一个正式版本的发布 —— Flutter 1.7,这是继上次 I/O 时众多重要功能发布以来的一次小更新。Flutter 1.7 包含了对 AndroidX 的支持,知足了 Play 商店近期对应用提出的要求,包含了一些新的和加强过的组件,修复了开发者们提出的 bug 等。html

若是你已经安装,并使用默认稳定构建渠道 (stable channel) 的 Flutter,要升级到 1.7 版本,只须要运行 flutter upgrade 便可。同时,你能够在 这个文档里 查看如何新安装 Flutter。react

支持 AndroidX

AndroidX 是 Android 团队用于在 Jetpack 中开发、测试、打包和发布库以及对其进行版本控制的开源项目,帮助 Android 应用经过最新的组件保持更新而无需牺牲向后兼容性。目前 AndroidX 已经稳定,不少 Flutter packages 已经更新和支持它,Flutter 如今能够支持 建立一个 AndroidX 项目 (new Flutter project with AndroidX) 了,这也减小了与 Android 生态系统集成所你须要作的工做。android

当建立 Flutter 项目的时候,你能够经过添加 --androidx 来确保生成的项目文件支持 AndroidX,更多关于将项目迁移到 AndroidX 的相关信息,请访问 官方文档 上的说明。咱们也在积极努力为使用了 AndroidX 和 Android 混合库的应用带去 AndroidX 或 Jetifier 的支持,也会将其做为 add-to-app 的中的一项来支持,接下来的文章中会为你们带来更多相关的内容。git

支持 Android App Bundles 和 64 位的 Android 应用

从 2019 年 8 月 1 日开始,为了 target 到 Android Pie 版本,开发者们在 Google Play 上发布的应用 必须支持 64 位架构。Flutter 一直都支持生成 64 位的 Android 应用,在 1.7 版本里,咱们加入了对 Android App Bundles 的支持,开发者们能够在一次提交里同时 target 到 64 位和 32 位。可经过阅读 这篇文档 了解到如何分别生成 32 位和 64 位到应用等更多内容。github

新一批的 widget 和框架的功能加强

咱们但愿你的应用在任何平台上均可以看起来平滑天然,咱们会持续在平台相关的 widgets 上投入。编程

以下所示了一个名为 [RangeSlider](https://github.com/flutter/flutter/pull/31681) 的 widget,帮助你在单个滑块儿上选择一组值:api

RangeSlider widget 支持连续或者分散的效果安全

更新以后SnackBar 支持了最新的 Material 规范,文档里增长了许多 样例代码架构

Cupertino 是用来构建精美的 iOS 体验的 widgets 库,咱们对其进行了大量的更新。特别提出的是,咱们提升了 CupertinoPickerCupertinoDateTimePicker widget 的保真度,并增长了对非英语语言本地化的支持。app

咱们提高了 iOS 上的 文本选择和编辑体验。此外,咱们新增了一个 示例,关于如何使用同一份代码库,调整不一样平台的操做体验和适配。

文本渲染有了很大的提高,支持了丰富的 排版样式:包括数字表格式对齐、旧式风格数字 (tabular and old-style numbers)、斜线零 (slashed zeros)、样式集 (stylistic sets),如这个示例应用截图所示:

有了 OpenType 的字体支持,你能够用 Flutter 进行复杂的文字排版了

最后,咱们加入了对 游戏控制器 的支持,会有更好玩的应用出现吗?

初心不忘

整个团队付出不少努力推出了 Flutter 1.7 正式版,咱们解决了开发者们在 GitHub 上提出的 1250 多个问题

随着 Flutter 的快速增加,咱们看到你们向咱们报告了不少新的问题。为了保证项目过程的透明,咱们一直在经过 GitHub 运行着这一套错误报告系统,但一些相对较小的项目,目前这个流程工做的并非很是顺利。虽然咱们在不想关 issue 关闭上有一些新的进展,可是过去几个月咱们的 issue 仍是增加的很是明显。咱们也在努力增长这方面的资源配置,能够帮助咱们更快的区分 bug,关闭及合并相同的 issue,以及将一些提问引导到 StackOverflow

在近期的开发者调查里,不少开发者但愿咱们在文档和错误信息方面有更持续的投入。一个关键部分是可以在 VSCode 和 Android Studio 里更结构化的输出错误信息,咱们已经在着手 这方面的工做

咱们也修复了崩溃率最高的 bug,Flutter 工具的写权限问题。Flutter 如今能够更优雅的处理写权限致使的崩溃问题,会又一个明晰的指示关于如何解决。

文档方面,咱们会持续增长示例代码。与此同时,你也能够经过 Flutter create 命令直接建立示例文档,以下是命令:

flutter create --sample=widgets.Form.1 mysample

若是经过这种方式建立示例,你将在文档中的 Sample in the App 这一栏看到:

咱们也会持续把每周 Flutter widgets 视频嵌入到文档中,在开发者们浏览各类 widget 的时候能够获得更全面的理解。

还有一些幕后的设施建设工做正在进行,以便 Flutter app 更好的在 macOS 和 Windows 平台运行。好比支持一些较为重要的平台操做,好比右键和一些特别的平台基建工做(好比 MSBuild 等)。不过,这些非移动平台的支持目前尚未在稳定构建渠道 (stable channel) 发布。

最后,当你在苹果电脑上开发 Flutter 应用的时候,咱们支持了 新的 Xcode 构建系统,这个对新的应用是默认开启的,也同时方便 支持现有的应用

不断壮大的 Flutter 社区

一如既往,咱们很是高兴看到 Flutter 在受众群体和应用场景上继续持续增加,同时咱们也欣赏各类不一样的 Flutter 使用方式。自 I/O 以来,Flutter 团队致力于全球范围内的各项活动:从中国的 GMTC 到纽约和墨西哥的交流会和演讲等,面对面对你们交流 Flutter 应用开发是一件特别棒的事情。

以前咱们提到过 Reflectly,它是一个丹麦的公司,他们在 iOS 和 Android 平台开发了很是有吸引力的应用程序。他们的应用程序被美国 iPhone 应用商店评为当日最佳应用。这也证实了 Flutter 的真正潜力远远超过实现体验流畅的应用(同时能够帮助开发者得到成功)。

查看 Reflectly 的开发者成功故事:www.bilibili.com/video/av566…

在柏林的 WeAreDevelopers 大会中,BMW 发布了他们基于 Flutter 的应用,目前已经在开发中。下面这段描述来自 Guy Duncan,他是 BMW 集团互联公司的 CTO:

经过结合 Dart 和 Flutter,咱们实现了第一个真正跨平台的移动工具包;咱们认为它打破了原有的游戏规则,能够平衡数字交互和物联网的功能特性。 经过使用主流的工具链、自动化工具和现代化的编程模式,咱们能够优化循环时延、安全性、商业应用特性的推送成本。

除了应用程序,整个开源社区所涉及的众多 资源插件Flutter 社区活动Meetup 也使得 Flutter 变得格外生机勃勃。咱们会持续关注你们基于 Flutter 所实现的各类有趣的应用,同时也很是荣幸和你们一块儿分享其中的乐趣。

图片来源: @damian2048

相关文章
相关标签/搜索