在去年 MWC 大展上发布首个 Beta 版后,Flutter 1.0 正式版于 2018 年 12 月召开的 Flutter Live 2018 上正式发布。今天在巴塞罗那召开的 MWC 发布会上,Google 正式发布了 Flutter 跨平台 UI 框架的 1.2 版本。新版本最大的改变就是引入了对 Android App Bundles 的支持,可有效打包 Android APP 并创建即时应用的最新技术。此外该框架还帮助开发者接受应用内支付奠定了基础,并添加了很多基于 Web 的工具。

image

以下是Flutter 1.2的一些更新,包括:

改进的Material和Cupertino小部件集

该团队一直致力于改进Material和Cupertino小部件集。现在,开发人员在使用Material小部件时会有更大的灵活性。对于Cupertino小部件,他们增加了对iOS上浮动光标文本添加的支持。这可以通过用力按键盘或长按空格键来触发。

支持Android App Bundles

Flutter 1.2支持Android App Bundles,这是一种新的上传格式,包含应用程序的所有编译代码和资源。这种格式有助于缩小应用程序的大小,并支持Android应用程序的动态交付等新功能。

支持Dart 2.2 SDK

此版本包括Dart 2.2 SDK,该SDK也于昨天发布。 Dart 2.2具有显着的性能改进,可以更快地进行提前编译,并且可以用于初始化集合的文字语言。它还引入了Dart Common Front End(CFE),它解析Dart代码,执行类型推断,并将Dart转换为较低级别的中间语言。

Flutter 1.2 更新包括了大量常规稳定性和性能更新,包括最新的 Dart 2.2 SDK(默认情况下,Flutter 应用程序是用 Google 的 Dart 语言编写的),此外团队还表示正积极改善对 iOS 的支持,支持浮动光标文本编辑等等。

image

虽然 Flutter 一直专注于移动,但该团队最近也开始讨论使用该框架构建桌面应用程序。为此,在 1.2 版本中引入了全新的键盘事件和鼠标悬停支持。Project Hummingbird(将 Flutter 推广网页版)的技术预览版也将会未来几个月上线。

image

对于新的工具,值得注意的是,Google 已经在 Android Studio 中构建了 Flutter 支持,并为微软日益流行的 Visual Studio Code 添加了工具。现在,它还在构建新的基于 Web 的编程工具 Dart DevTools。它们在本地运行,包括小部件检查器,时间轴视图,源级调试器和日志记录视图。

其他的更新

Flutter 1.2还支持更广泛的动画缓动功能,这些功能的灵感受到Robert Penner工作的启发。该团队已经通过添加新的键盘事件和鼠标悬停支持为桌面级操作系统做好准备。

Flutter的插件团队为Flutter 1.2添加了一些更改,可以很好地支持In App Purchases插件。除了这些更新,他们还为视频播放器,webview和地图修复了一些错误。

除了Flutter 1.2,团队还发布了Dart DevTools的预览版,这是一套用于Dart和Flutter的性能工具。这个套件中的一些工具,包括web inspector、timeline视图和其他工具,现在可以安装了。

现在开始玩Flutter的好处呢, 我认为有如下几点:

  1. 如果我们以后想在Google的新系统上跑程序的话, 用Flutter来编写是一定没错的. 当然最近的报导显示, Fuschia原生支持ART, 因此Android程序应该也可以. 不过直接上Flutter我认为更好.

  2. Flutter用Dart, 学习Flutter的同时会使我们掌握一门新的语言. 买一送一.

  3. Flutter天生支持iOS风格的控件, 称为Cupertino, 这样我们可以一套设计, 一套code跑在两个系统上.

  4. 学习Flutter的过程会改变手机端app开发的思维. 毕竟这个亲只有一个activity. 全程跟个游戏引擎一样. 60帧每秒绘图.

  5. Hot reload. 极大地加速了我们的开发效率. 试过了, 绝对会爱上它.

  6. Flutter提供method channel给Android和iOS. 其实我们可以只用Flutter来开发UI. 其他底层逻辑可以封装Android和iOS分别的lib package. 然后直接Rx封装写回method channel. 也是一种新的开发模式.

  7. 性能更好, 兼容性更好, 开发起来更有乐趣, 这才是程序员的人生. 而Flutter都能满足.

参考更多

Flutter基础-环境搭建及demo运行

一份完整的Android Studio搭建Flutter教程

欢迎关注我微信技术号:终端研发部。在这里获得的不仅仅是技术!

Flutter终将逆袭!1.2版本发布,或将统一江湖的更多相关文章

  1. [转帖]浪潮openstack的逆袭

    扬长补短 浪潮云平台的逆袭 http://blog.itpub.net/11310314/viewspace-2564083/ 浪潮并不是最早加入OpenStack的国内厂商,却实现同比303.1%的 ...

  2. 从前端到全栈:JavaScript逆袭之路

    JavaScript如何做到上天入地无所不能?JavaScript真的能一统江湖吗? 背景 近年来,前端技术日新月异,前端已经不仅仅是网页,更多的开始由狭义向广义发展. 先后涌现出了具备后端能力的no ...

  3. 《逆袭团队》第九次团队作业【Beta】Scrum meeting 3

    项目 内容 软件工程 任课教师博客主页链接 作业链接地址 团队作业9:Beta冲刺与团队项目验收 团队名称 逆袭团队 具体目标 (1)掌握软件黑盒测试技术:(2)学会编制软件项目总结PPT.项目验收报 ...

  4. 面渣逆袭:Java集合连环三十问

    大家好,我是老三.上期发布了一篇:面渣逆袭:HashMap追魂二十三问,反响很好! 围观群众纷纷表示 不写,是不可能不写的,只有卷才能维持了生活这样子. 当然,我写的这一系列,不是背诵版,是理解版,很 ...

  5. 面渣逆袭:Redis连环五十二问,图文详解,这下面试稳了!

    大家好,我是老三,面渣逆袭系列继续,这节我们来搞定Redis--不会有人假期玩去了吧?不会吧? 基础 1.说说什么是Redis? Redis是一种基于键值对(key-value)的NoSQL数据库. ...

  6. Javascript:一个屌丝的逆袭

    HTML负责结构, CSS负责展示, 而我(加上AJAX, JSON) 负责逻辑.于是前端编程三剑客形成了. http://mp.weixin.qq.com/s?__biz=MzAxOTc0NzExN ...

  7. 屌丝逆袭--Asp.net快速入门学习教程 第1晚

    本人屌丝一名,因工作原因,不能白天学习编程,所以只能做夜猫子学习编程,期待一天能逆袭成一名高帅富的技术大牛(靠,都想到流口水了........囧). 本教程记录本屌丝学习Asp.net的过程,大牛就飞 ...

  8. 反射型XSS的逆袭之路

    0×00背景 这是一次结合各自技巧的渗透过程,由于原作者的截图不多,我们只是简单叙述一下思路~ 目标是一家本地的游戏公司,起因是找到一个反射型xss,但是却被对方公司忽略,而作者身边的一个妹子也在这家 ...

  9. 【文学文娱】《屌丝逆袭》-出任CEO、迎娶白富美、走上人生巅峰

    本文地址:http://www.cnblogs.com/aiweixiao/p/7759790.html 原文地址:(微信公众号) 原创 2017-10-30 微信号wozhuzaisi 程序员的文娱 ...

随机推荐

  1. wget命令使用报错 certificate common name 'xxx' doesn't match requestde host name

    使用wget命令 wget http://www.monkey.org/~provos/libevent-1.2.tar.gz 报如下错 error:certificate common name & ...

  2. SQL 中使用 WITH AS 提高性能

    一.WITH AS的含义WITH AS短语,也叫做子查询部分(subquery factoring),可以让你做很多事情,定义一个SQL片断,该SQL片断会被整个SQL语句所用到.有的时候,是为了让S ...

  3. 带拦截器配置的 struts.xml文件

    <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE struts PUBLIC "-/ ...

  4. java编译过程(字节码编译和即时编译)

    Javac编译与JIT编译 简介: 编译包括两种情况: 1,源码编译成字节码 2,字节码编译成本地机器码(符合本地系统专属的指令) 解释执行也包括两种情况: 1,源码解释执行 2,字节码解释执行 解释 ...

  5. Python 面向对象高阶-----metaclass

    Python 面向对象高阶-----metaclass 前言 类也是对象,既然类是对象,那就自然是某个东西的实例化,这个东西就是type 首先看下type是怎么回事 type type最常用的方法就是 ...

  6. JavaScript闭包应用的整理

    0 什么是JavaScript闭包? 当函数定义内部的函数被保存到外部时,就会形成闭包.闭包会导致作用域链不释放,造成内存泄漏. 1 获取局部变量 [练习目的] 下面这个练习,是为了通过闭包实现获取定 ...

  7. java java.net.URLConnection 实现http get,post

    抽象类 URLConnection 是所有类的超类,它代表应用程序和 URL 之间的通信链接.此类的实例可用于读取和写入此 URL 引用的资源.通常,创建一个到 URL 的连接需要几个步骤: open ...

  8. Mysql相关知识点梳理(一):优化查询

    EXPLAIN解析SELECT语句执行计划: EXPLAIN与DESC同义,通过它可解析MySQL如何处理SELECT,提供有关表如何联接和联接的次序,还可以知道什么时候必须为表加入索引以得到一个使用 ...

  9. Flask进阶

    Threading.local 作用:为每个线程创建一个独立的空间,使得线程对自己的空间中的数据进行操作(数据隔离). 应用: flask上下文管理中的local中比这更高级,为协程. DBUtils ...

  10. 【asp.net】asp.net遍历Request的信息

    #需求: 在服务端获取从客户端发送过来的所有数据信息: #方案: 1.服务端代码 public void ProcessRequest(HttpContext context) { //打印所有参数信 ...