2009年1月4日星期日
2008年富Internet应用(RIA)快速成长 zz
RIA(富Internet应用)从来不曾是多么重量级的东西,几年前,开发者企图创建一种超越常规的Web体验时,比如仪表盘或一些特殊效果,他们已经有一些初步的工具可用,那些构成AJAX的技术,以及基于Flash的方案已经初露锋芒。如今,Flash成了Adobe的一部分,AJAX无处不在,微软和SUN也竞相加入,RIA成为主流。作为 RIA 的轻量级组成部分,众多开源库变得炙手可热,Dojo, Ext, Google Web Toolkit, jQuery, MooTools, Prototype/Scriptaculous, 以及 Yahoo User Interface 成为程序员为网页添加奇幻效果的理想工具。 " 除了开源工具,一些商业AJAX框架,如Backbase, Bindows, JackBe, 以及 Tibco General Interface 也出现在人们的视野。不过,在众多优秀的开源替代品面前,所谓的企业AJAX方案是否有存在的必要?尽管商业框架有更好的技术支持,文档与灵活性,然而这些正变得越来越不重要。
随着开源项目的逼近,商业产品在 AJAX 的背后发现了他们的立基市场,比如,JackBe 已经演变成一个连接 HTML, RSS, Web 服务,SQL 调用的企业融合平台,而 Backbase 进入服务端,并增加了对离线 RIAs 的支持,同时,为 Java 用户推出他们的一个 Ajax 框架的 Java 版本。而 Laszlo Systems,作为开源 RIA 平台的领头羊,正将他们的注意力集中在为商业用户提供 Web 2.0 桌面方案。
其它厂商从服务器端进入 AJAX: Nexaweb Enterprise Web 2.0 Suite 曾是基于 Java 的 CS 应用程序的平台商,现在也未 AJAX 和 Java 客户提供后台数据。WaveMaker 曾是 LAMP 平台的快速 Web 程序设计系统,现在是 Java 平台的快速 Web 程序创建系统,让新入门的开发者轻易实现 J2EE 应用的创建。
更复杂的 RIA 方案也纷纷向 AJAX 示好。RIA 的宿将 Curl 曾获得2008年 InfoWorld RIA 平台年度产品奖,在 2008 年的 6.0 版本中改进了同 AJAX 的交互性。除了允许 Curl applet 嵌入 AJAX 页,新版本还增加了皮肤控制以及图形改进,如反锯齿,部分透明,以及渲染旋转图片的能力。
Curl 6.0 是一个企业级 RIA 平台,包含高质量图形,复杂效果,简单的定制功能,以及在 Windows, Mac, Linux 客户端中出色的性能。Curl 甚至通过一个叫做 Nitro 的扩展增加了对离线的支持。难怪在 Adobe 与 Microsoft 的狂热氛围中,Curl仍吸引了这么多人的目光。
2007年秋季微软的 Silverlight 推出时,已经拥有出色的开发与设计工具,并已经高调部署到 MLB.com。2008年秋季推出的 Silverlight 2 在性能上有了长足长进,同时对 .NET 提供完全支持,2008年北京奥运会也成了 Silverlight 一试身手的重量级舞台。
2008 年 Adobe 携多个 RIA 产品华丽转身。Flex Builder 3.0 推出实时图表,数据绑定向导,Web 服务,application profiling,Adobe CS3 扩展等功能功能。然而 Adobe 最大动作要数 AIR 平台的推出,这个直接在桌面创建富Web应用的平台不需要浏览器到支持,最新的 1.5 版增强了商业用例,提供数据库加密以及更多改进。
在 2008年即将结束之际,SUN 推出了 JavaFX,一个被期待已久的 RIA 平台。早在8月份,其 SDK 预览在 InfoWorld 的评测中就以强大的数据绑定,页面布局饰件,动画,输入设备监听,矢量对象,透明,2-D关键帧动画等功能让人为之惊叹。SUN 还将通过为 Adobe Illustrator 与 Photoshop 提供插件而实现在设计与开发之间的连接。
随着开源项目的逼近,商业产品在 AJAX 的背后发现了他们的立基市场,比如,JackBe 已经演变成一个连接 HTML, RSS, Web 服务,SQL 调用的企业融合平台,而 Backbase 进入服务端,并增加了对离线 RIAs 的支持,同时,为 Java 用户推出他们的一个 Ajax 框架的 Java 版本。而 Laszlo Systems,作为开源 RIA 平台的领头羊,正将他们的注意力集中在为商业用户提供 Web 2.0 桌面方案。
其它厂商从服务器端进入 AJAX: Nexaweb Enterprise Web 2.0 Suite 曾是基于 Java 的 CS 应用程序的平台商,现在也未 AJAX 和 Java 客户提供后台数据。WaveMaker 曾是 LAMP 平台的快速 Web 程序设计系统,现在是 Java 平台的快速 Web 程序创建系统,让新入门的开发者轻易实现 J2EE 应用的创建。
更复杂的 RIA 方案也纷纷向 AJAX 示好。RIA 的宿将 Curl 曾获得2008年 InfoWorld RIA 平台年度产品奖,在 2008 年的 6.0 版本中改进了同 AJAX 的交互性。除了允许 Curl applet 嵌入 AJAX 页,新版本还增加了皮肤控制以及图形改进,如反锯齿,部分透明,以及渲染旋转图片的能力。
Curl 6.0 是一个企业级 RIA 平台,包含高质量图形,复杂效果,简单的定制功能,以及在 Windows, Mac, Linux 客户端中出色的性能。Curl 甚至通过一个叫做 Nitro 的扩展增加了对离线的支持。难怪在 Adobe 与 Microsoft 的狂热氛围中,Curl仍吸引了这么多人的目光。
2007年秋季微软的 Silverlight 推出时,已经拥有出色的开发与设计工具,并已经高调部署到 MLB.com。2008年秋季推出的 Silverlight 2 在性能上有了长足长进,同时对 .NET 提供完全支持,2008年北京奥运会也成了 Silverlight 一试身手的重量级舞台。
2008 年 Adobe 携多个 RIA 产品华丽转身。Flex Builder 3.0 推出实时图表,数据绑定向导,Web 服务,application profiling,Adobe CS3 扩展等功能功能。然而 Adobe 最大动作要数 AIR 平台的推出,这个直接在桌面创建富Web应用的平台不需要浏览器到支持,最新的 1.5 版增强了商业用例,提供数据库加密以及更多改进。
在 2008年即将结束之际,SUN 推出了 JavaFX,一个被期待已久的 RIA 平台。早在8月份,其 SDK 预览在 InfoWorld 的评测中就以强大的数据绑定,页面布局饰件,动画,输入设备监听,矢量对象,透明,2-D关键帧动画等功能让人为之惊叹。SUN 还将通过为 Adobe Illustrator 与 Photoshop 提供插件而实现在设计与开发之间的连接。
标签: RIA
2008年11月12日星期三
RIA平台
什么是RIA?
RIA(Rich Interface Applications)富界面应用,俗称胖客户端.
RIA的优势
RIA 具有的桌面应用程序的特点包括:在消息确认和格式编排方面提供互动用户界面;在无刷新页面之下提供快捷的界面响应时间;提供通用的用户界面特性如拖放式 (drag and drop)以及在线和离线操作能力。RIA具有的Web应用程序的特点包括如:立即部署、跨平台、采用逐步下载来检索内容和数据以及可以充分利用被广泛采 纳的互联网标准。RIA具有通信的特点则包括实时互动的声音和图像。
客户机在RIA中的作用不仅是展示页面,它可以在幕后与用户请求异步地进行计算、传送和检索数据、显示集成的用户界面和综合使用声音和图像,这一切都可以在不依靠客户机连接的服务器或后端的情况下进行。
对于企业来说,部署RIA的好处在于:
1)RIA可以继续使用现有的应用程序模型(包括J2EE和.NET),因而无需大规模替换现有的Web应用程序。通过Rich Client技术,可以轻松构建更为直观、易于使用、反应更迅速并且可以脱机使用的应用程序。
2)RIA可以帮助企业提供多元化的重要业务效益,包括产提高销量、提高品牌忠诚度、延长网站逗留时间、较频繁的重复访问、减少带宽成本、减少支持求助以及增强客户关系等。
发展态势
在过去的两到三年中,Web开发人员一直是想构建一种比传统HTML更 丰富的客户端:这是一个用户接口,它比用HTML能实现的接口更加健壮、反应更加灵敏和更具有令人感兴趣的可视化特性。RIA技术的出现允许我们在因特网 上以一种像使用Web一样简单的方式来部署富客户端程序。无论将来RIA是否能够如人们所猜测的那样完全代替HTML应用系统,对于那些采用C/S架构的 胖客户端技术运行复杂应用系统的机构和采用基于B/S架构的瘦客户端技术部署Web应用系统地机构来说,RIA确实提供了一种廉价的选择。
下面介绍一下目 前出现的几种比较有实力或者有特点的RIA客户端开发技术:
1) Macromedia Flash/Flex
Flash 从6.0开始Flash就逐步具备建立窗体风格的应用程序的功能。据Macromedia称已经有98%以上的桌面系统的浏览器都安装了 Macromedia Flash Player。这使得以Macromedia Flash Player为客户端的RIA可以支持种类广泛的平台和设备。
Flex是为满足希望开发 RIA的企业级程序员的需求而推出的表示服务器和应用程序框架,它可以运行于J2EE和.NET平台。Flex表示服务器提供基于标准的、声明性的编程方 法和流程,并提供运行时服务,用于开发和部署丰富客户端应用程序的表示层。Flex开发者使用直观的基于XML的MXML来定义丰富的用户界面。该语言由 Flex服务器翻译成SWF格式的客户端应用程序,在Flash Player中运行。
2) Laszlo
Laszlo 是一个开源的RIA开发环境。使用Laszlo平台时,开发者只需编写名为LZX的描述语言(其中整合了XML和Javascript),运行在J2EE 应用服务器上的Laszlo平台会将其编译成SWF格式的文件并传输给客户端展示。从这点上来说,Laszlo的本质和Flex是一样的。Flash是任 何浏览器都支持的展示形式,从而一举解决了浏览器之间的移植问题。而且,在未来的计划中,Laszlo还可以将LZX编译成Java或.NET本地代码, 从而大大提高运行效率。
3) Avalon
Microsoft的 Avalon是下一版本的 Windows(代号"Longhorn")的一部分,是一个图形和展示引擎,主要由新加到.NET框架中的一组类集合而成。Avalon定义了一个在 Longhorn中使用的新标记语言,其代号为"XAML"(可扩展应用程序标记语言)。可以使用XAML来定义文本、图像和控件的布局,程序代码可以直 接嵌入到XAML中,也可以将它保留在一个单独的文件内。这与Flex中的MXML或者Laszlo中的LZX非常相似。不同的是:基于 Avalon的应用程序必须运行在Longhorn环境中,而Flex和Laszlo是不依赖于平台的,仅仅需要装有Flash播放器的浏览器即可。
4) Java SWT
Java 已经出现几年了,并且完全支持创建基于窗体的用户界面。除了Java基 础类(JFC/Swing)中的用户界面组件之外,开发人员还可以使用来自于 Eclipse Project的SWT工具箱和许多第三方工具箱进行开发。对于图形来说,可以采用Java 2D API:一个非常完整且非常复杂的图形API。你可以通过一个Web浏览器使用Java插件软件,或使用Java运行时环境中较新的Java Web Start技术来部署应用程序。使用Java建立Rich Client的主要缺陷是它的复杂性(即使对简单的窗体和图形也要求编写非常烦琐的代码)和Java浏览器插件的低市场占有率。
5) XUL
XUL (念作"zool")是一种基于XML的用户界面语言,它来自于Mozilla的开放源码项目。它可用于建立窗体应用程序,这些应用程序不但可以在 Mozilla浏览器上运行,而且也可以运行在其他描述引擎上,如Zulu(一个Flash MX组件)和Thinleys(一个Java实现)。XUL描述引擎都非常小(100K以下),它可以使用XML数据也可以生成XML数据。XUL的一个 主要缺点在于它目前还没有获得一个主要商业实体的支持。XUL最大的优点在于它与Gecko引擎的集成(打开了通向大量Web标准的大门),以及与大多数 其它XML用户界面描述语言相比它是一种非常具有表达力和简洁的语言。
6) Bindows
Bindow 是用Javascript和DHTML开发的Web窗体框架。Javascript用于客户端界面的显示和处理,XML HTTP用于客户端与服务器的信息传输。Javascript在客户端的表现力不容置疑,利用Javascript几乎可以实现Windows应用程序所能干的大部分事情,XMLHTTP 一直以来常被用于实现"无刷新"的Web页面,它和 Javascript配 合,可以完成数据从服务器和客户端的传输。Bindows的一个主要的缺点是它采用一次全部载入的方式来实现脚本库,在窗口的加载期,需要一个漫长的等待 过程,甚至浏览器的进程会产生无响应的情况。这点Bindows根本没有遵循"用多少去多少"的准则。另外,内部大量利用了IE6 的技术,没有考虑到非IE的浏览器,限制了Bindows的流行。编辑本段RIA未来的发展预测
就目前RIA的使用情况来说,离"RIA时代"还有很远的一段距离。今后几年时间内传统的Web应用程序和RIA将会共存。笔者认为真正具有实力担当起 普及丰富客户端应用重任的只有基于Flash Player的Flash/Flex应用程序和Microsoft的基于Avalon的应用程序。短期时间内(估计2-3年时间)可能是 Flash/Flex应用程序在新兴的网络应用程序市场上占有主导地位。随着时间的推移,Flash/Flex应用程序的市场占有率可能会慢慢被基于 Avalon的应用程序所蚕食。当然,Flash Player和Flex以后也会不断推出新版本,相对于升级操作系统或安装Avalon运行环境,人们肯定更愿意升级Flash Player。Flash/Flex应用程序也有其本身固有的软肋,Flash Player的执行效率和对本地资源的操作限制是无法和Avalon相比的,相对于浏览器中的插件而言,Avalon的应用程序拥有更加广阔的可操作空间 和更高的执行效率。
目前Microsoft还在推广一种叫做Smart Client(智能客户端)的客户端程序技术,Microsoft称Smart Client是比Rich Client更优秀的客户端,因而采用Smart Client的应用程序算不算RIA目前我个人还无法作答。这里我们之所以提及Smart Client,是因为Smart Client的特性跟我们谈的Rich Client有太多的相似之处。Smart Client拥有自动更新、离线状态下的数据处理和可以使用本地资源等特征,其中的可使用本地资源这一项无疑是一大卖点,因为浏览器中的 Flash/Flex应用程序目前还无法操作本地的一些资源,比如Flash/Flex应用程序无法将网上的文件保存到本地或者修改本地文件。虽然 Macromedia的Central1.5已经可以对本地文件进行简单的操作,并且flex1.5开发的RIA也能够运行于Central上,但是如何使Central能够得到大范围推广还是个问题。相对于轻量级的Rich Client,Smart Client更接近C/S架构中的客户端程序。Rich Client和Smart Client的定位还是有所区别的:Rich Client更适合作为轻量级的基于浏览器的网络应用程序客户端;Smart Client更适合作为Windows桌面应用程序的智能客户端。
不管我们今天称之为的RIA今后会不会成为主流应用程序,人们对开发具有高度互动性、丰富用户 体验以及功能强大的客户端的追求是不变的。有理由相信,拥有成熟技术和极高市场占有率的Flash客户端将会在RIA道路上越走越远。Microsoft 未来的重量级武器:Avalon和Smart Client能否后来者居上让我们拭目以待。
RIA(Rich Interface Applications)富界面应用,俗称胖客户端.
RIA的优势
RIA 具有的桌面应用程序的特点包括:在消息确认和格式编排方面提供互动用户界面;在无刷新页面之下提供快捷的界面响应时间;提供通用的用户界面特性如拖放式 (drag and drop)以及在线和离线操作能力。RIA具有的Web应用程序的特点包括如:立即部署、跨平台、采用逐步下载来检索内容和数据以及可以充分利用被广泛采 纳的互联网标准。RIA具有通信的特点则包括实时互动的声音和图像。
客户机在RIA中的作用不仅是展示页面,它可以在幕后与用户请求异步地进行计算、传送和检索数据、显示集成的用户界面和综合使用声音和图像,这一切都可以在不依靠客户机连接的服务器或后端的情况下进行。
对于企业来说,部署RIA的好处在于:
1)RIA可以继续使用现有的应用程序模型(包括J2EE和.NET),因而无需大规模替换现有的Web应用程序。通过Rich Client技术,可以轻松构建更为直观、易于使用、反应更迅速并且可以脱机使用的应用程序。
2)RIA可以帮助企业提供多元化的重要业务效益,包括产提高销量、提高品牌忠诚度、延长网站逗留时间、较频繁的重复访问、减少带宽成本、减少支持求助以及增强客户关系等。
发展态势
在过去的两到三年中,Web开发人员一直是想构建一种比传统HTML更 丰富的客户端:这是一个用户接口,它比用HTML能实现的接口更加健壮、反应更加灵敏和更具有令人感兴趣的可视化特性。RIA技术的出现允许我们在因特网 上以一种像使用Web一样简单的方式来部署富客户端程序。无论将来RIA是否能够如人们所猜测的那样完全代替HTML应用系统,对于那些采用C/S架构的 胖客户端技术运行复杂应用系统的机构和采用基于B/S架构的瘦客户端技术部署Web应用系统地机构来说,RIA确实提供了一种廉价的选择。
下面介绍一下目 前出现的几种比较有实力或者有特点的RIA客户端开发技术:
1) Macromedia Flash/Flex
Flash 从6.0开始Flash就逐步具备建立窗体风格的应用程序的功能。据Macromedia称已经有98%以上的桌面系统的浏览器都安装了 Macromedia Flash Player。这使得以Macromedia Flash Player为客户端的RIA可以支持种类广泛的平台和设备。
Flex是为满足希望开发 RIA的企业级程序员的需求而推出的表示服务器和应用程序框架,它可以运行于J2EE和.NET平台。Flex表示服务器提供基于标准的、声明性的编程方 法和流程,并提供运行时服务,用于开发和部署丰富客户端应用程序的表示层。Flex开发者使用直观的基于XML的MXML来定义丰富的用户界面。该语言由 Flex服务器翻译成SWF格式的客户端应用程序,在Flash Player中运行。
2) Laszlo
Laszlo 是一个开源的RIA开发环境。使用Laszlo平台时,开发者只需编写名为LZX的描述语言(其中整合了XML和Javascript),运行在J2EE 应用服务器上的Laszlo平台会将其编译成SWF格式的文件并传输给客户端展示。从这点上来说,Laszlo的本质和Flex是一样的。Flash是任 何浏览器都支持的展示形式,从而一举解决了浏览器之间的移植问题。而且,在未来的计划中,Laszlo还可以将LZX编译成Java或.NET本地代码, 从而大大提高运行效率。
3) Avalon
Microsoft的 Avalon是下一版本的 Windows(代号"Longhorn")的一部分,是一个图形和展示引擎,主要由新加到.NET框架中的一组类集合而成。Avalon定义了一个在 Longhorn中使用的新标记语言,其代号为"XAML"(可扩展应用程序标记语言)。可以使用XAML来定义文本、图像和控件的布局,程序代码可以直 接嵌入到XAML中,也可以将它保留在一个单独的文件内。这与Flex中的MXML或者Laszlo中的LZX非常相似。不同的是:基于 Avalon的应用程序必须运行在Longhorn环境中,而Flex和Laszlo是不依赖于平台的,仅仅需要装有Flash播放器的浏览器即可。
4) Java SWT
Java 已经出现几年了,并且完全支持创建基于窗体的用户界面。除了Java基 础类(JFC/Swing)中的用户界面组件之外,开发人员还可以使用来自于 Eclipse Project的SWT工具箱和许多第三方工具箱进行开发。对于图形来说,可以采用Java 2D API:一个非常完整且非常复杂的图形API。你可以通过一个Web浏览器使用Java插件软件,或使用Java运行时环境中较新的Java Web Start技术来部署应用程序。使用Java建立Rich Client的主要缺陷是它的复杂性(即使对简单的窗体和图形也要求编写非常烦琐的代码)和Java浏览器插件的低市场占有率。
5) XUL
XUL (念作"zool")是一种基于XML的用户界面语言,它来自于Mozilla的开放源码项目。它可用于建立窗体应用程序,这些应用程序不但可以在 Mozilla浏览器上运行,而且也可以运行在其他描述引擎上,如Zulu(一个Flash MX组件)和Thinleys(一个Java实现)。XUL描述引擎都非常小(100K以下),它可以使用XML数据也可以生成XML数据。XUL的一个 主要缺点在于它目前还没有获得一个主要商业实体的支持。XUL最大的优点在于它与Gecko引擎的集成(打开了通向大量Web标准的大门),以及与大多数 其它XML用户界面描述语言相比它是一种非常具有表达力和简洁的语言。
6) Bindows
Bindow 是用Javascript和DHTML开发的Web窗体框架。Javascript用于客户端界面的显示和处理,XML HTTP用于客户端与服务器的信息传输。Javascript在客户端的表现力不容置疑,利用Javascript几乎可以实现Windows应用程序所能干的大部分事情,XMLHTTP 一直以来常被用于实现"无刷新"的Web页面,它和 Javascript配 合,可以完成数据从服务器和客户端的传输。Bindows的一个主要的缺点是它采用一次全部载入的方式来实现脚本库,在窗口的加载期,需要一个漫长的等待 过程,甚至浏览器的进程会产生无响应的情况。这点Bindows根本没有遵循"用多少去多少"的准则。另外,内部大量利用了IE6 的技术,没有考虑到非IE的浏览器,限制了Bindows的流行。编辑本段RIA未来的发展预测
就目前RIA的使用情况来说,离"RIA时代"还有很远的一段距离。今后几年时间内传统的Web应用程序和RIA将会共存。笔者认为真正具有实力担当起 普及丰富客户端应用重任的只有基于Flash Player的Flash/Flex应用程序和Microsoft的基于Avalon的应用程序。短期时间内(估计2-3年时间)可能是 Flash/Flex应用程序在新兴的网络应用程序市场上占有主导地位。随着时间的推移,Flash/Flex应用程序的市场占有率可能会慢慢被基于 Avalon的应用程序所蚕食。当然,Flash Player和Flex以后也会不断推出新版本,相对于升级操作系统或安装Avalon运行环境,人们肯定更愿意升级Flash Player。Flash/Flex应用程序也有其本身固有的软肋,Flash Player的执行效率和对本地资源的操作限制是无法和Avalon相比的,相对于浏览器中的插件而言,Avalon的应用程序拥有更加广阔的可操作空间 和更高的执行效率。
目前Microsoft还在推广一种叫做Smart Client(智能客户端)的客户端程序技术,Microsoft称Smart Client是比Rich Client更优秀的客户端,因而采用Smart Client的应用程序算不算RIA目前我个人还无法作答。这里我们之所以提及Smart Client,是因为Smart Client的特性跟我们谈的Rich Client有太多的相似之处。Smart Client拥有自动更新、离线状态下的数据处理和可以使用本地资源等特征,其中的可使用本地资源这一项无疑是一大卖点,因为浏览器中的 Flash/Flex应用程序目前还无法操作本地的一些资源,比如Flash/Flex应用程序无法将网上的文件保存到本地或者修改本地文件。虽然 Macromedia的Central1.5已经可以对本地文件进行简单的操作,并且flex1.5开发的RIA也能够运行于Central上,但是如何使Central能够得到大范围推广还是个问题。相对于轻量级的Rich Client,Smart Client更接近C/S架构中的客户端程序。Rich Client和Smart Client的定位还是有所区别的:Rich Client更适合作为轻量级的基于浏览器的网络应用程序客户端;Smart Client更适合作为Windows桌面应用程序的智能客户端。
不管我们今天称之为的RIA今后会不会成为主流应用程序,人们对开发具有高度互动性、丰富用户 体验以及功能强大的客户端的追求是不变的。有理由相信,拥有成熟技术和极高市场占有率的Flash客户端将会在RIA道路上越走越远。Microsoft 未来的重量级武器:Avalon和Smart Client能否后来者居上让我们拭目以待。
标签: RIA
订阅 博文 [Atom]