苹果开发 Flash 替代技术 Gianduia

【本文译自:AppleInsider.com ,原文链接

Adobe Flash 和微软的 Silverlight 都是基于 HTML 网页的平台插件,而苹果使用的是 Gianduia ,一种为富网络应用而设计的基于客户端侧的标准框架。苹果已用该技术创建了高质量的在线应用为其 Apple Store 的零售顾客服务。

苹果在去年夏天的 WOWODC(World of WebObjects Developer Conference ,全球网页对象开发者大会,一个独立于 WWDC 的活动)上首次推出 Gianduia 。

Gianduia ,它的名字来源是意大利的一种榛仁巧克力,「本质上它是浏览器端的 Cocoa(包含 CoreData) 加上 WebObjects ,不过用的是 JavaScript 语言」开发者乔纳森·沃夫·伦屈(Jonathan Wolf Rentzsch) 在其 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 预定系统、私人购物和 Genius Bar 预约服务(见下图)。

Gianduia.001

Adobe AIR 耗尽

尽管 Adobe Flash 曾经被看作是支持动画、交互、视频播放和富网页应用开发必不可少的工具,但如今多种更先进的工具已将这一插件平台冲击的支离破碎,它们提供了更好的性能表现和安全性,并且抛弃了Adobe 曾信仰的提供跨平台的工具,专注于为网页的未来提供优秀的单一功能。

视频:三年前,苹果促使 Google 的 YouTube 服务支持 iPhone 和 Apple TV 直接下载 H.264 视频,而不是 Flash 包裹着的 H.263/Sorenson Spark 视频文件,后者是Google 在 2005 年底采用的视频标准。这引起了一波向 H.264 视频编码转换的浪潮,越来越多的视频服务商加入了这一行列,包括 Brighcove 、Vimeo 、ABC 、CBS 和 Ooyala ,不支持 Flash 的设备也可以播放这些视频。

动画和交互: 尽管 Flash 和 Silverlight 等插件在网页的嵌入空间绘制图像的能力在标准的 HTML 上几乎难以实现,但 HTML5 现在已经提供先进的 Canvas(画布)功能,它能够直接在 HTML 内支持网页游戏及其他复杂的图像效果。这意味着视频和图像已经直接作为网页的文件对象模型(DOM)的一部分而存在,并且它拥有动画效果、可操作交互,其层叠样式表(CSS)的风格变化有缩放、旋转、在页面内移动对象,或者将他们弯曲至三维平面。而 Flash 对象在其装置环境中是不能变化的,也不能轻易地与页面的其他部分,或其他的 Flash 对象相整合和联系。

下面是若干 HTML5 动画及交互效果演示:

Morphing Cube Poster Circle 3D Transforms Interactive 3D Cube Interactive 3D Boxes
富应用:Adobe 对富网络应用的解决方案是,让 Flash 扩展成为一个应用框架,提供一种「一次编程,多平台运行」的解决方案,与升阳(Sun)的客户端侧 Java 类似。微软的 Silverlight 也采用类似的方案,一次编程即可在网页和未来的智能手机平台上运行。作为对比,苹果对 JavaScript 框架的信任意味着使用 SproutCore 或 Gianduia 编写的富网络应用,或使用两者其一的轻量级框架为 iPhone (PastryKit) 和 iPad (AdLib) 创建的原生外观的交互媒体,以及为 iTunes 或 Apple TV (TuneKit) 创建的交互内容,都无需使用任何苹果私有的插件即可工作。

性能:此外,随着浏览器供应商们不断提升和优化各自的 JavaScript 性能(苹果、Google、 Mozilla 和 Opera 都在这么做),这些富应用将会在多个浏览器平台上运行的越来越流畅。反而那些为 Flash 或 Silverlight 设计的内容要取决于 Adobe 或微软能否及时地交付插件更新,以及他们是否有兴趣支持多个候选平台。HTML5 现在已经交付了可以与 Flash 相匹敌的性能,但 Flash 在早在 5 年之前就已经开始提升和优化其性能。

安全性:JavaScript 框架的另一个优势是,它使用浏览器自有的 JavaScript 引擎,其代码可以完全公开地用于安全问题检查,并且非常易于理解和操作。而那些由 Adobe 或微软开发的网页插件, 由于其代码私有且不断变化,这带来了极大的潜在安全缺陷,并且这些公司之外的人难以对其进行安全评估。在 CanSecWest 安全大会上,安全专家查理·米勒(Charlie Miller)被问到「哪一家的浏览器是最安全的?」,他的回答是:「各家浏览器之间的(安全性)差异可能并不足以大到让人生气,但最关键的是不要安装 Flash」。