技术开发 频道

开源无止境,谷歌移动UI框架Flutter落地

  【IT168 编译】谷歌发布的新的移动UI框架—Flutter已经成功落地,这是一个开源的移动应用程序SDK,具有自己的框架,小部件和工具。Google希望Flutter能够在Android、iOS甚至是Google Fuschia等所有平台上构建和部署“漂亮的移动应用”,从而使开发人员更轻松,更有效率。

  什么是Flutter?

开源无止境,谷歌移动UI框架Flutter落地

  虽然Flutter还处于开发阶段,但有很多功能让人印象深刻:

  1.重新优化,移动优先、支持文字的2D渲染引擎

  2.Functional-reactive框架

  3.丰富的Android和iOS小部件

  4.用于单元和集成测试的API

  5.Interop和插件API连接到系统和第三方SDK

  6.用于在Windows,Linux和Mac上运行测试的Headless test运行器

  7.用于创建,构建,测试和编译应用程序的命令行工具

  现代优雅

  到现在,Flutter的创建已经经历了一段时间,几年前,Flutter的背后想法是来自一群Google工程师的好奇心。网站上是这么描述的:

  早在2014年,谷歌的一些工程师向后思考:现代的mobi-first渲染引擎是什么样的?不用担心后向兼容性,桌面问题或遗留的限制,于是他们开始编写Sky,并进行了一些初步的性能测试,之后他们决定将这个实验发展成为一个真正的项目,并将其重命名为Flutter。在2015年,Google内部的团队开始在Flutter上构建应用程序,于是flutter.io网站诞生了。

  Flutter的指导原则很简单。他们专注于:

  控制 - 开发人员应该访问和控制系统的所有层。

  性能 - 用户应该拥有完美的流畅,响应迅速的应用程序。

  保真 - 每个人都应该有精准,美观,愉快的移动应用体验。

  听起来很简单,对吧?但是他们是怎么做的呢?

  React + Dart = Flutter

  Flutter是React和Dart最好的混合物。Dart是一种现代化的静态类型的编程语言,可以编译成JavaScript在手机上运行。Dart是一个优雅的全堆栈语言,所以Google以自己的语言发布移动SDK并不奇怪。

  那么,Flutter从React那里有获得了什么呢?Flutter的架构很明显的是受到了React的启发,仍然运行在“write once, run anywhere”模式中。此外,React没有自己内置的UI小部件库,而Flutter在这一方面就是一个创新。

  Flutter还做了一些完全不同的事情,它不会将JavaScript或HTML应用程序作为原生移动应用程序运行,也不会为Android和iOS创建单独的原生应用程序。据David Ford表示:

  Flutter是从头开始重新发明自己的UI组件库。这些组件是使用平台的低级图形绘制的。因此,Flutter的UI组件不是html元素,也不是原生的Android / iOS小部件,他们是Flutter小部件。他们具备可插拔的外观,所以他们可以看起来像iOS原生部件或Android原生部件。

  此外,Flutter是不同的,它实现了Dart中的大部分系统,UI的编码方式与应用程序的其余部分相同,保持简单,降低了错误的机会。

1
相关文章