Web 2.0用户界面技术详解

假设您需要创建一个适合 Web 2.0 环境的新应用程序。一部分用户非常喜欢基于 HTML 的用户界面,而其他用户希望他们使用的每个应用程序都表现得像 Excel 那样的桌面应用程序。您的老板要求有工作效率高的用户体验,但是 CIO 不允许开发需要用户手工部署的任何东西。您知道 HTML 无法达到这样的目标,但是怎么做才能符合要求呢?本文要讨论一系列 Web 2.0 用户界面技术,让您构建的应用程序具有比浏览器更好的用户体验。

在用户界面方面,当今的企业应用程序开发人员受到来自用户和运营部门的双重压力。一方面,代表用户的业务部门希望应用程序具有丰富的用户界面,能够最大限度地提高用户的工作效率。他们希望所有应用程序都表现得像 Microsoft 的 Excel 或者其他客户机应用程序一样。希望应用程序能够提供即时响应。此外,若有相同数据的多个视图(例如,一个表格视图和一个图形视图),那么还希望在其中一个视图中进行修改时,其他视图能够立即反映出这一修改。

另一方面,IT 运营部门喜欢纯粹的基于服务器的交付模型。尽管他们知道 HTML 用户体验不如基于本机操作系统(OS)的用户界面那么健壮,但他们认为为了改进用户体验,安装、配置和管理客户机代码的成本太高了。

IT 组织中的许多人都亲身体验过 20 世纪 90 年代的客户机/服务器部署模型,不愿意再重复那样的经历。实际上,如果有客户机组件存在,许多 Java 2 Enterprise Edition(Java EE)应用程序可能不会构建起来,因为成本对于应用程序的业务目标来说太高了。服务器交付的部署模型为 IT 组织提供了低成本高效率的部署方式,这在 90 年代是 IT 组织的梦想。大多数组织都意识到了服务器部署的 Java EE 应用程序的经济优势,因此根本不会考虑部署那些必须在各个客户机上进行安装的代码,除非是不得已。

那么,企业开发人员应该怎么做呢?用户不希望由于几秒的服务器响应时间而降低工作效率,而 IT 部门又不同意采用在客户机上部署和管理代码的老方法。如何能够满足这些表面上相互冲突的需求,让双方都满意呢?

幸运的是,现有的技术使您能够提供比浏览器更好的用户体验,同时不必在客户机上手工安装代码。用这些技术构建的应用程序有时候被称为 Web 2.0 应用程序。在 Tim O'Reilly 的文章 “What Is Web 2.0? Design Patterns and Business Models for the Next Generation of Software”中,他指出:

我们正在进入一个前所未有的用户界面革新时代,Web 开发人员最终能够构建出与本地 PC 应用程序同样丰富的 Web 应用程序。

Web 2.0 应用程序同时提供了两种环境的优点:低成本高效率的基于服务器的部署模型,以及几乎可以与客户机应用程序媲美的用户体验。

对于为当今的 Java EE 应用程序提供丰富的用户体验,有几种技术可供选择:

·Flex 和 OpenLaszlo

·IBM Workplace Managed Client 和 IBM Lotus Expeditor

·Faces Client Components

·Ajax

·HTML

Flex 和 OpenLaszlo

Flex 和 OpenLaszlo 是极其相似的声明式方法,用来为 Java EE 应用程序创建比浏览器更好的用户体验。Flex 由 Adobe/Macromedia 提供,而 OpenLaszlo 是最初由 Laszlo Systems Inc 创建的开放源码软件。在这两种环境中,都使用独特的基于 XML 的语法来布置和创建用户界面。

例如,为了在 Flex 中使用一个按钮,可以用 MXML(Multimedia XML)编写以下代码:

而对于 OpenLaszlo,可以用 LZX(LasZlo XML)编写以下代码:

为了允许不同的 UI 元素与服务器进行交互和通信,可以用 ActionScript(Flex)或 JavaScript(OpenLaszlo)编写脚本。

尽管这两种技术有许多相似性,但关键的一点差异是它们需要的运行时基础设施。对于需要与服务器交换数据的客户机,Flex 需要一个 Flex Data Services Server,它与 Flash Player 插件中运行的客户机进行通信。在本质上,这个服务器为客户机和应用程序的服务器组件之间的所有通信和数据交换提供中介。

OpenLaszlo 的最新版本做了一些运行时改进,使它对于开发人员更具吸引力。一项改进是版本 3 引入了一种 SOLO 开发模式,使得在某些部署配置中不再需要 Laszlo Presentation Server。另一个主要的改进是客户机运行时环境。最新版本(OpenLazlo 4)正处于 beta 测试阶段,它使基于 Laszlo 的应用程序能够不带 Adobe/Macromedia Flash Player 插件运行。许多公司不愿意被限制于某种专有的插件(比如 Flash Player),他们会欢迎这一改进。

如何判断哪种产品更适合您的组织?Flex 的主要优点是可以从 Adobe/Macromedia 获得充分的产品支持,但是要为 Flex Data Services Server 的许可证付费。对于某些公司来说,付出许可证费用来换取得到充分支持的产品是值得的。Adobe Flex 2 应用程序也需要 Flash Player plug-in V9。尽管 Flex 可以创建丰富的用户体验,但是某些公司不愿意承受费用和插件限制。

OpenLaszlo 技术最初是作为商业产品发布的,但是在 2004 年 Laszlo Systems 开放了这种技术的源码,采用了 Common Public License(V1.0)许可方式。Laszlo Systems 提供支持订阅,而且因为它是一个开放源码项目,您可以选择使用免费资源支持它。对于 OpenLaszlo,费用不是大问题,但是有些组织的公司策略不允许使用开放源码软件,所以可能不能选用 OpenLaszlo。

时间: 2024-10-30 13:06:26

Web 2.0用户界面技术详解的相关文章

Web 缓存欺骗攻击技术详解

本文讲的是Web 缓存欺骗攻击技术详解,Omer Gil早在今年年初就在他的博客上发表了有关于Web缓存欺骗攻击技术的博文,随后他在BlackHat USA 2017 和BSides Tel-Aviv 2017 上对这种攻击技术进行了演示,并做了更深入的研究. 在他发布的"Web 缓存欺骗技术白皮书"中,详细的介绍了这种攻击技术.这份白皮书大致包含了如下内容: ·攻击原理概述 ·实施攻击的方法 ·攻击所需的条件 ·已知的几个主流的Web 框架及缓存机制 ·缓解措施 Web缓存欺骗这种攻

架设Red Hat Linux 9.0服务器技术详解

红帽创建于1993年,是目前世界上最资深的Linux和开放源代码提供商,同时也是最获认可的Linux品牌.基于开放源代码模式,我们为全球企业提供专业技术和服务.我们的解决方案包括红帽企业Linux操作平台,以及其他内容广泛的服务,如:咨询,24X7技术支持和红帽网络(RHN).我们以订阅的商业模式向用户提供不间断的产品和服务.红帽在全球60多个地点提供培训课程,其中的RHCE认证已经成为Linux认证的标准. 为了更好地服务中国客户,红帽软件(北京)公司于2004年11月设立.作为红帽公司的全资

Tomcat与Java Web开发技术详解连载之一

web|详解 本章介绍如何在Tomcat上创建和发布Web应用.这里首先讲解Tomcat的目录结构以及Web应用的目录结构,接着介绍如何将HTML.Servlet.JSP和Tag Library部署到Web应用中,然后介绍把整个Web应用打包并发布的方法,最后介绍如何在Tomcat上配置虚拟主机. 本章侧重于讨论Web应用的结构和发布方法,所以没有对本章的Servlet和JSP的例子进行详细解释,关于Servlet和JSP的技术可以分别参考其它章节的内容. 2.1 Tomcat的目录结构 在To

Tomcat与Java Web开发技术详解连载之二

web|详解 2.2.4 部署HTML文件 在helloapp目录下加入index.htm文件,这个文件仅仅用来显示一串带链接的字符"Welcome to HelloApp", 它链接到login.jsp文件.以下是index.htm文件的代码: <html><head><title>helloapp</title></head><body ><p><font size="7"

Tomcat与Java Web开发技术详解连载之三

web|详解 2.2.8 创建并发布WAR文件 Tomcat既可以运行采用开放式目录结构的Web应用,也可以运行WAR文件.在本书配套光盘的sourcecode/chapter2/helloapp目录下提供了所有源文件,只要把整个helloapp目录拷贝到/webapps目录下,即可运行开放式目录结构的helloapp应用.在Web应用的开发阶段,为了便于调试,通常采用开放式的目录结构来发布Web应用,这样可以方便地更新或替换文件.如果开发完毕,进入产品发布阶段,应该将整个Web应用打包为WAR

哪位有Netbeans 6.0程序开发技术详解电子书(PDF)完整版么?跪求分享。

问题描述 哪位有Netbeans6.0程序开发技术详解电子书(PDF)完整版么?跪求分享.

征服ASP.NET 2.0 Ajax__Web开发技术详解 源代码下载

问题描述 <征服ASP.NET2.0Ajax__Web开发技术详解>源代码,人民邮电出版社,陈冠军编著.07.6第一版.一本很好的ASP.NET2.0Ajax的参考书,现提供源代码给大家.快快下载吧!!!下载地址:http://download.csdn.net/user/wudaiwen1022 解决方案 解决方案二:up解决方案三:好淫啊,谢谢

《Unity 3D 游戏开发技术详解与典型案例》——1.1节Unity 3D基础知识概览

1.1 Unity 3D基础知识概览 Unity 3D 游戏开发技术详解与典型案例 本节主要向读者介绍Unity 3D的相关知识,主要内容包括Unity 3D的简介.Unity 3D的发展和Unity 3D的特点等.通过本节的学习,读者将对Unity 3D有一个基本的认识. 1.1.1 初识Unity 3D Unity 3D是由Unity Technologies开发的一个轻松创建三维视频游戏.建筑可视化.实时三维动画等互动内容的.多平台的综合型游戏开发工具,是一个全面整合的专业游戏引擎. Un

《策略驱动型数据中心——ACI技术详解》——第1章 数据中心架构考虑因素1.1 应用和存储

第1章 数据中心架构考虑因素 本章介绍数据中心架构所需考虑的因素.其中将介绍设计时的考虑因素和设计过程中使用的方法,以便对于数据中心矩阵项目,使架构师能高效地选择端到端的网络设计,为其演进提供所需的增长能力. 在数据中心网络设计过程中,在架构选择和最终设计方面需要注意以下一些关键考虑因素. 要托管在数据中心的应用和这些应用将使用的存储类型. 数据中心的需求和限制,包括物理决策和POD模型. 不同类型的数据中心设计. 大多数的数据中心矩阵部署是用于虚拟化数据中心的.本章还介绍了数据中心的其他应用场