简评:所以 React-Native 和 Flutter 该怎么选?

在 10 个月前的 MWC 上,谷歌发布了 Flutter 的 Beta 版本,给跨平台应用开发带来了一种全新的选择,昨天谷歌正式发布了 Flutter 1.0 。下面我们来看看官方对 Flutter 的介绍吧。

Flutter 介绍

Flutter 并不是替代原生 iOS 和 Android 开发模式,相反,可以把 Flutter 理解为内置的一个引擎,可以把这个引擎引入到现有的工程或者全新的工程中。

Flutter 有以下四个特点:

  1. 精美。使用 Flutter 可以在屏幕上有像素级的控制,并近乎可以不受限制的堆叠任何图形、视频、文本和控件。Flutter 内置了一系列的 widgets 可以在 iOS 和 Android 上实现极致的视觉体验。Flutter 最大程度的实现了 Material Design ,可构建界面精美的应用。
  2. 速度快。它基于 Skia 2D 硬件加速图形引擎,该引擎也同样用在了 Chrome 和 Android 平台。Flutter 的代码基于 Dart 平台,它可以被编译成 iOS 和 Android 平台上 32 位和 64 位的 ARM 代码,媲美原生应用的速度。
  3. 高效。Flutter 引入了 Stateful Hot Reload ,无需重新启动应用,就可以在程序运行的时候直接看到代码修改之后的效果,Stateful Hot Reload 改变了开发者们编写应用的方式,开发者们在用户反馈中表示该特性使开发效率提升了三倍。
  4. 开放。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’s Portable UI Toolkit

Flutter 1.0 正式版: Google 的便携 UI 工具包的更多相关文章

  1. Flutter 1.0 正式版: Google 的跨平台 UI 工具包

    今天我们非常高兴的宣布,Flutter 的 1.0 版本正式发布!Flutter 是 Google 为您打造的 UI 工具包,帮助您通过一套代码同时在 iOS 和 Android 上构建媲美原生体验的 ...

  2. Flutter 1.0 正式版: Google 的便携 UI 工具包

    Flutter 1.0 正式版: Google 的便携 UI 工具包 文 / Tim Sneath,Google Dart & Flutter 产品组产品经理 Flutter 是 Google ...

  3. [Android 新特性] 谷歌发布Android Studio开发工具1.0正式版(组图) 2014-12-09 09:35:40

    Android Studio是谷歌于13年I/O大会推出的Android开发环境,基于IntelliJ IDEA. 类似 Eclipse ADT,Android Studio 提供了集成的Androi ...

  4. Flutter 1.7 正式版发布

    今天,我们非常高兴地向大家宣布又一个正式版本的发布 -- Flutter 1.7,这是继上次 I/O 时众多重要功能发布以来的一次小更新.Flutter 1.7 包含了对 AndroidX 的支持,满 ...

  5. VMware Workstation 10.0 正式版官方简体中文下载(附序列号)

    虚拟机界数一数二的王者软件VMWare Workstation 今日推出了最新的VMware Workstation 10.0 版本.该版本最大的更新是加入了简体中文语言,这意味着未来神马汉化包.中文 ...

  6. Redis 3.0正式版发布,正式支持Redis集群

    Redis是一个开源.基于C语言.基于内存亦可持久化的高性能NoSQL数据库,同时,它还提供了多种语言的API.近日,Redis 3.0在经过6个RC版本后,其正式版终于发布了.Redis 3.0的最 ...

  7. Axure 7.0 正式版 + 汉化包 安装

    详情如下: Axure 7.0 正式版终于发布了,现在提供简体中文版给大家使用. Axure 7.0 正式版: 链接: http://pan.baidu.com/s/1kV4OJ47 提取密码: be ...

  8. 【Android】Vitamio 4.0 正式版发布/ Vitamio IOS 测试版发布(2013-07-16)

    一.链接 Vitamio官网:http://www.vitamio.org/ 官网github地址:https://github.com/yixia 自己无法编译通过的这里下载: Vitamio 4. ...

  9. 【6年开源路】海王星给你好看!FineUI v4.0正式版暨《FineUI3to4一键升级工具》发布!

    去年10-28号,我发布了一篇文章<海王星给你好看!FineUI v4.0公测版发布暨<你找BUG我送书>活动开始>,标志着FineUI开始向4.0版本迈进.经过4个月3个公测 ...

随机推荐

  1. Linux C多线程实现生产者消费者

    今天学习了用Linux C进行线程的同步,实现类似生产者消费者的问题.下面我就来分享我的代码 #include<stdio.h> #include<pthread.h> #in ...

  2. Ansible常用模块命令

    Ansible常用模块命令 一.安装ansible yum install epel-release yum install ansible 二.配置文件配置 vi /etc/ansible/ansi ...

  3. Text Relatives II

    [Text Relatives II] When your app determines that the user has requested the edit menu—which could b ...

  4. 【转】C中的静态存储区和动态存储区

    一.内存基本构成    可编程内存在基本上分为这样的几大部分:静态存储区.堆区和栈区.他们的功能不同,对他们使用方式也就不同.    静态存储区:内存在程序编译的时候就已经分配好,这块内存在程序的整个 ...

  5. 分布式事务,EventBus 解决方案:CAP【中文文档】(转)

    出处:http://www.cnblogs.com/savorboard/p/cap-document.html 前言 很多同学想对CAP的机制以及用法等想有一个详细的了解,所以花了将近两周时间写了这 ...

  6. WebClient使用与IIS7最大上传文件--升级&引导窗口&目录同步完整解决方法

    IIS7最大上传文件说明:http://www.mzwu.com/article.asp?id=2449 WebClient使用说明使用using  及时回收资源 using(var wc=new W ...

  7. CI框架下的PHP增删改查总结

    controllers下的 cquery.php文件 <?php class CQuery extends Controller { //构造函数 function CQuery() { par ...

  8. Altera FPGA 开启引脚片上上拉电阻功能

    本博文以矩阵键盘实验为例,介绍了如何开启FPGA管脚的片上上拉电阻. Cyclone IV E FPGA的通用输入输出管脚都支持内部弱上拉电阻,但是时钟输入脚不支持.所以,当需要上拉电阻的信号(如本例 ...

  9. Oracle Alert - APP-ALR-04108: SQL error ORA-01455

    SELECT OD.ORGANIZATION_CODE, TO_CHAR(H.ORDER_NUMBER), --ORACLE ALERT 自动转数字类型最长11位,转字符处理解决APP-ALR-041 ...

  10. 存储系统的基本数据结构之一: 跳表 (SkipList)

    在接下来的系列文章中,我们将介绍一系列应用于存储以及IO子系统的数据结构.这些数据结构相互关联又有着巨大的区别,希望我们能够不辱使命的将他们分门别类的介绍清楚.本文为第一节,介绍一个简单而又有用的数据 ...