据国外媒体报道,苹果正在开发一种代替Flash的技术--Gianduia,一种为富网络应用而设计的基于客户端侧的标准框架。苹果已用该技术创建了高质量的在线应用为其AppleStore的零售顾客服务。
苹果在去年夏天的WOWODC(WorldofWebObjectsDeveloperConference,全球网页对象开发者大会,一个独立于WWDC的活动)上***推出Gianduia。
Gianduia,它的名字来源是意大利的一种榛仁巧克力,“本质上它是浏览器端的Cocoa(包含CoreData)加上WebObjects,不过用的是JavaScript语言”,开发者乔纳森·沃夫·伦屈(JonathanWolfRentzsch)在其twitter上写道,“大吃一惊吧”。
沃夫·伦屈在去年的WOWODC上观看了苹果的保密演示之后,tweet道:Gianduia让它们完蛋了,Cappuccino、SproutCore和JavascriptMVC遇到了真正的对手,毫不玩笑地说。
使用Web标准创建富应用程序的多种框架
SproutCore是苹果创建MobileMe网页应用所采用的JavaScript框架。Cappuccino是另一种第三方JavaScript框架,它的工作原理与Cocoa针对网页应用的API类似,280Slides是采用该框架搭建,这个网页应用提供了苹果的Keynote桌面应用的主要功能。JavascriptMVC也是一个独立的开源项目,完全依靠JavaScript即可开发基于Web的富应用程序。
与Cappuccino(卡布奇诺)一样,Gianduia也用了一个灵感来自Cocoa(可可)的名字(而Cocoa这个名字本身的灵感是来自Java的启发),苹果希望它提供一种渠道,让Cocoa开发者们能够将他们的熟练技能用于开发基于Web标准的富在线应用,并且无需使用私有的Web插件,比如Flash或Silverlight。
事实上在过去几个月里,苹果零售店已经在使用Gianduia创建网页应用客户端,用于公司的多种基于网页对象的服务,包括One-to-One培训、iPhone预定系统、私人购物和GeniusBar预约服务(见下图)。
Adobe AIR耗尽
尽管Adobe Flash曾经被看作是支持动画、交互、视频播放和富网页应用开发必不可少的工具,但如今多种更先进的工具已将这一插件平台冲击的支离破碎,它们提供了更好的性能表现和安全性,并且抛弃了Adobe曾信仰的提供跨平台的工具,专注于为网页的未来提供优秀的单一功能。
视频:三年前,苹果促使Google的YouTube服务支持iPhone和AppleTV直接下载H.264视频,而不是Flash包裹着的H.263/SorensonSpark视频文件,后者是Google在2005年底采用的视频标准。这引起了一波向H.264视频编码转换的浪潮,越来越多的视频服务商加入了这一行列,包括Brighcove、Vimeo、ABC、CBS和Ooyala,不支持Flash的设备也可以播放这些视频。
动画和交互:尽管Flash和Silverlight等插件在网页的嵌入空间绘制图像的能力在标准的HTML上几乎难以实现,但HTML5现在已经提供先进的Canvas(画布)功能,它能够直接在HTML内支持网页游戏及其他复杂的图像效果。这意味着视频和图像已经直接作为网页的文件对象模型(DOM)的一部分而存在,并且它拥有动画效果、可操作交互,其层叠样式表(CSS)的风格变化有缩放、旋转、在页面内移动对象,或者将他们弯曲至三维平面。而Flash对象在其装置环境中是不能变化的,也不能轻易地与页面的其他部分,或其他的Flash对象相整合和联系。
富应用:Adobe对富网络应用的解决方案是,让Flash扩展成为一个应用框架,提供一种“一次编程,多平台运行”的解决方案,与升阳(Sun)的客户端侧Java类似。微软的Silverlight也采用类似的方案,一次编程即可在网页和未来的智能手机平台上运行。作为对比,苹果对JavaScript框架的信任意味着使用SproutCore或Gianduia编写的富网络应用,或使用两者其一的轻量级框架为iPhone(PastryKit)和iPad(AdLib)创建的原生外观的交互媒体,以及为iTunes或AppleTV(TuneKit)创建的交互内容,都无需使用任何苹果私有的插件即可工作。
性能:此外,随着浏览器供应商们不断提升和优化各自的JavaScript性能(苹果、Google、Mozilla和Opera都在这么做),这些富应用将会在多个浏览器平台上运行的越来越流畅。反而那些为Flash或Silverlight设计的内容要取决于Adobe或微软能否及时地交付插件更新,以及他们是否有兴趣支持多个候选平台。HTML 5现在已经交付了可以与Flash相匹敌的性能,但Flash在早在5年之前就已经开始提升和优化其性能。
安全性:JavaScript框架的另一个优势是,它使用浏览器自有的JavaScript引擎,其代码可以完全公开地用于安全问题检查,并且非常易于理解和操作。而那些由Adobe或微软开发的网页插件,由于其代码私有且不断变化,这带来了极大的潜在安全缺陷,并且这些公司之外的人难以对其进行安全评估。在CanSecWest安全大会上,安全专家查理·米勒(CharlieMiller)被问到“哪一家的浏览器是最安全的?”,他的回答是:各家浏览器之间的(安全性)差异可能并不足以大到让人生气,但最关键的是不要安装Flash。
【编辑推荐】