Flutter Beta 3 新特性概览

首先感谢 掘金 将本文归入 Google I/O 2018 大会专题页中。html

小集团队会持续跟进 Flutter 的动态,和你们一块儿来学习并推进 Flutter 的发展。咱们还和阿里闲鱼团队合做,后期在咱们公众号里,会转发他们团队关于 Flutter 的分享。前端

欢迎关注咱们的公众号,咱们每周都会有原创文章分享。咱们主要定位在移动开发领域,分享移动开发技术,包括 iOS、Android、小程序、移动前端、React Native、weex 等。java

原文连接git

至从 Google 在 2017 年的 Google I/O 上推出 Flutter 以来,Flutter 团队投入了大量的精力来不断完善 Flutter。包括重写引擎的主要部分、发布支持 Android Studio 和 Visual Studio Code 的插件、集成 Dart 2 ,增长更多 Firebase API 的支持等等。github

进入 2018 年后,Flutter 团队在 github 上开源了 Flutter,并保持必定频率的 beta 版本更新。咱们能够看到目前在 github 上,Flutter 的 star 数达到了 23k+ 之多,受欢迎程度可见一斑。数据库

这两天 Google I/O 开发者大会,Flutter 也借此发布了 Beta 3 版本,向正式版又迈进了一步。本文就一块儿来看看,Beta 3 版本新增了哪些特性。小程序

据官方介绍,Beta 3 版本将主要精力放在三个方面:基础建设、生态系统、工具。让咱们来一块儿看看。微信

基础建设

基础建设方面主要体如今优化内置的 UI Widget,完成 Dart 2 的剩余功能和引入一些新的 API。weex

1 优化了内置的 UI Widget,对 Meterial Design widgets 作了许多改进,以实现更大的灵活性和定制化。如:app

  • 添加新的 BottomAppBar 组件;
  • 改善和扩展对 Chips 的支持;
  • InputDecorator 如今支持填充/下划线和提纲(outlined)模式;
  • FloatingActionButton 如今提供了更大的定位灵活性;
  • Slider 如今能够定制 thumb 和 value 指示器的颜色和形状;
  • 增长对 GIFWebP 等格式的动图支持;

另外,更新了 Flutter Gallery https://github.com/flutter/flutter/tree/master/examples/flutter_gallery 应用程序,以更好的演示这些新特性。

2 完成 Dart 2 的优化工做,而且在新版本中默认启用。

  • 添加新的语法糖来帮助在 Flutter 中实例化小部件,new 关键字变成可选的,建立 widget 实例比之前更方便:
Widget build(BuildContext context) => Scaffold(
  appBar: AppBar(
    title: Text(widget.title),
    actions: <Widget>[
      IconButton(
        icon: Icon(Icons.info),
        onPressed: _aboutAction,
      ),
      IconButton(
        icon: Icon(Icons.share),
        onPressed: _shareAction,
      )
    ],
  ),
  body: Center(
    child: _body(),
  ),
  floatingActionButton: FloatingActionButton(
    onPressed: _refresh,
    tooltip: 'Refresh',
    child: Icon(Icons.refresh),
  ),
);
复制代码
  • 在已存在的 const 关键字的范围内,const 关键字在任何子节点中变成可选项,全部子结点自动为 const 。以前的测试版本中,很难从上下文中推断出对象的子对象是不可变的,因此须要给子对象也加上 const。
const comments = <Comment>[
  Comment(
    "Creating apps is just faster and more fun with Flutter.",
    "Posse Inc."),
  Comment(
    "Yesterday I was trying #Flutter for the first time, today I published an application.",
    "@CristianDudca"),
  Comment(
    "This weekend: Met and fell in love with Flutter.",
    "@FIREYOSE"),
];
复制代码

3 其它基础建设:

  • 改进对屏幕阅读器的支持、大文本和对比度功能;
  • 提供对从右到左阅读的语言的支持;
  • 控件可在适当位置进行镜像;
  • 重写 Flutter 的线程模型,以便在单个应用程序中托管多个 FlutterView

生态系统

4 Firebase 插件:几款插件将实现 1.0 里程碑:实时数据库(Realtime Database)、Firebase Analytics、Firebase Message、Firebase Core。此外,还为 Remote Config、Cloud Firestore 和 Performance Monitoring 添加了新的功能齐备的插件。

5Google AdMob 的支持将推出 beta 版本,让开发者能够经过 Flutter 应用获利。

6 Flutter 团队和 Flutter 社区都提供了许多其它包供开发者使用。

工具

Flutter 团队持续按期更新 Android StudioIntelliJ 的 Flutter 插件,以改善开发体验。同时增强了对 Visual Studio Code 的支持,Visual Studio Code 最新版本的 Flutter 扩展包含了 Flutter Beta 3 的全部新功能:

7 从新设计了 UI Inspector,新增 "Just My Widgets" 功能,能够显示本身代码中建立的 widget,而且能够以树形结构显示 widget 中全部嵌套的 widget 的相关信息。

8 Extract Widget:对各开发工具提供了更普遍的重构功能,这包括一个 Extract Widget 重构,这个功能将建立一个新的 Widget 类并在原始位置插入一个构造器。

9 热加载(Hot reload)工做流:当从新加载和从新启动时,将这些动做标记在 IntelliJ 的本地文件历史记录中。这使咱们能够返回到以前的从新加载点并比较在 UI 上迭代时所作的更改。

10 可在 profile 模式下运行 Flutter 应用程序,该模式下会显示每秒帧数和内存使用状况

其它一些改进能够查看参考文献 2。

小结

目前国内 Flutter 社区也在慢慢发展起来,也有一些大公司的团队在尝试这项新技术,如阿里闲鱼团队,Google 官方博客也特别提到闲鱼团队的尝试。阿里闲鱼团队在他们的公众号上发布了他们的研究成果,你们能够关注(XYtech_Alibaba)。

另外 Flutter 团队也很是重视中国开发者,特别提供了一些资源供中国开发者使用:

你们能够参考。

参考

  1. What’s New in Flutter Beta 3
  2. New Flutter tooling releases -- Inspector: “Just my Widgets”
  3. Ready for Production Apps: Flutter Beta 3

知识小集 · Flutter 自习室

另外咱们拉了一个微信群,有兴趣的童鞋能够加入,和咱们一块儿学习哈。

相关文章
相关标签/搜索