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

小集团队会持续跟进 Flutter 的动态,和大家一起来学习并推动 Flutter 的发展。我们还和阿里闲鱼团队合作,后期在我们公众号里,会转发他们团队关于 Flutter 的分享。

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

原文链接

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

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

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

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

基础建设

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

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

  • 添加新的 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 团队也非常重视中国开发者,特别提供了一些资源供中国开发者使用:

  • Using Flutter in China
  • Flutter Codelabs

大家可以参考。

参考

  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 自习室

另外我们拉了一个微信群,有兴趣的童鞋可以加入,和我们一起学习哈。

Flutter Beta 3 新特性概览相关推荐

  1. SCCM 2012系列之新特性概览一:SCCM 2012安装选项和控制台新界面预览

    SCCM 2012系列之新特性概览一:SCCM 2012安装选项和控制台新界面预览. 众所周知,System Center Configuration Manager 2007(之前版本有SMS200 ...

  2. C# 8.0 的新特性概览和讲解

    本文转自 https://blog.csdn.net/hez2010/article/details/84036742 C# 8.0 的新特性概览和讲解 前言 新的改变 可空引用类型(Nullable ...

  3. ES6、 ES7、 ES8、 ES9、 ES10 新特性概览

    传送门:ES11.ES12.ES13 新特性概览 ES全称ECMAScript,ECMAScript是ECMA制定的标准化脚本语言.目前JavaScript使用的ECMAScript版本为ECMA-4 ...

  4. C++20新特性概览

    文章目录 C++20新特性概览 C++20的重要性 侧面说明: 正面说明: 模块(Modules) 优点 例子 创建模块 引用模块 范围库(Ranges) Ranges 是什么 ? 好处: 相关概念 ...

  5. Lua 5.4 新特性概览

    本文简单介绍了一些 Lua 5.4 的新特性 Lua 5.4 正式发布了,很多朋友应该会比较好奇 Lua 5.4 与之前版本的区别,本文就此简单介绍一些 Lua 5.4 的新特性. 完整的 Lua 5 ...

  6. Unity 5.6 beta版本新特性

    最新发布的beta版改进了编辑器和2D功能,图形性能更佳,加入新的视频播放器,并添加了对Facebook Gameroom和Google DayDream平台的支持. Unity 5.6 beta版本 ...

  7. MongoDB 5.0新特性概览

    简介:MongoDB 5.0标志着一个新的发布周期的到来,以更快地交付新特性给到用户.版本化API与在线重新分片相结合,使用户不必担心未来的数据库升级以及业务变化问题:本地原生时间序列数据平台也使Mo ...

  8. Linux Kernel 3.0新特性概览(转)

    上周五,Linus Torvalds终于发布了备受瞩目的新一代Linux操作系统内核.Linux Kernel 3.0经过了七个RC候选版才推出正式版本,上一个版本是5月19日的2.6.39,也是2. ...

  9. Redis 6.0 新特性概览

    摘要:Redis 6.0 特性 点击阅读原文,提升阅读体验:https://www.modb.pro/db/22840?cyn 前言 Redis 6 RC2 于今年3月5号Release,预计今年4. ...

最新文章

  1. 一个网站让你系统的入门脑机接口和神经科学
  2. MapGuide应用开发系列(五)---- Autodesk MapGuide Studio应用简介
  3. 向上取整的方法_PHP取整方法小总结
  4. webpack打包后引用cdn的js_呕心沥血编写的webpack多入口零基础配置 【建议收藏】...
  5. 删除github上某个release/tag
  6. vue小米商城源代码_微信商城信息管理系统(java后台+小程序)
  7. ocp 042 第十二章:主动维护
  8. Android调试技巧之Eclipse行号和Logcat
  9. 信息学奥赛一本通(1312:【例3.4】昆虫繁殖)
  10. Code Review:C#与JAVA的哈希表内部机制的一些区别
  11. Android的Spinner控件解决默认选中第一条问题
  12. 使用js获取页面参数
  13. Java学习之「Spring + AspectJ 」
  14. ORACLE数据恢复到指定时间
  15. 视频流媒体服务器智能云终端如何快速获取直播流地址?
  16. Bzoj4556: [Tjoi2016Heoi2016]字符串
  17. 图测1.0 在线地图测量与高清卫星图App 发布
  18. 声纹识别开源框架python_GitHub - yeyupiaoling/VoiceprintRecognition-Tensorflow: 使用Tensorflow实现声纹识别,博客地址:...
  19. 【渝粤教育】电大中专学前儿童社会教育_1作业 题库
  20. 量子通信,永不陷落的安全堡垒?

热门文章

  1. ginkgo测试介绍
  2. linux进入text目录,Linux文件和目录操作命令 | Soo Smart!
  3. HDMI和VGA接口
  4. Redis Labs 再次更改开源许可证,但 Redis 本身不受影响
  5. Safari浏览器的智能跟踪预防工作原理
  6. 部分设备在微信内无法播放audio的解决方案
  7. Android APP开发
  8. 用C/C++编写window服务
  9. Unity3D脚本中文系列教程(七)
  10. ECSHOP 商品分类树显示商品总数的方法