偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

Web 2.0 用戶界面技術(shù)

開發(fā) 前端
假設(shè)您需要創(chuàng)建一個適合 Web 2.0 環(huán)境的新應(yīng)用程序。一部分用戶非常喜歡基于 HTML 的用戶界面,而其他用戶希望他們使用的每個應(yīng)用程序都表現(xiàn)得像 Excel 那樣的桌面應(yīng)用程序。您的老板要求有工作效率高的用戶體驗,但是 CIO 不允許開發(fā)需要用戶手工部署的任何東西。您知道 HTML 無法達到這樣的目標,但是怎么做才能符合要求呢?本文要討論一系列 Web 2.0 用戶界面技術(shù),讓您構(gòu)建的應(yīng)用程序具有比瀏覽器更好的用戶體驗。

在用戶界面方面,當今的企業(yè)應(yīng)用程序開發(fā)人員受到來自用戶和運營部門的雙重壓力。一方面,代表用戶的業(yè)務(wù)部門希望應(yīng)用程序具有豐富的用戶界面,能夠最大限度地提高用戶的工作效率。他們希望所有應(yīng)用程序都表現(xiàn)得像 Microsoft 的 Excel 或者其他客戶機應(yīng)用程序一樣。希望應(yīng)用程序能夠提供即時響應(yīng)。

此外,若有相同數(shù)據(jù)的多個視圖(例如,一個表格視圖和一個圖形視圖),那么還希望在其中一個視圖中進行修改時,其他視圖能夠立即反映出這一修改。

另一方面,IT 運營部門喜歡純粹的基于服務(wù)器的交付模型。盡管他們知道 HTML 用戶體驗不如基于本機操作系統(tǒng)(OS)的用戶界面那么健壯,但他們認為為了改進用戶體驗,安裝、配置和管理客戶機代碼的成本太高了。

IT 組織中的許多人都親身體驗過 20 世紀 90 年代的客戶機/服務(wù)器部署模型,不愿意再重復(fù)那樣的經(jīng)歷。實際上,如果有客戶機組件存在,許多 Java 2 Enterprise Edition(Java EE)應(yīng)用程序可能不會構(gòu)建起來,因為成本對于應(yīng)用程序的業(yè)務(wù)目標來說太高了。服務(wù)器交付的部署模型為 IT 組織提供了低成本高效率的部署方式,這在 90 年代是 IT 組織的夢想。大多數(shù)組織都意識到了服務(wù)器部署的 Java EE 應(yīng)用程序的經(jīng)濟優(yōu)勢,因此根本不會考慮部署那些必須在各個客戶機上進行安裝的代碼,除非是不得已。

那么,企業(yè)開發(fā)人員應(yīng)該怎么做呢?用戶不希望由于幾秒的服務(wù)器響應(yīng)時間而降低工作效率,而 IT 部門又不同意采用在客戶機上部署和管理代碼的老方法。如何能夠滿足這些表面上相互沖突的需求,讓雙方都滿意呢?

幸運的是,現(xiàn)有的技術(shù)使您能夠提供比瀏覽器更好的用戶體驗,同時不必在客戶機上手工安裝代碼。用這些技術(shù)構(gòu)建的應(yīng)用程序有時候被稱為 Web 2.0 應(yīng)用程序。在 Tim O'Reilly 的文章 “What Is Web 2.0? Design Patterns and Business Models for the Next Generation of Software” 中,他指出:

我們正在進入一個前所未有的用戶界面革新時代,Web 開發(fā)人員最終能夠構(gòu)建出與本地 PC 應(yīng)用程序同樣豐富的 Web 應(yīng)用程序。

Web 2.0 應(yīng)用程序同時提供了兩種環(huán)境的優(yōu)點:低成本高效率的基于服務(wù)器的部署模型,以及幾乎可以與客戶機應(yīng)用程序媲美的用戶體驗。

對于為當今的 Java EE 應(yīng)用程序提供豐富的用戶體驗,有幾種技術(shù)可供選擇:

1、Flex 和 OpenLaszlo

2、IBM® Workplace™ Managed Client 和 IBM Lotus® Expeditor

3、Faces Client Components

4、Ajax

5、HTML

Flex 和 OpenLaszlo

Flex 和 OpenLaszlo 是極其相似的聲明式方法,用來為 Java EE 應(yīng)用程序創(chuàng)建比瀏覽器更好的用戶體驗。Flex 由 Adobe/Macromedia 提供,而 OpenLaszlo 是最初由 Laszlo Systems Inc 創(chuàng)建的開放源碼軟件。在這兩種環(huán)境中,都使用獨特的基于 XML 的語法來布置和創(chuàng)建用戶界面。

例如,為了在 Flex 中使用一個按鈕,可以用 MXML(Multimedia XML)編寫以下代碼:<a name="code-text"><mx:Button label="Submit"</mx:Button></a>

而對于 OpenLaszlo,可以用 LZX(LasZlo XML)編寫以下代碼:<a name="code-text"><button<Submit</ button></a>

為了允許不同的 UI 元素與服務(wù)器進行交互和通信,可以用 ActionScript(Flex)或 JavaScript(OpenLaszlo)編寫腳本。

盡管這兩種技術(shù)有許多相似性,但關(guān)鍵的一點差異是它們需要的運行時基礎(chǔ)設(shè)施。對于需要與服務(wù)器交換數(shù)據(jù)的客戶機,F(xiàn)lex 需要一個 Flex Data Services Server,它與 Flash Player 插件中運行的客戶機進行通信。在本質(zhì)上,這個服務(wù)器為客戶機和應(yīng)用程序的服務(wù)器組件之間的所有通信和數(shù)據(jù)交換提供中介。

OpenLaszlo 的最新版本做了一些運行時改進,使它對于開發(fā)人員更具吸引力。一項改進是版本 3 引入了一種 SOLO 開發(fā)模式,使得在某些部署配置中不再需要 Laszlo Presentation Server。另一個主要的改進是客戶機運行時環(huán)境。最新版本(OpenLazlo 4)正處于 beta 測試階段,它使基于 Laszlo 的應(yīng)用程序能夠不帶 Adobe/Macromedia Flash Player 插件運行。許多公司不愿意被限制于某種專有的插件(比如 Flash Player),他們會歡迎這一改進。

如何判斷哪種產(chǎn)品更適合您的組織?Flex 的主要優(yōu)點是可以從 Adobe/Macromedia 獲得充分的產(chǎn)品支持,但是要為 Flex Data Services Server 的許可證付費。對于某些公司來說,付出許可證費用來換取得到充分支持的產(chǎn)品是值得的。Adobe Flex 2 應(yīng)用程序也需要 Flash Player plug-in V9。盡管 Flex 可以創(chuàng)建豐富的用戶體驗,但是某些公司不愿意承受費用和插件限制。

OpenLaszlo 技術(shù)最初是作為商業(yè)產(chǎn)品發(fā)布的,但是在 2004 年 Laszlo Systems 開放了這種技術(shù)的源碼,采用了 Common Public License(V1.0)許可方式。Laszlo Systems 提供支持訂閱,而且因為它是一個開放源碼項目,您可以選擇使用免費資源支持它。對于 OpenLaszlo,費用不是大問題,但是有些組織的公司策略不允許使用開放源碼軟件,所以可能不能選用 OpenLaszlo。

IBM Workplace Managed Client 和 Lotus Expeditor

IBM Workplace Managed Client 和 Lotus Expeditor 都是在開放源碼的 EclipseRPC 代碼基上構(gòu)建的。EclipseRPC 這種技術(shù)源自 Eclipse 開發(fā)工具工作臺,這是由 eclipse.org 管理和控制的通用工具開發(fā)平臺。如果業(yè)務(wù)需要進行無連接操作,而且可以在客戶機上安裝組件,那么 Workplace Managed Client 和/或 Lotus Expeditor 是構(gòu)建和部署應(yīng)用程序的最佳技術(shù)。

IBM Workplace Managed Client 是 IBM 的 Workplace 產(chǎn)品系列的一個組件。它將各種協(xié)作服務(wù)組合在一個集成框架(或者說桌面環(huán)境)中。它提供的功能包括文檔管理、消息傳遞(包括即時消息傳遞)、Web 瀏覽、Notes® 7 的直接接口、eLearning、團隊空間、Web 會議以及一個用來跟蹤任務(wù)相關(guān)的線索的活動管理器。Lotus Expeditor 提供一個富客戶機平臺,它支持企業(yè)應(yīng)用程序、事務(wù)處理、設(shè)備管理和 Web 服務(wù)。盡管選擇 Workplace Managed Client 或 Lotus Expeditor 都有不少合理的理由,但是如果應(yīng)用程序在本質(zhì)上是協(xié)作型的,那么 Workplace Managed Client 通常是最佳選擇。但是,如果應(yīng)用程序在本質(zhì)上是事務(wù)性的,那么通常建議選用 Lotus Expeditor。

Workplace Managed Client 和 Lotus Expeditor 都使開發(fā)人員能夠創(chuàng)建駐留在客戶機上的富客戶機應(yīng)用程序,可以支持無連接操作。因為應(yīng)用程序駐留在客戶機上,客戶機可以充分利用它所在工作站的功能,可以創(chuàng)建出高度交互性的用戶體驗。Eclipse 是 Workplace Managed Client 和 Lotus Expeditor 共同的基礎(chǔ),它提供了一個獨立于操作系統(tǒng)的平臺,對開發(fā)人員隱藏了操作系統(tǒng)的細節(jié)差異,同時盡可能利用本機操作系統(tǒng)服務(wù)。因此,您可以開發(fā)一個 Java 代碼基,它能夠在 Linux™ 和 Windows™ 上運行,以后甚至能夠在 Macintosh 上運行。

為了利用這種技術(shù),需要讓應(yīng)用程序利用 Eclipse 插件體系結(jié)構(gòu)。用戶界面組件是使用 SWT(Standard Widget Toolkit)部件或 jFace 組件構(gòu)建的。SWT 是一個與本機窗口系統(tǒng)集成的部件集和圖形庫,但是使用獨立于操作系統(tǒng)的 API。jFace 是一個使用 SWT 實現(xiàn)的 UI 工具包,它簡化了許多常見的 UI 編程任務(wù)。jFace 在 API 和實現(xiàn)兩方面都獨立于窗口系統(tǒng),其設(shè)計目的是使用 SWT 而不是隱藏它。最終結(jié)果是更具交互性的用戶體驗,其外觀和感覺與用戶熟悉的其他本機操作系統(tǒng)應(yīng)用程序相似。

最后,“由服務(wù)器管理” 這一特性使基于 Workplace Managed Client 或 Lotus Expeditor 的應(yīng)用程序有別于本機 Windows 應(yīng)用程序。這項關(guān)鍵特性消除了與客戶機駐留的應(yīng)用程序代碼相關(guān)聯(lián)的大多數(shù)(如果不是全部的話)系統(tǒng)管理成本。因此,部署應(yīng)用程序的企業(yè)會獲得服務(wù)器部署的 Java EE 應(yīng)用程序的所有成本優(yōu)勢,同時用戶能夠享受操作系統(tǒng)特有的客戶機駐留的應(yīng)用程序的用戶體驗;對于大多數(shù)組織,這都是雙贏的結(jié)果。

Faces Client Components

JavaServer Faces(JSF)是一種 Java EE 1.4 組件,最初是作為 JSR 127 開發(fā)的。這種技術(shù)的關(guān)鍵目標是,降低為 Java EE 應(yīng)用程序開發(fā)用戶界面時要求 Java 開發(fā)人員具備的技能水平。因為 JSF 是一個框架,它提供了許多開箱即用的功能;在過去,開發(fā)人員在用 JavaServer Pages(JSP)構(gòu)建同樣的用戶界面時需要手工編寫這些功能。

例如,假設(shè)您有一個大型 JDBC™ 結(jié)果集,需要將它向用戶顯示。JSF 框架提供了一個 DataTable 部件,可以用來顯示數(shù)據(jù)。如果使用簡單的 JSP 構(gòu)建用戶界面,您就必須管理用戶與這個數(shù)據(jù)表的交互,并決定應(yīng)該向用戶顯示哪些數(shù)據(jù)行。

通過使用 JSF DataTable,當用戶點擊 Next 來顯示表中的后 x 行數(shù)據(jù)時,JSF 框架將會處理 Next 請求,您不必自己編寫任何代碼。盡管 JSF 簡化了創(chuàng)建豐富的 HTML 用戶界面的過程,但是根據(jù)設(shè)計 JSF 是一種基于服務(wù)器的技術(shù)。對后 x 行數(shù)據(jù)的請求從瀏覽器發(fā)送到服務(wù)器,JSF 框架代碼在服務(wù)器上處理這個請求。JSF 需要一次到服務(wù)器的請求/響應(yīng)往返。

為了改進基本的 JSF 部件,IBM 的 Rational® Application Developer V6 引入了 Faces Client Components。Faces Client Components 是 JavaServer Faces 技術(shù)的一種擴展,允許在客戶端執(zhí)行某些 JSF 框架服務(wù)。例如,如果在上面的示例中使用 DataGrid Faces Client 組件,那么后 x 行數(shù)據(jù)的顯示就不需要到服務(wù)器的請求/響應(yīng)往返。

對于 Rational Application Developer JSF 開發(fā)人員,使用 Faces Client Components 是自然的選擇。為了使用 Faces Client Components,要創(chuàng)建一個 Faces JSP 頁面并選擇 “Basic with client-side data caching ” 作為模型。當在 Rational Application Developer 中構(gòu)造用戶界面時,只需從 Rational Application Developer 的工具面板中的 Faces Client Components 部分中選擇適當?shù)?UI 控件。

在 Faces Client Component 的幕后發(fā)生了許多情況。會將 JSF 控件的 JavaScript 實現(xiàn)下載到瀏覽器中,并使用符合行業(yè)標準的 Service Data Objects 在瀏覽器和服務(wù)器之間進行通信。但是,這一切理所當然都是對用戶隱藏的;用戶只會注意到,與典

Ajax

Ajax(異步 JavaScript 和 XML)是 Jesse James Garrett 創(chuàng)造的一個術(shù)語,它是指一種基于標準的技術(shù)/設(shè)計模式,用來為服務(wù)器部署的應(yīng)用程序開發(fā)比瀏覽器更好的用戶體驗。Ajax 對服務(wù)器技術(shù)沒有什么要求,可以處理 Java EE 應(yīng)用程序、.Net 應(yīng)用程序和其他應(yīng)用程序。通過使用 Ajax,可以編寫 JavaScript 代碼來改進 HTML,創(chuàng)建出豐富的交互性用戶體驗。例如,JavaScript 可以執(zhí)行本地用戶輸入驗證,為相同的數(shù)據(jù)提供不同的視圖(條形圖、表格、餅圖等等),或者通過瀏覽器的 XMLHTTPRequest 對象與應(yīng)用程序的服務(wù)器組件進行異步的交互。

根據(jù) Gartner Group 的 Hype Cycle for Emerging Technologies 2000 報告(2006 年 7 月 18 日),Ajax 已經(jīng)達到了 “過度期望的頂峰”,“幻想” 已經(jīng)開始成為現(xiàn)實了??纯磿昀镉心敲炊?Ajax 圖書,就能夠知道這股風(fēng)潮有多么熱了。按照我的觀點,有三種東西幫助 Ajax 跨越了 Geoffrey Moore 指出的技術(shù)鴻溝:

1.現(xiàn)代瀏覽器。

在過去,編寫 JavaScript 的開發(fā)人員必須處理 Netscape、Internet Explorer 和其他瀏覽器之間的許多不兼容問題。在某些情況下,甚至同一種瀏覽器的不同版本也有不兼容問題。盡管仍然存在一些不兼容問題,但是大多數(shù)內(nèi)部網(wǎng)應(yīng)用程序通常需要 Internet Explorer 5.5 或更高版本和/或者 Firefox 1.0 或更高版本,在這些瀏覽器中以前存在的大多數(shù)不兼容問題已經(jīng)被糾正了。近來組成了一個開放的行業(yè)協(xié)會 OpenAjax,它的目的是解決 Ajax 的不兼容性問題,以及解決其他 Ajax 相關(guān)問題。

2.Ajax 工具包。

在過去,希望使用 Ajax 的大多數(shù)開發(fā)人員實際上必須從頭開始,而 Ajax 工具包現(xiàn)在可以替他們完成許多繁重的工作。工具包提供了各種預(yù)制的基于 JavaScript 的用戶界面控件(部件),讓開發(fā)人員可以輕松地創(chuàng)建基于 Ajax 的用戶體驗。工具包通常還提供更高級的抽象,從而對開發(fā)人員隱藏前面提到的瀏覽器不兼容問題。

3.工具。

直到最近,大多數(shù) JavaScript 開發(fā)人員實際上沒有開發(fā)工具來幫助簡化開發(fā)和調(diào)試。從 Firefox 瀏覽器發(fā)布開始,它就為 Ajax 開發(fā)人員提供了一些有用的插件,而且 IBM 最近在 Ajax Toolkit Framework 中集成了一系列有用的技術(shù)來幫助進行 Ajax 開發(fā)。ATF(Ajax Toolkit Framework)可以從 Apache 站點免費下載,它提供一個基于 Eclipse 的 Ajax 開發(fā)環(huán)境。ATF 提供的工具包括 JavaScript 語法敏感的編輯器、JavaScript 控制臺和 XMLHTTPRequest 對象查看器。ATF 還附帶三個預(yù)制的個性化組件:Dojo、Zimbra 和 Rico。

最后,按照我的觀點,當 Google 發(fā)布基于 Ajax 的 Google Maps 應(yīng)用程序的 beta 版本時,Ajax 真正的轉(zhuǎn)折點到了。以前使用過地圖 Web 站點的任何人都會很快看出 Google 地圖軟件的優(yōu)點。非技術(shù)人員感到吃驚,想知道 Google 是怎么做到的;而知道其原理的程序員開始注意到 Ajax,并開始考慮如何使用基于 Ajax 的技術(shù)改進自己應(yīng)用程序的易用性和響應(yīng)性。

純 HTML

盡管許多開發(fā)人員認為所有用戶像他們自己一樣,使用最新的 Firefox 瀏覽器并帶 10 個最流行的插件,但事實是許多機器仍然使用 Netscape 3.x 或 Internet Explorer 4.x 來訪問互聯(lián)網(wǎng)。使用這種水平的瀏覽器可能是為了使用某一應(yīng)用程序(它的源代碼已經(jīng)丟失了,無法修改了),或者是因為用戶非常保守,他們按照 “如果沒有出問題,就不必自找麻煩” 的原則來對待瀏覽器升級,所以仍然使用 Internet Explorer 4.0。

盡管 HTML 顯然不能提供其他技術(shù)可以提供的那么豐富的用戶體驗,但是基于 HTML 的用戶界面仍然會長期占據(jù)一定的地位。還沒有其他技術(shù)能夠像純 HTML 用戶界面一樣讓那么多用戶都能夠使用。因此,在未來的許多年內(nèi),許多應(yīng)用程序仍然會提供這種用戶界面。

結(jié)束語

總的來說,當今業(yè)界的重要方向是改進服務(wù)器提交的應(yīng)用程序的用戶體驗。Ajax 仍然還不太成熟,但是已經(jīng)有了一定的實力,而且許多企業(yè)(包括小型和大型企業(yè))已經(jīng)開始在生產(chǎn)中使用它。本文提到的其他技術(shù)沒有得到這么大的關(guān)注,但是到目前為止還不能明確地說它們沒有前途。

還存在其他用戶界面技術(shù),包括商業(yè)產(chǎn)品和開放源碼產(chǎn)品(比如 Nexaweb、Backbase 和 JackBE),但是由于篇幅限制本文沒有提到它們。關(guān)鍵一點是,這些技術(shù)都不是放之四海皆準的,所以沒有任何技術(shù)對于所有場景都是最佳選擇。這些技術(shù)都有各自的優(yōu)點,都有其適合的場景。

那么,如何做出選擇呢?對于初學(xué)者來說,如果技術(shù)選擇背后的主要目標是接觸盡可能多的用戶,那么沒有任何技術(shù)能夠超越老式的 HTML。在另一個極端,如果您需要無連接操作,而且可以在用戶機器上安裝應(yīng)用程序的組件,那么基于 EclipseRPC 的替代品之一(Workplace Managed Client 或者 Lotus Expeditor)是最佳選擇。

如果需要的豐富用戶體驗只能通過 Flash Player 來獲得,那么可能應(yīng)該使用 Flex 或 OpenLaszlo。如果使用 JavaServer Faces 構(gòu)建應(yīng)用程序,那么使用一些 Faces Client Components 會更好。

最后,如果您的目標只是在現(xiàn)有的 HTML 用戶界面中增加一些易用性特性,或者是提供基于標準的插件免費的豐富用戶體驗,那么應(yīng)該考慮使用 Ajax。按照目前的輿論,Ajax 似乎成了最流行的 Web 2.0 技術(shù)選擇,但是我不能肯定其他技術(shù)在成熟之后會不會取代它的地位。

選擇正確技術(shù)的關(guān)鍵是,讓應(yīng)用程序的需求決定對用戶體驗技術(shù)的選擇。盡管這個建議似乎是理所當然的,但是在許多情況下開發(fā)人員所做的正好相反,他們被時髦的技術(shù)宣傳所蠱惑,做出 “技術(shù)驅(qū)動的選擇”,這常常導(dǎo)致許多困難的實現(xiàn)和部署問題,從而在開發(fā)項目時導(dǎo)致嚴重的延誤和問題。不要讓這種情況發(fā)生在您身上。

【編輯推薦】

  1. Web 2.0應(yīng)用安全深入解析
  2. 如何避免Web 2.0安全威脅?
  3. 社會媒體和Web 2.0的定義
  4. 在社交網(wǎng)絡(luò)中應(yīng)用 Web 2.0
責(zé)任編輯:于鐵 來源: developerWorks 中國
相關(guān)推薦

2011-11-21 18:19:20

Web iMC

2009-07-17 09:46:45

Web 2.0

2009-11-30 16:36:35

IBM

2011-09-08 11:02:39

Web2.0網(wǎng)康

2014-04-09 14:21:44

Firefox OS用戶界面

2011-06-15 16:36:27

Qt 圖形

2011-06-01 09:31:46

用戶界面設(shè)計

2009-07-30 18:39:57

Web技術(shù)

2009-02-09 13:28:11

2009-12-11 09:31:27

谷歌Web Toolkit

2009-02-04 17:36:09

ibmdwWeb2.0

2020-12-17 09:52:43

WEBWindows ser修改密碼

2011-10-25 15:22:12

2009-07-01 08:49:34

架構(gòu)Web2.0Twitter

2011-02-15 11:46:41

2011-03-29 15:30:20

ZABBIXWEB

2019-09-03 18:38:39

2010-07-14 15:34:36

2012-04-23 13:43:06

用戶體驗用戶界面

2009-06-29 14:15:25

點贊
收藏

51CTO技術(shù)棧公眾號