阿里云
发表主题 回复主题
  • 660阅读
  • 0回复

Cloudberry:面向移动设备的HTML5云手机平台

级别: 新人
发帖
10
云币
13





问题导读
1、你如何看待,Cloudberry系统转变在移动设备领域?
2、如何将应用作为Web应用开发?

Cloudberry:面向移动设备的HTML5云手机平台-


1.jpg (73.35 KB, 下载次数: 2)



下载附件

 保存到相册



2014-11-15 17:12 上传













图1.(a) Cloudberry2011桌面,带有四个激活但最小化到桌面的应用。(b)应用启动器/商店。商店推荐了三个“精选应用”。此外,用户可以从不同栏目或推荐列表中选择应用。

应用和用户界面举例


虽然云手机采用与传统移动设备不同的技术架构,但是站在用户角度,不会看到或感到与传统设备有任何不同。实际上,在我们最初的云手机设计首要目标之一,就是让传统手机用户立刻对云手机从外观和感觉上感到熟悉。为了加强用户这种感觉,在最初Cloudberry2010系统中,我们特意针对Nokia N900上所有对应的本地应用构建了类似应用。(我们当时也可以选择将一切设计得完全不同;Cloudberry能够兼容不同外观和感觉的主题,远远超越目前大多数移动设备上能够使用的。)在最近Cloudberry2011(以下大部分例子来源于这一版本)中,我们更广泛地利用了云所特有的能力。


图1展示了Cloudberry2011的两幅屏幕截图;在UI风格方面,这里使用了无限2D空间概念。图1a展现的桌面带有四个打开的应用程序:电话、时钟、图片浏览器和第三方HTML5 demo。驻留在无限2D空间中的应用能够自由浮动(这很难在一张静态截图中体现)。诸如视差等视觉效果加强了该空间的开放和无限的感觉。用户可以通过点击桌面上任何一个应用,将它转变为全屏模式。图2展现了一些全屏应用的例子。在图1b中,用户点击了屏幕底部的云标志以启动一个新应用。与传统静态应用启动器或网格不同的是,Cloudberry2011使用了一个动态的、服务器端生成的应用商店,该商店由若干精选应用、预置应用分类、热门列表,以及用户近期使用的应用列表组成。用户选择一个应用(实际上是一个链接)后,Cloudberry客户端下载并缓存这一应用;如果最近在这个设备上运行过该应用,则执行缓存中已有版本。在后一种情况下,系统会检查之前缓存的应用最近是否已在服务器端进行了升级;如果已有升级,则系统在后台“透明地”下载升级组件。虽然我们最初的应用集模仿了Nokia N900的本地应用,但我们最近构建了综合性混合应用,以多种方式使用Web上的可用资源,因此应用在外观和感觉上与任何现有本地应用都是无关的。大部分第三方HTML5应用同样无需修改就可以在Cloudberry中运行,尽管它们的UI布局在目标设备(Cloudberry)上并不总是最佳的。

首次使用云手机


云手机的中心思想是能够不费吹灰之力地跨设备使用应用和数据。为了在某个特定设备上使用Cloudberry,用户必须首先输入凭证来建立设备与他或她在云端的身份之间的联系。随后,顶层UI和已打开的应用(如果用户之前在其他设备上打开了任何应用)就可以在这个设备上使用了。用户身份认证在每个设备上只进行一次。首次登录后,设备将与这一特定用户保持关联,除非该用户明确断开他或她的身份关联并清除设备上的全部个人数据。

技术概述


从技术角度看,Cloudberry客户端栈(注:指一套完整的客户端组件)由若干组件构成:


成熟兼容WebKit的Web浏览器,并定制化以支持额外特性;

一系列可下载的顶层UI,允许动态变更设备的全部外观、感觉和顶层用户体验(早些时候,Cloudberry的全部顶层UI都是使用QMLQtQuick)语言3编写,以保持应用和周边的设备UI完全分离;但最近我们也开始使用HTML5来实现顶层UI);

一套实现了手机上全部典型核心应用的Web应用(应用具有自适应的UI布局,可以在不同尺寸、分辨率和朝向的设备上灵活应用;此外HTML5也能够支持离线使用和应用自动更新);

应用可以通过数据API将自己的数据透明地存储在云端,并与云端的数据存储进行自动同步(该API的目标是使数据存储尽可能无缝和透明;默认情况下,所有数据都会自动同步到云端,尽管如此,数据也可以被标记为本地);

应用可以使用一系列设备API实现设备相关的功能(例如,拨打电话、发送短信、读取GPS位置信息等等;在官方W3C设备API [www.w3.org/2009/dap]适用的领域,设备API基于该标准;而专有的API则被运用在标准尚未覆盖的领域);

基于域和许可的安全模型限制了设备相关功能(例如设备API)的使用,只有来自可信任域的应用能够调用它们;

底层进程模型使得来自不同域的应用程序能够运行在独立的本地系统进程中;
Cloudberry:面向移动设备的HTML5云手机平台-


1.jpg (76.06 KB, 下载次数: 2)



下载附件

 保存到相册



2014-11-15 17:13 上传










图2.部分全屏Cloudberry核心应用的截图:联系人列表、日历、图片库和地图应用。


WebKit浏览器近期版本中包括类似的能力,但我们在这个领域的工作早于WebKit2,并且针对在应用、Web域和渲染过程之间选择分界线提供了更多灵活性。安全存储的安全策略文件决定了设备和某特定Web域之间的信任等级。应用必须使用许可以明确请求访问标准浏览器所提供沙箱之外的特性。这个安全模型拓展了典型Web浏览器安全模型4。图3展示了Cloudberry系统的高层级架构图。事实上,在兼容标准浏览器之上进行构建,意味着第三方HTML5应用无需修改即可运行。除访问底层设备和平台能力外,Cloudberry核心应用与第三方Web内容间并没有硬性分割。由于Cloudberry中设备的全部功能都是动态下载,我们特别强调了安全性。目前我们在这一领域使用若干专有拓展,但我们期望其他业界成员能够关注这些主题,因为移动Web应
Cloudberry:面向移动设备的HTML5云手机平台-


1.jpg (64.51 KB, 下载次数: 2)



下载附件

 保存到相册



2014-11-15 17:13 上传










图3. Cloudberry系统的高层级架构图。云手机上,几乎所有面向客户的特性都是从网络上动态下载和缓存的。

评价和讨论


在我们最初的目标设备Nokia N900上,Cloudberry系统的性能最多只能被形容为“够用”而已。在这个项目期间,移动设备及其Web运行时的性能取得了显著增长,特别是新设备极大改进了用户体验。此外,JavaScript虚拟机性能地巨大提升也帮助了我们。总之我们快速接近了这样一种状态:对于构建完全围绕着基于Web用户体验的移动设备而言,Web引擎性能不再是阻碍。

架构验证


在讨论云手机概念的时候,我们常常遇到一种误解:云手机的概念与客户端设备的“瘦”是相关的。云计算在历史上曾经意味着使用瘦客户端——在这种方式下,大多数计算是在服务器端完成。因此大部分人在第一次听说Cloudberry系统时,都会假想一个大多数工作发生在云端的模型。在实践中,任何依赖HTML5应用模型的系统,特别是依赖其离线运行能力的系统实际上根本不是瘦客户端。尽管Web环境通过Node.js(http://nodejs.org)等类库为平衡客户端和服务器端之间的计算需求提供了灵活的机制,现实中大多数基于HTML5环境系统中的工作发生在客户端。Cloudberry系统使用的运行模型实际上与其他依赖于用沙箱封装虚拟机环境(例如Java ME5或Android)的移动软件平台有着惊人的相似性。从这方面来说,Cloudberry系统整体架构不需要任何特别的验证。Cloudberry与其他如JavaME或Android等系统相比的一项关键不同,是它能够以极快节奏更新应用及其组件,因为服务器端对应用的主拷贝及其组件的任何变更都会几乎立刻在全世界潜在的数百万客户端设备上体现出来。我们还没有测试过这些特性的可扩展性,但正在研究若干与系统安全性和整体可扩展性相关的主题。

剩余的问题和挑战


我们讨论了在早期工作6,7中将Web浏览器广泛作为软件平台的限制。大部分这样的限制同样适用于Cloudberry系统。如果必须挑出一项妨碍基于HTML5移动平台大规模部署的因素,我们认为应该是缺乏标准化。尽管在使Web成为有竞争力的应用平台过程中,HTML5和相关W3C标准活动扮演了关键角色,但目前兼容HTML5的Web浏览器提供的特性集对于现实中的应用而言仍是不完整的。


例如,在W3C对设备API定义中,仅提供对当前个人计算机和移动设备上的平台特性有限访问。要访问标准提供能力以外的设备和平台特性,仍然必须使用专有API。这些问题显著降低了应用的可移植性和云手机所提倡的整体价值。我们预测要建立比HTML5更完整的Web应用平台,必须进行新一轮大的标准化行动。标准化行动的一个关键目标将是更全面地将底层操作系统和设备能力虚拟化,并保证具有必要的安全机制来安全访问全部平台能力。顺便说一下,W3C已经开始研究下一代HTML了(www.w3.org/wiki/HTML/next)。


目前Cloudberry作为一个科研系统,还没有立即转化为产品的计划。尽管如此,项目中探索的许多理念已经找到了转化为商业产品的道路。我们相信向基于Web软件转变的趋势,将导致软件行业从传统二进制应用向动态交付Web应用的模式转变。未来传统二进制程序的用途将被主要限定在系统软件方面,而大量终端用户软件将使用Web技术开发。Cloudberry系统证明了这样一个转变在移动设备领域是可行的。





参考文献

T. Mikkonen and A. Taivalsaari, "Apps vs. Open Web: The Battle of the Decade", Proc. 2nd Workshop Software Eng. for Mobile Application Development (MSE 11), 2011;

I. Hickson, "HTML5: A Vocabulary and Associated APIs for HTML and XHTML," World Wide Web Consortium (W3C) Internet draft, work in progress, 2012.

R. Rischpater and D. Zucker, Beginning Nokia Apps Development: Qt and HTML5 for Symbian and MeeGo, APress, 2010.

M. Zalewski, Browser Security Handbook, Google, 2008.

R. Riggs et al., Programming Wireless Devices with the Java 2 Platform, 2nd ed., Addison- Wesley, 2003.

A. Taivalsaari et al., Web Browser as an Application Platform: The Lively Kernel Experience, tech. report TR-2008-175, Sun Microsystems Labs, 2008.

A. Taivalsaari and T. Mikkonen, "The Web as an Application Platform: The Saga Continues," Proc. 37th Euromicro Conf. Software Engineering and Advanced Applications (SEAA 11), IEEE CS, 2011, pp. 170-174.


关于作者

Antero Taivalsaari是一位就职于Nokia的杰出工程师。 他的研究方向是Web应用技术,特别是针对移动设备基于Web的软件开发。Taivalsaari拥有芬兰Jyväskylä大学计算机科学博士学位。联系方式:antero.taivalsaari@nokia.com。



Kari Systä拥有芬兰Tampere科技大学计算机学科博士学位,现已是该大学计算机科学教授。他的研究方向包括Java平台及JavaME。联系方式:kari.systa@tut.fi。





发表主题 回复主题
« 返回列表
«12345678910»
共10页
上一主题下一主题

限100 字节
如果您在写长篇帖子又不马上发表,建议存为草稿
 
验证问题: ECS是阿里云提供的什么服务? 正确答案:云服务器
上一个 下一个

      版权声明

      开发者论坛为你提供“Cloudberry:面向移动设备的HTML5云手机平台”的内容,论坛中还有更多关于 qmlwebkit2qtquickhtml5图片字透明html5图片缓存 的内容供你使用,该内容是网友上传,与开发者论坛无关,如果需要删除请联系zixun-group@service.aliyun.com,工作人员会在5个工作日内回复您。