来源: Flutter Release Preview 2: Pixel-Perfect on iOS from Google Developer
Flutter 是 Google 发布的一套新的移动 UI 框架,可以快速在 iOS 及 Android 平台构建高质量的原生用户界面。今天,在上海谷歌开发者大会主题演讲上,我们宣布 Flutter 预览版2.0正式发布:这将是 Flutter 正式版1.0发布前的最后一个预览版。
本版本的主要成果集中在完善核心功能和提高质量,从二月发布 beta 版到初夏的第一个预览版我们一直在做与这相关的工作。现在整个团队都投入到1.0版本的最终完善中。
预览版2.0 有哪些更新?
本版本的主题完美适配 iOS 应用。虽然我们在设计 Flutter 时非常看重品牌和定制化的用户体验,不过我们收到了大家的反馈:希望在构建应用时更符合苹果交互设计规范。所以在本版本中,我们对 Flutter 提供的 「Cupertino」主题进行了极大的拓展,配合一套额外的 widgets 以及 classes,构建 iOS 应用变得前所未有的简单。
图注:利用 Flutter 复刻的 iOS 设置界面下面列举了一些预览版2.0新增的 iOS 主题的 widgets:
CupertinoApp
: 一个用于构建 iOS 风格 App 的顶级 widgetaCupertinoTimerPicker
for a countdown timer picker;CupertinoSegmentedControl
: 用于水平分段控制器;CupertinoActionSheet
: 用于 iOS 风格的, 底部弹出显示表格
还对很多 widgets 进行了更新:
-
CupertinoNavigationBar
和CupertinoSliverNavigationBar
- 在页面切换时平滑过渡
- 根据
CupertinoPageRoute.title
auto-populate 标题及返回按钮
-
CupertinoPageScaffold
- 通过按键插入内容
-
CupertinoScrollbar
- 提高 overscroll 时的视觉精度
-
CupertinoPicker
- 增加对无限滚动和循环滚动的支持
- Adds multicolumn support for off-axis cylindrical projection.
一如既往, Flutter 文档是最适合深入了解 Cupertino*
类细节信息的地方。(注意,此时此刻我们仍在添加新的 Cupertino widgets 至界面 widget 类目中)
我们在其它方面也做了改进。到幕后瞅一眼,我们添加了后台运行 Dart 代码的支持,即使应用处于暂停状态也没问题。插件作者可以利用这一点来创作新的插件,这些插件可以在事件被触发后再运行代码,比如启动一个计数器或者接收地理位置更新。更详细的信息可以阅读 Medium 上的这篇文章,它演示了如何通过后台运行创建地理栅栏插件。
另一大改进是我们在 Android 和 iOS 的应用包体积缩减超过30%。我们有一个极小的 App,在发布模式下打包后只有4.7MB。比没优化前减少了2MB——我们还在继续深挖潜力、持续优化。(注意,虽然包体积在 Android 和 iOS 上都有改进,但是仍有差别。 how iOS packages are built)
发展趋势
由于有大量开发者开始关注 Flutter, 我们可以谦虚的说一句:Flutter 目前是 Github 上前五十活跃库之一。
我们在今年的 Google I/O 大会上宣布 Flutter 已经「production ready」,随着1.0稳定版的临近,许多新的 Flutter 应用被发布,在 Apple 和 Google 的应用商店中有超过1000个软件是基于 Flutter 开发的。其中包括一些顶级的应用,例如阿里(Android、iOS),腾讯 NOW(Android、iOS)和 Google Ads(Android、iOS。这是阿里巴巴用 Flutter 开发闲鱼(Android、iOS)的视频,目前在中国有超过5000万用户在使用闲鱼:
我们十分重视用户的满意度并定期对我们的用户进行调查。我们承诺将与社区共享我们的调查结果,最近的一次调查显示有92%的开发者对 Flutter 感到满意或者非常满意或者愿意向它人推荐 Flutter。在高效开发和用户 UI 方面,有72%的开发者认为 Flutter 在提高开发效率和创建理想 UI 两个方面都极有帮助或者有帮助。有82%的开发者对 Dart 编程语言感到满意或者非常满意。Dart 最近也达到了一个里程碑:Dart 2。
从其它方面也可以察觉到 Flutter 社区的壮大。在 StackOverflow,我们看到对 Flutter 有兴趣的用户在快速增长,他们提出、回答以及浏览了大量相关的问题。
Flutter 从诞生之日就被开源。这样设计的初衷是为了项目的完全透明,以此鼓励那些和我们一样希望在不同平台都能看到美观的用户界面的个人开发者和开发团队参与到 Flutter 项目中。
升级至预览本2.0
如何将你的 Flutter 升级到预览本2.0?如果你已经是 beta 版了,只需一行代码:
$ flutter upgrade
复制代码
你可以在命令行运行flutter --version
指令来检查是否升级成功。如果你的版本号是 0.8.2 或更加新的版本。那说明已升级成功。
如果你还没有试过 Flutter,此时正当时。flutter.io (国内中文社区 flutter-io.cn)有下载、安装、开发第一个 Flutter 应用所需的所有资料。
Flutter 有一个完善的生态系统,其中包括大量应用案例和代码片段,来帮助你运用 Flutter。你可以在 Flutter 团队的 Github 仓库找到案例,这些案例涵盖了使用 Material 和 Cupertino、反序列化 JSON 数据等。这个列表罗列了 Flutter 社区中的最佳实践。
你还可以通过手把手的视频、邮件、社区文章和开发者演示获取 Flutter 动态以及学习 Flutter。我们有讨论组、聊天室、社区支持以及每次一次的在线交流来帮助你搭建自己的应用。预览本2.0 是我们最后一个预览版。下一站:1.0!