使用框架构建富Internet应用程序

WebFX总统。Bill在互联网营销行业有超过25年的经验,专门从事SEO, UX,信息架构,营销自动化等。William在Shippensburg和MIT的科学计算和教育背景为cloudfx和WebFX的其他关键研究和开发项目的营销提供了基础。

使用框架构建富Internet应用程序

JavaScript库、ICEfaces、AdobeFlash4、Microsoft Silverlight以及现在的HTML5都在争夺网络主导地位,因为万维网进入了一个新时代——一个由富互联网应用程序(简称RIA)主导的时代。

本文的目的是定义什么是RIA,解释为什么web一直朝着RIA发展,探索当今存在的不同RIA框架,概述每个框架的优缺点,并讨论这些新技术在未来可能如何共存。

什么是RIA?

RIA,或富internet应用程序,是一种行为类似桌面应用程序的web应用程序。在ria出现之前,大多数web应用程序都是由静态页面组成的。

RIA是什么?SumoPaint是一款基于Flash的RIA,其功能类似于Photoshop等图形编辑器软件。

与桌面应用程序不同,与网页的任何交互通常会导致重新加载整个新页面。另一方面,桌面应用程序具有更好的用户交互性,因为所有处理都是在用户机器上本机完成的,从而产生更无缝的用户体验。

因此,软件开发人员开始问自己:“我的产品应该是桌面应用程序还是web应用程序?”

这一直是一个合理的问题,因为这两种类型的应用程序都有很强的优缺点。

桌面应用程序具有更平滑的用户交互性,但在软件发货时需要分发和处理软件更新。

另一方面,Web应用程序可以很容易地从Web访问,从而避免了与软件分发和更新相关的问题,但是非常缺乏用户交互性。

那么,我们怎样才能两全其美呢?

ria是两个世界的最佳选择。ria通过web分布,并且具有非常丰富的用户交互性。Ajax是一种web应用程序无需重新加载网页就可以用JavaScript发出服务器请求的方法,自Ajax出现以来,各种新技术纷纷涌现,加入RIA运动。

在这些技术中,有帮助开发人员构建和部署富互联网应用程序的框架,比如JavaScript库,冰盖、Adobe Flash 4(前身为Flex 3)、Microsoft Silverlight和HTML5。

让我们逐一谈谈这些RIA框架。

JavaScript库用于Web应用程序开发

JavaScript库像jQueryMootools是第一个真正帮助部署Slick和Interactive Rich Web应用程序的技术之一。它们为RIA应用程序提供了一个框架,可利用客户端脚本来处理前端接口功能。它们基本上是JavaScript文件,包括用于使用AJAX进行事物的有用,交叉浏览器测试功能的集合,并处理彼此隐藏和基于用户驱动事件的内容等常见用户交互。

今天的一些最受欢迎的人是jQuery(特别是用jQuery UI),Mootools,Yui(雅虎!用户界面库)和EXTJS。所有这些库包括RIA组件,如网格,图形和复杂的表单元素,以及用于处理AJAX的实用程序。最重要的是,最伟大的JavaScript图书馆用于Web开发是开源的。

如果您不想支付综合开发环境(IDE),但仍然希望您的网站上的伟大和专业的RIA功能仍然需要使用JavaScript库。

使用JavaScript库的网站包括谷歌,Digg, Yahoo, Amazon, Microsoft, Twitter和Best Buy。

冰盖

ICEfaces扩展了标准JavaServerFaces(JSF)框架,旨在通过从等式中删除JavaScript来简化程序员的工作流程。换句话说,ICEfaces通过JavaAPI处理web应用程序的所有JavaScript/Ajax。这大大简化了创建富internet应用程序的任务,消除了构建自定义JavaScript函数所带来的一些复杂性。

如果您的团队主要由Java开发人员组成,如果您的web应用程序不需要ICEfaces不提供的其他复杂组件,或者如果您的web应用程序是事件驱动. 如果您的应用程序是事件驱动的,请确保您了解ICEfaces不会提供HTML5、Flash Builder 4和Silverlight所能提供的真正的“服务器推送”。相反,它使用了长轮询方法来模拟服务器推送。

使用ICEfaces的网站包括波音、美国国家航空航天局、联合太平洋、T-Mobile和美国银行。

Adobe Flash Builder 4

Flash已经存在了很长时间,但是在闪存中建立整个Web应用程序的闪存,直到引入Flex的价值,这是一个提供RIA Web组件的闪存的扩展。

是什么让Adobe Flash Builder 4如此令人兴奋的是它的跨平台和跨浏览器性质,允许它在所有操作系统和所有浏览器上运行完全相同的方式。将其与JavaScript进行比较,浏览器具有不同的浏览器JavaScript引擎该处理和处理代码,Adobe Flash有一个发动机,您的用户通过Adobe Flash浏览器插件安装(其频繁,它们已经存在)。

Flash Builder 4应用程序可以做到这一点,因为它们嵌入到HTML页面中,这意味着浏览器本身对应用程序的性能没有影响。这意味着,如果您愿意,您甚至可以在IE6中正确运行最复杂的web应用程序(这当然是一种简化,因为Flash插件/引擎会定期更新,因此它将稍微取决于用户的插件版本)。

这些应用程序通常伴随着服务器端处理(如Java后端),需要Flash Builder 4 IDE为发展。

如果您的web应用程序需要复杂的图形,如果您的团队主要由Java开发人员组成(因为它可以很好地与Java配合使用),或者如果您的应用程序使用事件驱动的体系结构,则可以使用Adobe Flash Builder 4。

使用Flash的网站包括Mint.com、Flickr和Hyundai。

Silverlight

Silverlight基本上是Microsoft的Adobe Flex / Adob​​e Flash版本。它一直牵引一些牵引力,但似乎在普及方面似乎没有追赶Adobe Flash。

Silverlight应用程序显然必须有一个。net后台,因为它是微软的产品。这意味着,尽管,你将有更紧密的Silverlight/。NET集成vs . Adobe Flex/[一些服务器端脚本语言,如PHP]。

如果你的web应用程序需要复杂的图形,如果你的团队主要由。net开发人员组成,或者你的应用程序使用事件驱动架构,那么Silverlight是一个不错的选择。

使用Silverlight的网站包括Netflix。

HTML5

HTML5是RIA运动的最新发展。HTML5本质上是将HTML4、JavaScript、CSS、JavaScript库和Flash中最好的部分合并到一个利用API模型的规范中的结果。HTML5是一种开放技术,这意味着不会有一个单一的管理机构,比如Adobe for Flash或Microsoft for Silverlight。

由于HTML5规范尚未完成,IE9尚未发布(请阅读IE9的新功能),你需要等待一段时间才能构建一个可生产的HTML5 web应用程序。

目前,除IE8外,所有主要浏览器都支持HTML5(Go图)。由于IE8具有浏览器市场的主要部分,因此HTML5真的不会将主流成为主流,直到IE9发布。

Once HTML5 becomes widely supported, it will be good to use if you don’t want to buy or learn an IDE (which you would need for frameworks like Flex and Silverlight), your application uses an event-driven architecture, or if you would rather use built-in HTML functionality and JavaScript APIs rather than using third-party JavaScript libraries for basic RIA functionalities.

尽管HTML5可以很好地处理图形,但目前使用Flash和Silverlight处理复杂图形和动画仍然更容易/更快。

ria的未来

HTML5应用程序——互联网的未来?不完全。只要有创意和创新的网页开发者在那里创造一些特别的东西,总会有新技术能够提供HTML5或其他任何网页技术所不能提供的惊人的东西。

创造力和创新是JavaScript库,Icefaces,Flash,Silverlight和HTML5首先存在的原因。这网络的未来将由许多共存技术组成,就像今天一样。

相关内容