2018年2月,Flutter推出了第一个Beta版本,在2018年12月5日,Flutter1.0版本发布,当时用了用觉得这个东西非常好用,对于当时被RN搞的头皮发麻的我来说简直是看到了曙光。而在昨天Flutter发布了1.5版本。

那我们就简单来聊一聊Flutter

啥是Flutter

Flutter 是一种新型的方式,用于创建高性能、跨平台的移动应用。由 Google 的工程师团队打造。Flutter 针对当下以及未来的移动设备进行优化,专注于 Android and iOS 低延迟的输入和高帧率。

RN和Flutter论剑

首先,提到跨平台,我们不得不提个名字:React Native,程序员可以利用JavaScript和React获得一致的开发体验,但是RN在实际平台上还需要适配和桥接差异性。而且就我的体验,RN开发时环境真的很难搞,经常性莫名其妙出点问题,而且对于我用的这台上了岁数的电脑来说,开发RN让我直观的感受到了搞一个性能强悍的电脑是多么重要。

而Flutter就舒服多了,虽然Flutter使用的是Dart语言,但是Dart对于我们来说学习成本很小,基本上看一遍就上手了。而且他的部件化的思想也是很棒的。

有种说法叫RN是将一种设计理念延伸到两个平台,而Flutter则实现了一套代码,部署多个平台。深以为然

Flutter优势

Flutter中UI组件和渲染器都从平台中集成到用户的应用程序中,所以原来虚拟的控件树是真实的控件树,所以渲染和绘制的速度会很快,动画发生在用户空间中,开发人员也可以对其进行很多的控制。有网友在亲测了Flutter后表示:在页面渲染方面,Flutter比RN各具优势,图片量越大,Flutter的流畅度优势越大。

除此之外,在以下方面Flutter也有优势:

· 响应式视图,不需要JavaScript的桥接器

· 性能更好,兼容性更好

· 代码将AOT编译为本机(ARM)代码

· 美观,可定制的UI组件,开发人员完全控制UI组件和布局

· 强大的开发者工具,惊人的热重新加载

我为什么单独把热重载标出来了,试试RN在试试Flutter,你会发现Flutter真的用起来比较爽,虽然Flutter还是有一些小问题的,但是用Flutter一时爽,一直用Fultter一直爽

1.5版本有搞了哪些操作

谷歌官方博客昨天宣布,flutter 正式成为全平台框架,支持手机、Web、桌面电脑和嵌入式设备。

Flutter 之所以能够在移动平台上运行,主要是依赖的 Flutter Engine,就是 Flutter 所依赖的运行环境。这就导致在移动平台,只要你使用了 Flutter,哪怕只用混合开发的模式写了一个页面,这也将为你的 App 增大大约 4MB 的体积。

而 Flutter for Web,完全是一种全新的模式,它可以将 Dart 编写的现有 Flutter 代码,编译成可嵌入浏览器并部署到任何 Web 服务器的代码。

编译后的代码,完全是基于 HTML、CSS 和 JavaScript 这些标准的 Web 技术,所以它也不需要任何浏览器插件的支持。

但是Flutter for Web 还只是一个 Preview 版本,还有很多不足和被限制的地方。

限制:

  1. Flutter_web 的插件还不完善,暂时只提供了最基础的 dart:html、dart:js、dart:svg、dart:indexed_db,可以通过他们访问绝大多数浏览器的 API。
  2. 并非所有的 Flutter 都在 Flutter_web 上实现了。
  3. Flutter_web 编译还很慢。
  4. 在桌面浏览器上运行,还有一些不足,大部分是基于移动应用的操作特性,而没有对桌面系统的操作习惯进行特殊的优化。
  5. 开发流程目前仅支持 Chrome。

总体来说,Flutter从一个移动端开发框架升级为一个多平台框架,这就相当于赛亚人变身,终于开始变身为超级赛亚人了

最新文章

  1. 每天一个linux命令(48):watch命令
  2. C#基础——全局静态类中的静态类变量的设置
  3. C++基础-01
  4. 重新想象 Windows 8 Store Apps (62) - 通信: Socket TCP, Socket UDP
  5. logback 常用配置详解(二)
  6. Java开发环境准备
  7. 5个开发人员不应该错过的最好跨平台PHP编辑器
  8. os.system和os.popen
  9. JS初学之-选项卡(常见)
  10. 加速ssh连接
  11. 如果不知道MySQL当前使用配置文件(my.cnf)的路径的解决方法
  12. POJ 1422 Air Raid
  13. 初识Redis系列之一:简单介绍
  14. Java 读书笔记 (十一) Number & Math 类
  15. vue项目打包问题
  16. CentOS7.4安装部署KVM虚拟机
  17. js中使用将json数组 转换为json将一个包含对象的数组用以创建一个包含新重新格式化对象的新数组
  18. javascript 判断属性是否存在
  19. immutable-styles 基本试用
  20. Solidity通过合约转ERC20代币

热门文章

  1. cordova 打包出现transformClassesWithDexForDebug一类错误的解决办法
  2. 运算符副作用总结与例子(js)
  3. Golang中类面向对象特性
  4. array、list和set相互转化的方法
  5. SpringBoot微服务电商项目开发实战 --- 分布式文件系统实现
  6. SpringCloud -创建统一的依赖管理
  7. 开源WAF工具ModSecurity
  8. ORA-27140: attach to post/wait facility failed
  9. WSL2(预览版)体验笔记
  10. django-建表出现的错误