谷歌的颤动工具箱超越了项目蜂鸟的移动-王其杉博客|程序员|科技新闻
Frutter,谷歌的跨平台应用程序工具包,今天发布了1版。传统上,该项目的重点是iOS和Android应用程序,但正如该公司今天宣布的,它现在也在考虑将Flutter引入网络。这个项目,目前称为蜂鸟,实质上是Flutter运行时的一个基于网络的实验性实现。
“从一开始,我们设计的Flutter是一个便携式UI工具包,而不仅仅是一个移动UI工具包,”Google Flutter的团队产品经理Tim Sneath告诉我。“所以我们一直在尝试如何把颤动带到不同的地方。”
Hummingbird获取所有Flutter应用程序编写的Dart代码,然后将其编译为JavaScript,JavaScript又允许代码在任何现代浏览器中运行。开发人员一直能够将Dart编译为JavaScript,所以这部分并不新鲜,但是确保Flutter引擎能够工作,以及将所有相关的Flutter特性带到web上,是一项重大的工程工作。事实上,谷歌建立了三个原型来研究这是如何运作的。仅仅把小部件放在上面是不够的。Flutter小部件及其布局系统的组合也被丢弃,最终,小组决定构建一个完整的Flutter网络引擎,该引擎保留位于省道:ui库之上的所有层。
“颤动本身的一大优点是它编译成机器代码,武装代码。但是,Hummingbird进一步扩展了这一点,并说,好吧,我们还将编译成JavaScript,我们将用Hummingbird引擎替换Web上的Flutter引擎,然后使用Hummingbird引擎可以运行Flutter代码,而不用改变Web浏览器。当然,这也将颤动的视角延伸到一个全新的生态系统。”
使用像Electron这样的工具,把一个网络应用程序带到桌面上也很容易,所以现在也有一种途径可以把Flutter应用程序带到Windows和MacOS上,尽管已经有另一个项目在进行中,将Flutter嵌入到本地桌面应用程序中。
值得注意的是,Google总是吹嘘Flutter编译成本地代码的事实,以及它从中获得的速度收益。Sneath也承认了这一点,并强调蜂鸟是一个实验项目,谷歌今天没有发布任何代码。现在,这是一个技术示范。
他说:“如果你能原住民,你应该土生土长。”“把它看成是颤振的延伸,而不是解决颤振本身正在解决的问题。”
在当前的迭代中,Flutter web引擎可以处理大多数应用程序,但是仍然有许多工作要做,以确保所有小部件正确运行,例如。该小组还正在研究建立一个插件系统,以及如何将Flutter嵌入到现有的web应用程序中,以及将现有web应用程序嵌入到Flutter web应用程序中。
谷歌的跨平台FLUTE UI工具包点击1版
γ