前一篇博文谈了对张院士透明计算的一些想法。后来,受到评论的启发,找到了英特尔的一个网页: link 。 这个网页介绍了了一种基于HTML5的透明计算的 实现 -- freedom engine: The tool is Freedom-Engine, a solution that frees developers from all obstacles to transparent computing, allowing them to write once and target both mobile and PC devices, including the latest Ultrabook features. Code in the Cloud – no development kits or APIs to install Full HTML5 Support – graphics, audio, input, devices, WebGL, Box2D Deploy to all platforms – HTML5 browsers + Native mobiles, tablets desktop Write Once – input and resolution agnostic commands eliminate porting pain Free To Use – develop, test and distribute your apps, you keep all revenues. 其透明计算的概念跟张院士大致相同,但是实现的技术迥异。计算应用保存在服务器(云端)的概念相同 -- code in the cloud;计算应用运行在各种终端的概念也相同 -- deploy to all platforms。具体实现方面的不同包括:freedom engine的计算应用是基于网络浏览器的 -- 现在主要支持firefox和chrome,这些网络浏览器对应了张院士透明计算概念中的操作系统(被作为计算应用的一部分);freedom engine的计算应用需要重新开发 -- 使用HTML5和freedom engine提供的API,而张院士透明计算的目标之一是重用(reuse)各操作系统上已存在的计算应用(这也是将操作系统当作计算应用一部分的动机)。 freedom engine的开发环境在云端,程序本身和所需的资源保存在云端,编译在云端,最后生成的应用也在云端。英特尔提供了这个开发环境的演示: link (点击之后需要点击忽略安全证书错误;另外还需要webGL插件)。考虑到国内的网络访问这个链接会有问题,我把Hello Universe的例子截屏了下来: 中间的窗口里是代码,右上角是图形显示窗口(图片中正在显示“Hello Universe”,背景是一个旋转的星空图),右下角是系统提示信息(现在显示的是代码编译过程中的提示信息,包括背景星空图的文件名)。另外值得一提的是,这个开发环境本身也是freedom engine的一个计算应用。截图中的开发环境运行在chrome上,chrome运行在一台windows8.1的台式机上。 按照透明计算的概念,截图中开发环境也应该能运行在任何一个能运行chrome的设备上,但现实是骨感的。我在自己的ipad和android手机上(华为mate2)都做了测试:打开chrome,输入https://freedom-engine.com/ide.php。测试显示,webGL没有被打开。于是我搜索”how to enable webGL in chrome“。根据网络上提供的信息,我打开了android chrome上的webGL,重新输入网址,没有提示缺少webGL,但是进程卡在了”load freedom engine“这一步上;iOS上的chrome暂时还不支持webGL,但是据说Safari支持,于是我测试了Safari,结果却显示缺少webGL支持。至此, 测试的 结果是都失败了 。 在寻找更多关于freedom engine的资料时发现,这个测试版的工具已经被冻结了(在这个网站宣布:http://www.freedom-engine.com/)。原因不明。不过,英特尔没有放弃透明计算的努力,他们又推出了Intel XDK: link 。这个工具的目标跟freedom engine一脉相承: The Intel® XDK provides a comprehensive cross-platform development environment for building hybrid HTML5 apps for mobile phone and tablet devices. HTML5 apps are not limited to smart web pages viewed in a browser, you can also package your HTML5 code and deploy it directly on a mobile device as a locally installed hybrid mobile app . This enables the use of the same distribution and monetization channels as for native mobile apps, in addition to the same app installation and launch experience. 我计划下一步测试这个工具。