Flutter 1.0 正式版: Google 的便携 UI 工具包
简评:所以 React-Native 和 Flutter 该怎么选?
在 10 个月前的 MWC 上,谷歌发布了 Flutter 的 Beta 版本,给跨平台应用开发带来了一种全新的选择,昨天谷歌正式发布了 Flutter 1.0 。下面我们来看看官方对 Flutter 的介绍吧。
Flutter 介绍
Flutter 并不是替代原生 iOS 和 Android 开发模式,相反,可以把 Flutter 理解为内置的一个引擎,可以把这个引擎引入到现有的工程或者全新的工程中。
Flutter 有以下四个特点:
- 精美。使用 Flutter 可以在屏幕上有像素级的控制,并近乎可以不受限制的堆叠任何图形、视频、文本和控件。Flutter 内置了一系列的 widgets 可以在 iOS 和 Android 上实现极致的视觉体验。Flutter 最大程度的实现了 Material Design ,可构建界面精美的应用。
- 速度快。它基于 Skia 2D 硬件加速图形引擎,该引擎也同样用在了 Chrome 和 Android 平台。Flutter 的代码基于 Dart 平台,它可以被编译成 iOS 和 Android 平台上 32 位和 64 位的 ARM 代码,媲美原生应用的速度。
- 高效。Flutter 引入了 Stateful Hot Reload ,无需重新启动应用,就可以在程序运行的时候直接看到代码修改之后的效果,Stateful Hot Reload 改变了开发者们编写应用的方式,开发者们在用户反馈中表示该特性使开发效率提升了三倍。
- 开放。Flutter 是基于 BSD-style 许可的开源项目,全球有数百位开发者为其贡献代码。Flutter 的插件生态系统平台也充满活力。有数千款插件已经发布,避免了重复造轮子。由于 Flutter 使用标准的 Android 和 iOS 的编译打包工具,因此它的开放还体现在可以使用原生开发资源。比如,同样可以在 Android 上使用 Kotlin 或者 Java,在 iOS 上使用 Swift 或者 Objective-C 来写逻辑或者界面。

Flutter 1.0 新功能
1.0 主要修复 Bug 和提高稳定性,接入Dart v1.2。同时有两个新功能将随 1.0 的预览模式提供给开发者们。它们将会于 2019 年二月的季度更新中正式推出,两个特性分别是:
现有工程接入 Flutter (Add to App)
使用 Flutter 不一定需要从零开始构建整个应用,也可以在现有的项目中通过 Flutter 添加新功能,或者一步步的将整个项目迁移到 Flutter。谷歌会持续改善这一体验,可以在 wiki 查看现有的关于将 Flutter 引入应用的文章,也可以在 GitHub 上关注他们接下里的进展。
平台级视图 (Platform Views)
上一个功能是将 Flutter 接入工程,这个功能相反,是将 Android 或者 iOS 原生平台控件嵌入 Flutter 应用中。谷歌引入了 AndroidView 和 UiKitView,可以分别把这两个平台的 widget 嵌入到对应的平台中,像 Google Maps和 WebView 已经享受到这一特性带来的好处了。

右下角的浮动按钮是一个 50% 透明度的 Flutter widget
不仅仅是移动端
目前 Flutter 的首要平台是 iOS 和 Android,同时也在探索拓展到手机端以外的更多平台。
像 Flutter Desktop Embedding,这是一个使 Flutter 运行于 macOS、Linux 和 Windows 等桌面操作系统的项目。
同时本周,谷歌内部预览了一个将极大拓展 Flutter 的运行平台的实验阶段项目:

Hummingbird 是一个基于 Web 实现的 Flutter 运行时环境。利用 Dart 平台同时能被编译成 JavaScript 的特性,这个项目让 Flutter 应用能够毫无改动地运行在标准 Web 平台。
这里是关于 Hummingbird 的技术实现文章。

Flutter :我准备好了,你呢?
Flutter 1.0 正式版: Google 的便携 UI 工具包的更多相关文章
- Flutter 1.0 正式版: Google 的跨平台 UI 工具包
今天我们非常高兴的宣布,Flutter 的 1.0 版本正式发布!Flutter 是 Google 为您打造的 UI 工具包,帮助您通过一套代码同时在 iOS 和 Android 上构建媲美原生体验的 ...
- Flutter 1.0 正式版: Google 的便携 UI 工具包
Flutter 1.0 正式版: Google 的便携 UI 工具包 文 / Tim Sneath,Google Dart & Flutter 产品组产品经理 Flutter 是 Google ...
- [Android 新特性] 谷歌发布Android Studio开发工具1.0正式版(组图) 2014-12-09 09:35:40
Android Studio是谷歌于13年I/O大会推出的Android开发环境,基于IntelliJ IDEA. 类似 Eclipse ADT,Android Studio 提供了集成的Androi ...
- Flutter 1.7 正式版发布
今天,我们非常高兴地向大家宣布又一个正式版本的发布 -- Flutter 1.7,这是继上次 I/O 时众多重要功能发布以来的一次小更新.Flutter 1.7 包含了对 AndroidX 的支持,满 ...
- VMware Workstation 10.0 正式版官方简体中文下载(附序列号)
虚拟机界数一数二的王者软件VMWare Workstation 今日推出了最新的VMware Workstation 10.0 版本.该版本最大的更新是加入了简体中文语言,这意味着未来神马汉化包.中文 ...
- Redis 3.0正式版发布,正式支持Redis集群
Redis是一个开源.基于C语言.基于内存亦可持久化的高性能NoSQL数据库,同时,它还提供了多种语言的API.近日,Redis 3.0在经过6个RC版本后,其正式版终于发布了.Redis 3.0的最 ...
- Axure 7.0 正式版 + 汉化包 安装
详情如下: Axure 7.0 正式版终于发布了,现在提供简体中文版给大家使用. Axure 7.0 正式版: 链接: http://pan.baidu.com/s/1kV4OJ47 提取密码: be ...
- 【Android】Vitamio 4.0 正式版发布/ Vitamio IOS 测试版发布(2013-07-16)
一.链接 Vitamio官网:http://www.vitamio.org/ 官网github地址:https://github.com/yixia 自己无法编译通过的这里下载: Vitamio 4. ...
- 【6年开源路】海王星给你好看!FineUI v4.0正式版暨《FineUI3to4一键升级工具》发布!
去年10-28号,我发布了一篇文章<海王星给你好看!FineUI v4.0公测版发布暨<你找BUG我送书>活动开始>,标志着FineUI开始向4.0版本迈进.经过4个月3个公测 ...
随机推荐
- linux下文件打包、压缩详解
Linux平台下,有如下几种常见的压缩工具: ========================================================================= 工 具 ...
- struts中request传递中文乱码问题
系统本来是好好地,这两天升级后,各种问题不断,总而言之,一句话,心惊胆战. 今天,搜索任何中文,都是有乱码,在action中转码就ok了.公司系统那么多action,都转码,要累死吧.配置的过滤器都不 ...
- Default style sheet for HTML 4
http://www.w3.org/TR/CSS21/sample.html html, address, blockquote, body, dd, div, dl, dt, fieldset, f ...
- AngularJS Backbone.js Ember.js 对比
看到一篇关于AngularJS Backbone Ember.js的对比,建议看一看 说说个人的观点(本人学艺不精,只是个人的观点,不保证观点完全正确,请轻拍): backbone.js 短小精悍,非 ...
- JAVA环境下利用solrj二次开发SOlR搜索的环境部署常见错误
问题一:出现控制台坏的响应错误一Bad request 控制台出现错误如下: Bad Request request: http://hostIP:8983/solr/update?wt=javabi ...
- asp.net——正则表达式
在平时的开发中常常用到替换法: 普通的字符串替换可以使用string.replace(string,string),但是比较难解决HTML文本的替换. 经我几番查找,终也找出解决办法:正则匹配替换. ...
- ie11下ajax用escape发送中文参数失败
一个项目中,登录请求是ajax,get模式.登录名无中文可以正常登录:登录名是中文则偶尔可以登录,大部分情况下无法登录,ajax请求无法发送成功. 登录名是用js的escape函数转码. 经过多次测试 ...
- Skyline桌面二次开发之路径漫游(C#)
所谓路径漫游:即创建一个动态对象和一条由多点组成的线,然后让动态对象沿着线飞行 首先绘制一条线,实际上路径漫游是不需要绘制线的,我这里只是为了确认动态对象是否沿着线路在飞行,代码如下: //绘制路径 ...
- 如何关闭SQL进程
--通过下面的查询得到trace ID select * from sys.traces --修改下面的@traceid参数,关闭,删除对应的trace exec sp_trace_setstatus ...
- 在Windows子系统(WSL)中配置开机启动服务
在WSL中跑了一些测试服务 比如 mysql nginx等,但关机后每次都要手动开启甚是吃力,本想着用rc.local来编辑开机启动 ,无奈不支持啊!先看看非WSL环境中是怎么实现的. 在 Ubunt ...