Google的Native Client(见注释)目前处于试验阶段,不同于JavaScript或者Flash等需要更多软件来运行和代码执行的web编程技术,它直接让浏览器在x86处理器上运行模块程序,从而获得更高的性能。但使用这种技术有一个很大的障碍:必须安装浏览器插件。
然而Google想让Native Client更广泛地用于浏览器,所以将这种技术构建到了HTML中,HTML是创建web页面的标准。而且在Google的开发者大会上(Google I/O)Google演示了demonstration。
Native Client的技术指导David Sehr展示了Web Workers(见注释)标准,他让Web页面分配不同的任务到独立的处理线程中,浏览器可以同时运行和处理这些线程而不必一个一个排队处理。Web workers是Native Client发扬光大的重中之重,然而它还不是正式的HTML 5标准。
为什么Native Client技术这么重要?因为比较起运行在电脑上的本地程序,当前的浏览器运行软件相对慢得多,所以Google想通过Native Client来显著提升浏览器运行软件的速度,从而让其基于web 的软件更具竞争力。
Google Native Client项目的工程主管Brad Chen在Google开发者大会上说道,它占用你桌面本地代码的百分比在个位数。
从演示中来看Native Client的功能包括视频解码、数据加密、视频游戏引擎以及脸部识别。更有趣的是,Native Client可以与另一个Google浏览器的插件O3D联合工作,从而使得浏览器能够充分利用硬件来加速3D图形处理。
Google演示的Native Client基于浏览器的图像编辑
结合O3D,开发者可以做出更高质量的游戏,无论是操作杆游戏还是CAD应用。Chen说。
Google这样做也是有私心的。旗下的应用包括Google Docs, Google Maps和Gmail都是基于浏览器的,Native Client就是为了让这些应用更加快速从而匹敌桌面技术比如Microsoft Office。目前Google正在努力解决Native Client的安全问题。
Sehr称Google的浏览器Chrome有望在未来几周内引入Web Worker支持,无疑这将再次提升Google 的Web应用。尽管其他浏览器也置入了Web Worker支持,然而目前来说这种技术还不成熟而且还没有在浏览器中广泛应用。
在一次采访中,Chen表示Google计划通过Web Workers和插件两种方式来支持Native Client。当然通过Web Workers内置在浏览器内是最好的方式,但是Chen表示Web Workers还有许多局限性,所以插件也是一种很好的方式。
在下面这个例子中Google演示的是图像编辑。图形可以旋转、缩放、颜色调整等。
注释:
Native Client:Google的一个新产品,目前出于试验阶段,它能够帮助网络开发者编写更强大的Web应用,使得网络应用可以直接在本地操作系统上运行,不需通过浏览器。Google表示,它可以真正帮助网络开发者提高网络应用开发速度,带来和桌面应用一样的体验。
Web Workers:它为WEB前端网页上的脚本提供了一种能在后台进程中运行的方法。一旦它被创建,Web Workers就可以通过postMessage()向任务池发送任务请求,执行完之后再通过postMessage()返回消息给创建者指定的事件处理程序(通过onmessage进行捕获)。 Web Workers进程能够在不影响用户界面的情况下处理任务,并且,它还可以使用XMLHttpRequest来处理I/O,无论responseXML和channel属性是否为null。
您正在阅读的是《Google将在HTML 5中构建Native Client》
【编辑推荐】