Google的Flutter工具包超越了Project Hummingbird的移动设备

2018-12-05 09:44:22爱云资讯初云

Flutter是Google用于构建跨平台应用程序的工具包,今天发布了1.0版本。传统上,该项目专注于iOS和Android应用程序,但正如该公司今天宣布的那样,它现在也在考虑将Flutter引入网络。该项目目前称为Hummingbird,实质上是Flutter运行时的基于Web的实验性实现。

“从一开始,我们就将Flutter设计成便携式UI工具包,而不仅仅是一个移动UI工具包,”Flutter的谷歌集团产品经理Tim Sneath告诉我。 “所以我们一直在试验如何将Flutter带到不同的地方。”

Hummingbird使用所有Flutter应用程序编写的Dart代码,然后将其编译为JavaScript,从而允许代码在任何现代浏览器中运行。开发人员始终能够将Dart编译为JavaScript,因此这部分并不是新的,但确保Flutter引擎可以工作,并将所有相关的Flutter功能引入Web,这是一项重大的工程工作。事实上,谷歌构建了三个原型,看看它是如何工作的。仅仅把小部件放在一边是不够的。 Flutter小部件及其布局系统的组合也被丢弃,最后,团队决定构建一个完整的Flutter Web引擎,保留位于dart:ui库上方的所有层。

“Flutter本身的一大优点是它可以编译为机器代码,也可以编译为Arm代码。但Hummingbird进一步扩展并说,好吧,我们也将编译为JavaScript,我们将使用Hummingbird引擎替换网络上的Flutter引擎,然后启用Flutter代码,无需更改Web浏览器。当然,这将Flutter的观点扩展到一个全新的生态系统。“

使用像Electron这样的工具,将Web应用程序带到桌面也很容易,所以现在还有一条通过这种方式将Flutter应用程序引入Windows和MacOS的途径,尽管还有另一个项目正在将Flutter嵌入本机桌面应用程序也是。

值得注意的是,Google总是吹嘘Flutter编译为本机代码的事实 - 以及从中获得的速度提升。然而,编译到网络是一个折衷。 Sneath承认并强调Hummingbird是一个实验性项目,Google今天没有发布任何代码。现在,这是一次技术演示。

“如果你可以去土生土长,你应该去土生土长,”他说。 “把它看作是Flutter伸手可及的范围,而不是解决Flutter本身正在解决的问题。”

在当前的迭代中,Flutter Web引擎可以处理大多数应用程序,但是仍然需要做很多工作来确保所有小部件都能正确运行。该团队还在寻求构建插件系统以及将Flutter嵌入现有Web应用程序的方法 - 以及将现有Web应用程序嵌入到Flutter Web应用程序中。
相关文章
热门文章
头条文章
重点文章
推荐文章
热点文章
关于我们|联系我们|免责声明|会展频道
冀ICP备2022007386号-1 冀公网安备 13108202000871号 爱云资讯 Copyright©2018-2023