据官方介绍,Flutter 最新稳定版Flutter 1.12正式推出,自从去年 12 月发布 Flutter 1.0 以来,这已经是发布的第 5 个稳定版本了。2019年,Flutter团队一共解决了 5,303 个报错,合并了来自 484 位贡献者的 5,950 份 pull request。在 Flutter 引擎和框架中添加了对 Android App Bundles、iOS 13 和 web 的支持,实现了鼠标与键盘事件,发布了应用内购插件,融合了多项重要的性能改进,还新增了 24 种语言支持和多个 widget。

  此外,随着 Dart DevTools 的发布,Flutter 开发工具也比之前更为强劲。Dart DevTools 内含 widget 检查器以及内存与 CPU 性能分析工具,而且优化后的日志功能在所有编辑器和 IDE 中都能流畅运行。此外,我们还针对引用类型添加了代码包自动导入功能,加入了 ChromeOS 显式支持以及 UI Guide,让你的构建方法更易读写,并从排版、配色和可操作性三方面对 Flutter 的错误信息进行了优化。

  为更好地支持iOS 13,Flutter 1.12在视觉效果方面进行了全面更新,其中包括深色模式(Dark Mode)完整实现、全新的Cupertino widget,多项UX微调以及增强版Add-to-App体验。

  全面支持iOS 13深色模式

  Flutter 1.12带来的一个重磅消息是,现已支持iOS 13风格的界面和操作。这包括在Cupertino widget中对深色模式的全面支持。

  仔细观察上图您会发现,如果想要支持深色模式,可不是单单换个背景颜色就大功告成了,必须要让屏幕上的其它颜色也适应偏暗的色调才行。这些细节处理为开发者带来了巨大的工作量,但是为了在深色和浅色模式下都能呈现出精美的Cupertino风格外观,这些努力都是值得的。

  最后,为了让Flutter应用能在iOS 13设备上实现原生级别的界面和操作感受,还提高了滚动条保真度,提供了自适应对话框弹出模式CupertinoAlertDialog,并在CupertinoDatePicker内添加了最小/最大日期约束。

  Add-to-App更新

  Add-to-App功能更新是在移动支持方面所做的另一项改进。通过Add-to-App,开发者可以将Flutter集成到现有的Android或iOS应用中。一直在努力简化集成流程,让你可以更轻松地把Flutter代码库添加到应用中,比如说,在Android Studio中添加了一个全新的Flutter模块向导。

  Flutter 1.12现已正式支持Add-to-App功能,允许开发者在应用中添加一个全屏Flutter实例。在支持这个功能的同时还:

  提高了API稳定性,以便在平台中集成Java、Kotlin、Objective-C和Swift代码,其中包括一套全新的Android API。请参阅Android项目迁移说明,了解变更细节。

  支持在内嵌Flutter模块中使用插件。

  通过Android AAR和iOS框架提供额外的集成机制,以提高与现有构建系统的兼容性。

  更新了命令行工具、VSCode和IntelliJ插件中的"flutter attach" 机制,方便开发者接入正在运行的Flutter模块,并进行调试,使用DevTools或者进行热重载。

  Dart 2.7

  当然,在Flutter中所做的一切都是构建在Dart的基础上的,所以,如果你还没有听过扩展方法和字符串安全处理(包含表情符),或是想要了解非空类型在空安全方面的最新知识,不妨阅读《Dart 2.7现已发布》进一步了解相关信息。