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个公测 ...
随机推荐
- leetcode 14 最长公共前缀
描述: 给个字符串vector,求最长公共前缀. 解决: 直接取第一个字符串作为最长公共前缀,将其每个字符遍历过一次.设最长字符实际为k,共n个元素,则复杂度O(nk) string longestC ...
- jquery 替换节点实例
描述: 要求用户选择一个自己不喜欢的商品 说明: 左边是商品列表,右面显示用户不喜欢的商品. 首先用选择器获得用户点击的元素,然后替换右面用户选择的不喜欢的商品. <!doctype html& ...
- golang之math/rand随机数
简单的随机数生成,结合时间模块初始化种子 package main import ( "fmt" "math/rand" "time" ) ...
- cocos2dx中使用tolua++使lua调用c++函数
一直想学学cocos2dx中如何使用tolua++工具使得lua脚本调用C++函数,今天就来搞一下,顺便记录下来: 首先,我们打开cocos2dx-2.2.4中projects下的test的VS工程, ...
- [SoapUI] 通过Groovy脚本获取project所在的路径或者直接用${projectDir}
import com.eviware.soapui.support.GroovyUtils def groovyUtils = new GroovyUtils( context ) def proje ...
- Oracle GoldenGate 二、配置和使用
Oracle GoldenGate 二.配置和使用 配置和使用GoldenGate的步骤 1 在源端和目标端配置数据库支持GoldenGate 2 在源端和目标端创建和配置GoldenGate实例 3 ...
- mvc html.PartialView()传参
方式一,viewDatapublic static MvcHtmlString Partial(this HtmlHelper htmlHelper, string partialViewName, ...
- Linux的磁盘分区(三)
RAID 廉价冗余磁盘阵列 Redundant Arrays of Inexpensive Disks 不同级别的RAID功能.特性各不相同 对比项 RAID0 RAID1 RAID10 RAID5 ...
- Zookeeper客户端cli_st为何在crontab中运行不正常?
实践中,发现直接在命令行终端运行cli_st时,能够得到预期的结果,但一将它放到crontab中,则只收到: bye 相关的一段clit_st源代码如下: if (FD_ISSET(, &rf ...
- 企业搜索引擎开发之连接器connector(二十七)
ChangeQueue类实现ChangeSource接口,声明了拉取下一条Change对象的方法 * A source of {@link Change} objects. * * @since 2. ...