APP下载

Google发展实验性专案Hummingbird,让Flutter应用程序可以移植网页平台

消息来源:baojiabao.com 作者: 发布时间:2024-04-20

报价宝综合消息Google发展实验性专案Hummingbird,让Flutter应用程序可以移植网页平台

Google发布了一个实验性专案Hummingbird,要让Google的UI工具包Flutter也能在网页上执行。虽然受限于网页浏览器沙盒化网页应用程序,限制了部分功能,但是Flutter网页引擎仍提供了Flutter引擎包括小工具与布局等多数的功能。Google预计在Hummingbird程式码稳定后,便会在GitHub上开源。

Flutter的版图已经从原本的行动装置操作系统扩散,朝全平台发展,Google正在进行的Flutter Desktop Embedding专案,虽然还在早期阶段,但目标是要将Flutter带上三大桌面操作系统,另外,Google也在树莓派上测试Flutter,以展示对于不完整桌面的嵌入支援方法。而Google同时也释出了实验性专案Hummingbird,尝试在网页上执行Flutter。

Flutter是一个多层系统,对开发者来说,越高层越容易使用,并能以很少的程式码,完成很多工作,而低层的系统虽然比较复杂,但是却赋予开发者更多的控制能力。开发者可以存取Flutter引擎以上每一层的系统,当高层所提供的控制力不足时,便可以使用较低层的系统。Flutter引擎以最低阶的函式库dart:
ui向外开放功能,该函式库能够完全的控制小工具(Widgets)、物理、动画和布局,把这些元素组合到屏幕中成为像素。

要让Flutter在网页上执行,Google提到,有三件事情要做,第一需要编译Dart程式码,因为Flutter是用Dart编写的,要让Flutter在网页上执行,就需要在网页上执行Dart。再来,便是选择要在网页上执行的Flutter子集,Flutter中有许多程式码是专用于特定平台,对于网页平台无用。第三件事,选择足够的网页功能子集,Google提到,随着发展网页平台会累加功能产生新功能,像是开发者能使用HTML+CSS、SVG、Canvas和WebGL绘制图形。Google表示,决定支援特定Flutter系统层,便决定了要用的网页技术。

最初Google制作了三个层次的原型,包括只支援小工具、小工具加上自定义布局以及Flutter网页引擎。最后Google留下了第三种原型Flutter网页引擎,该原型保留了dart:ui之上的所有层,并提供了在浏览器中运行的dart:
ui实作。Google认为,Flutter最有价值的功能之一,便是可以跨平台移植,允许使用单一程式码库,编写多个平台的应用程序。Flutter网页引擎设计原型提供平台间,最高等级的程式码重用。

以基于Flutter网页引擎开发的应用程序,具有良好的互操作性。Flutter网页应用程序可以完全呼叫现存网页上的所有Dart函式库,而且也完全支援Dart与JavaScript互相操作套件,包括package:js与dart:js。不过,Google表示,应该避免在Flutter中使用CSS,在页面中任意使用CSS可能会导致Flutter不可预测的行为,且由于在设计时,Flutter需要在呈现画面时知道所有布局属性,但由于运作方式的限制,CSS的对Flutter来说就像黑盒子一般不可知。另外,为了保持Flutter程式码跨平台可移植性,避免使用CSS,还可以在Android和iOS上执行相同的程式码。

目前Flutter还不支援嵌入现有的网页应用程序中,Google正在研究要以

 

2018-12-06 18:34:00

相关文章