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

WebFX总统。Bill在互联网营销行业有超过25年的经验,擅长SEO, UX,信息架构,营销自动化等。William在希彭斯堡和麻省理工学院的科学计算和教育背景为MarketingCloudFX和WebFX的其他关键研发项目提供了基础。

使用框架构建富Internet应用程序JavaScript库、ICEfaces、Adobe Flash 4、Microsoft Silverlight,以及现在的HTML5都在争夺web的主导地位,因为万维网被扔进了一个新时代——一个由富互联网应用程序(简称RIA)主导的时代。本文的目的是定义RIA是什么,解释为什么web一直在向RIA发展,探索目前存在的不同RIA框架,概述每种框架的优缺点,并讨论这些新技术在未来可能如何共存。

RIA是什么?

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

RIA是什么?Sumo Paint是一个基于flash的RIA,功能类似于Photoshop等图形编辑软件。与桌面应用程序不同的是,任何与网页的交互通常都会导致重新加载一个全新的页面。另一方面,桌面应用程序具有更好的用户交互性,因为所有的处理都是在用户的机器上本地完成的,从而产生了更无缝的用户体验。

因此,软件开发人员开始问自己:“我的产品应该是桌面应用程序还是web应用程序?”这一直是一个公平的问题,因为这两种类型的应用程序都有很强的优点和缺点。桌面应用程序具有更流畅的用户交互性,但在软件发布后需要分发和处理软件更新。另一方面,Web应用程序可以很容易地从Web上访问,从而使它从与软件分发和更新相关的问题中解放出来,但是非常缺乏用户互动性。

那么,我们怎样才能两全其美呢?ria是两全其美的。ria是通过web分发的,具有非常丰富的用户交互性。

自从Ajax(一种web应用程序用JavaScript发出服务器请求而无需重新加载网页的方法)出现以来,新技术不断涌现,加入到RIA运动中来。这些技术包括帮助开发人员构建和部署富互联网应用程序的框架,比如JavaScript库,ICEfaces、Adobe Flash 4(以前是Flex 3)、Microsoft Silverlight和HTML5。让我们逐个讨论这些RIA框架。

用于Web应用程序开发的JavaScript库

JavaScript库像jQueryMooTools是第一批真正帮助部署灵活交互式富web应用的技术之一。他们为RIA应用程序提供了一个框架,利用客户端脚本处理前端接口功能。它们基本上是由一组有用的、跨浏览器测试的函数组成的JavaScript文件,用于使用Ajax完成任务,处理常见的用户交互,比如根据用户驱动的事件隐藏和显示内容。

今天最流行的是jQuery(特别是jQuery UI), MooTools, YUI (Yahoo!用户界面库)和ExtJS。所有这些库都包括RIA组件,如网格、图形和复杂的表单元素,以及用于处理Ajax的实用程序。

最重要的是,大多数用于web开发的优秀JavaScript库都是开源的。如果你不想花钱购买集成开发环境(IDE),但仍然想在你的网站中拥有好看和专业的RIA功能,那么JavaScript库是很好的选择。使用JavaScript库的网站包括谷歌、Digg、Yahoo、Amazon、Microsoft、Twitter和Best Buy。

ICEfaces

冰脸延伸了标准JavaServer Faces(JSF)框架,旨在通过从等式中删除JavaScript来简化程序员的工作流程。换句话说,ICEfaces通过Java api为您的web应用程序处理所有的JavaScript/Ajax。这大大简化了创建富互联网应用程序的任务,消除了构建自定义JavaScript函数时引入的一些复杂性。

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

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

adobeflashbuilder4

Flash已经存在很长一段时间了,但是在Flex(提供RIA web组件的Flash的扩展)出现之前,用Flash构建整个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基本上是Adobe Flex/Adobe Flash的微软版本。它已经获得了一些吸引力,但在受欢迎程度上似乎无法赶上Adobe Flash。Silverlight应用程序显然必须具有。net后端,因为它是微软的产品。

这意味着,您将拥有更紧凑的Silverlight/。NET集成与Adobe Flex/[一些服务器端脚本语言,如PHP]的对比。如果您的web应用程序需要复杂的图形,如果您的团队主要由。net开发人员组成,或者如果您的应用程序使用事件驱动的架构,那么Silverlight是一个很好的选择。使用Silverlight的网站包括Netflix。

HTML5

HTML5是RIA运动的最新发展。从本质上说,HTML5是将HTML4、JavaScript、CSS、JavaScript库和Flash的优点合并到一个单一规范的结果,该规范利用了API模型。HTML5是一种开放技术,这意味着它不会像Adobe的Flash或微软的Silverlight那样有一个单一的管理机构。

因为HTML5规范还没有完成,IE9也还没有发布新的IE9特性),在构建一个可用于生产的HTML5 web应用程序之前,你需要等待一段时间。目前,除了IE8之外,所有主流浏览器都支持HTML5。由于IE8占据了浏览器市场的大部分份额,HTML5在IE9发布之前不会成为主流。

一旦HTML5得到广泛支持,如果你不想购买或学习IDE(你需要像Flex和Silverlight这样的框架),你的应用程序使用事件驱动的架构,或者如果你宁愿使用内置的HTML功能和JavaScript api,而不是使用第三方JavaScript库来实现基本的RIA功能,那么使用它将是很好的。尽管HTML5可以很好地处理图像,但目前使用Flash和Silverlight处理复杂的图像和动画仍然更容易/更快。

ria的未来

HTML5应用是互联网的未来?不完全。只要有有创意和创新的网页开发者,他们想要创造一些特别的东西,就总会有新技术能够提供HTML5或其他任何网页技术无法提供的惊人东西。

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

相关内容

WebFX职业

加入我们的使命,为全球的企业提供业界领先的数字营销服务,同时建立您的个人知识和个人成长。

我们招聘! 视图30 +职位空缺!