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个公测 ...
随机推荐
- ubuntu17.10 安装ssh
sudo apt-get install openssh-server sudo /etc/init.d/ssh start
- YUI前端优化之内容篇
Excetional Performance团队总结出了一系列可以提高网站速度的方法.可以分为7大类34条.包括内容.服务器.cookie.CSS.JavaScript.图片.移动应用等七部分.一.内 ...
- 我们为什么要在 PHPStorm 中标记目录
问题来源 (1)要开发的项目位于PHPStorm打开的项目的二级目录下,使用PHPStorm来开发Laravel项目 提供的教程在代码自动定位和智能提醒方面,存在无效的情况: (2)使用gulp作为项 ...
- Spring JMX之一:使用JMX管理Spring Bean
spring中关于jmx包括几个概念: MBeanExporter: 从字面上很容易理解, 用来将一些spring的bean作为MBean暴露给MBEanServer.MBeanServerFacto ...
- redis集群种类(转)
原文:http://blog.csdn.net/c295477887/article/details/52487621 关于redis主从.哨兵.集群的介绍网上很多,这里就不赘述了. 一.主从 通过持 ...
- UVaLive 4043 Ants (最佳完美匹配)
题意:给定 n 个只蚂蚁和 n 棵树的坐标,问怎么匹配使得每个蚂蚁到树的连线不相交. 析:可以把蚂蚁和树分别看成是两类,那么就是一个完全匹配就好,但是要他们的连线不相交,那么就得考虑,最佳完美匹配是可 ...
- 主键冲突异常 DuplicateKeyException
org.springframework.dao.DuplicateKeyException Exception thrown when an attempt to insert or update d ...
- FlexBox弹性盒布局
网页布局(layout)是 CSS 的一个重点应用. 布局的传统解决方案,基于盒状模型,依赖 display 属性 + position属性 + float属性.它对于那些特殊布局非常不方便,比如,垂 ...
- uva 10169 - Urn-ball Probabilities !(概率)
题目链接:uva 10169 - Urn-ball Probabilities ! 题目大意:在一个箱子中,原本有1个红球,然后任意取出(有放回)一个球,然后再往里放一个白球(每次取都要放进一个白球) ...
- Android-MediaPlayer-音频播放-异步准备
在上一篇博客,Android-MediaPlayer-音频播放-普通准备,介绍了普通准备的播放: 一般在开发中,要使用异步准备比较好,因为准备是要去准备硬件来播放,是耗性能的 异步准备和普通准备的区别 ...