摘要:Flex采用GUI界面開(kāi)發(fā),使用基于XML的MXML語(yǔ)言。Flex具有多種組件,可實(shí)現(xiàn)Web Services,遠(yuǎn)程對(duì)象,drag and drop,列排序,圖表等功能;FLEX內(nèi)建動(dòng)畫(huà)效果和其它簡(jiǎn)單互動(dòng)界面等。相對(duì)于基于HTML的應(yīng)用(如PHP、ASP、JSP、ColdFuss),F(xiàn)LEX應(yīng)用程序的工作流被大大改善。FLEX的語(yǔ)言和文件結(jié)構(gòu)也試圖把應(yīng)用程序的邏輯從設(shè)計(jì)中分離出來(lái)。
Flex服務(wù)器也是客戶(hù)端和XML Web Services及遠(yuǎn)程對(duì)(Coldfusion CFCs,或Java類(lèi),等支持Action Message Format的其他對(duì)象)之間通訊的通路。
關(guān)鍵詞:RIA;高效;個(gè)性化;flash;跨平臺(tái)
中圖分類(lèi)號(hào):TP311文獻(xiàn)標(biāo)識(shí)碼:A文章編號(hào):1009-3044(2008)36-2668-02
The Simpleness Evaluating of FLEX
MEI Bo
(Hangzhou Normal University, Hangzhou 310008, China)
Abstract: Flex use GUI interface development ,use XML-based language MXML. Flex has many components, to achieve Web Services, remote objects, drag and drop, sort out, graphics and other functions; FLEX built-in animation and other simple interactive interface, and so on. Compared to HTML-based applications (such as PHP, ASP, JSP, ColdFusion and CFMX, and so on) in each request will be necessary to implement server-side templates, as the client load just once, FLEX workflow applications have been greatly improved. FLEX language and structure of the document is also trying to application logic separate from the design.
Flex is also a server and client and XML Web Services for Remote (Coldfusion CFCs, or the type of Java, such as support for the Action Message Format and other objects) communications between the access road.
Key words: RIA; highly active; personalized; flash; cross-platform
1 引言
傳統(tǒng)的程序員在開(kāi)發(fā)動(dòng)畫(huà)應(yīng)用方面存在困難,F(xiàn)lash平臺(tái)最初就是因此而產(chǎn)生。Flex 試圖通過(guò)提供一個(gè)程序員們已經(jīng)熟知的工作流和編程模型來(lái)改善這個(gè)問(wèn)題。Flex的目標(biāo)是讓程序員更快更簡(jiǎn)單地開(kāi)發(fā)RIA應(yīng)用。在多層式開(kāi)發(fā)模型中,F(xiàn)lex應(yīng)用屬于表現(xiàn)層。
2 什么是Flex
Flex 是 Macromedia發(fā)布的presentation server(展現(xiàn)服務(wù)),它是java web container或者.net server的一個(gè)應(yīng)用,根據(jù).mxml文件(純粹的xml描述文件和actionscript)產(chǎn)生相應(yīng)得.swf文件,傳送到客戶(hù)端,由客戶(hù)端的flash player或者shockwave player解釋執(zhí)行,給用戶(hù)以豐富的客戶(hù)體驗(yàn)。
大名鼎鼎的Macromedia Flash是強(qiáng)大的矢量動(dòng)畫(huà)編輯工具,在作動(dòng)畫(huà)起家之后,F(xiàn)lash一直在謀求rich internet application(ria富客戶(hù)端)的霸主地位,最有影響的是,已經(jīng)推出了面向?qū)ο蟮木幊赡_本actionscript2.0,actionscript3.0也已推出,并且建立起類(lèi)似于java swing的類(lèi)庫(kù)和相應(yīng)component(組件)。Flex是通過(guò)java或者.net等非Flash途徑,解釋.mxml文件組織components,并生成相應(yīng)得.swf文件。Flex的component和flash的component很相似,但是有所改進(jìn)增強(qiáng)。
運(yùn)用Flash是完全可以做到flex的效果的,為什么還需要flex呢?我理解這里面有兩個(gè)原因:
1) 迎合更多的developers(開(kāi)發(fā)者)。Flash天生是為了designer(設(shè)計(jì)者)設(shè)計(jì)的,界面還有flash的動(dòng)畫(huà)概念和寫(xiě)程序的開(kāi)發(fā)人員格格不入,為了吸引更多的jsp/asp/php等程序員,Macromedia推出了Flex用非常簡(jiǎn)單的.mxml來(lái)描述界面和jsp/asp/php程序人員使用.(x/d)html非常相似,而且mxml更加規(guī)范化、標(biāo)準(zhǔn)化。
2) 制定了一個(gè)標(biāo)準(zhǔn)。大家一定聽(tīng)說(shuō)過(guò)微軟下一代系統(tǒng)longhorn,在longhorn推出的同時(shí)微軟也會(huì)推出新的語(yǔ)言xaml,一種界面描述語(yǔ)言,與之相應(yīng)的就是smart client和flex非常相似的東西。Mxml和Xaml的也很相似… …由此帶來(lái)的一些列好處就不用我說(shuō)了。
3 RIA
3.1 RIA介紹
RIA是Rich Internet Applications的縮寫(xiě),翻譯成中文為豐富互聯(lián)網(wǎng)應(yīng)用程序。豐富互聯(lián)網(wǎng)應(yīng)用程序是將桌面應(yīng)用程序的交互的用戶(hù)體驗(yàn)與傳統(tǒng)的Web應(yīng)用的部署靈活性結(jié)合起來(lái)的網(wǎng)絡(luò)應(yīng)用程序。
RIA是集桌面應(yīng)用程序的最佳用戶(hù)界面功能與Web應(yīng)用程序的普遍采用和快速、低成本布署以及互動(dòng)多媒體通信的實(shí)時(shí)快捷于一體的新一代網(wǎng)絡(luò)應(yīng)用程序。RIA中的 Rich Client(豐富客戶(hù)端)提供可承載已編譯客戶(hù)端應(yīng)用程序(以文件形式,用HTTP傳遞)的運(yùn)行環(huán)境,客戶(hù)端應(yīng)用程序使用異步客戶(hù)/服務(wù)器架構(gòu)連接現(xiàn)有的后端應(yīng)用服務(wù)器,這是一種安全、可升級(jí)、具有良好適應(yīng)性的新的面向服務(wù)模型,這種模型由采用的Web服務(wù)所驅(qū)動(dòng)。結(jié)合了聲音、視頻和實(shí)時(shí)對(duì)話的綜合通信技術(shù)使RIA具有前所未有的網(wǎng)上用戶(hù)體驗(yàn)。
圖2就是RIA的應(yīng)用程序模型。

圖1 界面發(fā)展

圖2 應(yīng)用程序模型
3.2 技術(shù)特性
3.2.1 RIA (WebTop)具有的桌面應(yīng)用程序的特點(diǎn)包括:
1) 在消息確認(rèn)和格式編排方面提供互動(dòng)用戶(hù)界面;
2) 在無(wú)刷新頁(yè)面之下提供快捷的界面響應(yīng)時(shí)間;
3) 提供通用的用戶(hù)界面特性如拖放式(drag and drop)及在線和離線操作能力。
3.2.2 RIA(WebTop)具有的Web應(yīng)用程序的特點(diǎn)包括:
1) 用戶(hù)友好性和交互性:傳統(tǒng)網(wǎng)絡(luò)程序的開(kāi)發(fā)是基于頁(yè)面的、服務(wù)器端數(shù)據(jù)傳遞的模式,把網(wǎng)絡(luò)程序的表示層建立于HTML頁(yè)面之上,而HTML是適合于文本的,傳統(tǒng)的基于頁(yè)面的系統(tǒng)已經(jīng)漸漸不能滿(mǎn)足網(wǎng)絡(luò)瀏覽者的更高的、全方位的體驗(yàn)要求。RIA應(yīng)用程序展現(xiàn)給用戶(hù)的界面是像安裝在本地桌面系統(tǒng)上的GUI程序界面,它有很多的復(fù)雜界面交互元素如樹(shù)、菜單、網(wǎng)格等,用戶(hù)的友好性和交互性大大增強(qiáng)。
2) 跨平臺(tái)兼容性:WebTop客戶(hù)端支持flash 的瀏覽器,解析表示層服務(wù)器發(fā)來(lái)的Flash內(nèi)容。Flash客戶(hù)端 是Internet歷史上最普及的軟件,它在98%的瀏覽器上運(yùn)行。目前主流操作系統(tǒng)Windows、Linux、蘋(píng)果的OS 10 上的瀏覽器 IE、Firefox、Netscape、 Opera 都支持 Flash 插件。甚至還可以在一些性能良好的網(wǎng)絡(luò)終端設(shè)備,如:PDA、智能手機(jī)、機(jī)頂盒等上使用。
3) 一次加載,多次使用:目前的瀏覽器都用一種緩存機(jī)制,即將曾經(jīng)訪問(wèn)過(guò)的網(wǎng)絡(luò)資源放到硬盤(pán)上的緩存文件夾里。在用戶(hù)下次訪問(wèn)這些網(wǎng)絡(luò)資源時(shí),瀏覽器只是向服務(wù)器尋問(wèn)這些資源是否被修改,如果服務(wù)器回答沒(méi)有被修改,那么瀏覽器會(huì)使用本地緩存的文件。在瀏覽器提供這種技術(shù)的背景下, WebTop的平臺(tái)的前端一旦加載過(guò)一次,以后將不用從網(wǎng)絡(luò)上下載。既降低了網(wǎng)絡(luò)流量,又減輕了服務(wù)器的負(fù)擔(dān)。
4) 客戶(hù)端數(shù)據(jù)緩存功能:RIA技術(shù)是面向交互的,交互密集的應(yīng)用意味著雖然用戶(hù)向網(wǎng)絡(luò)后臺(tái)發(fā)送的請(qǐng)求的次數(shù)很多,但是所需要的數(shù)據(jù)量卻相對(duì)較少。傳統(tǒng)的網(wǎng)頁(yè)技術(shù)只能將所需處理的數(shù)據(jù)分散的分布在每個(gè)頁(yè)面中,隨著頁(yè)面的跳轉(zhuǎn),依次從后臺(tái)將數(shù)據(jù)從服務(wù)器端取回。在這種情況下,用戶(hù)即使完成一組簡(jiǎn)單的功能操作,瀏覽器端同常也需要向服務(wù)器發(fā)送多次數(shù)據(jù)請(qǐng)求,即增加了服務(wù)器的負(fù)載,又降低了用戶(hù)的操作效率。WebTop 平臺(tái)基于RIA技術(shù)所賦予的強(qiáng)大客戶(hù)端處理能力,可以緩存大量的客戶(hù)端數(shù)據(jù),提供了一定程度的離線操作功能。這樣,在提高了用戶(hù)交互效率的同時(shí),還能較大程度的降低服務(wù)器的負(fù)載。
5) 高效的網(wǎng)絡(luò)數(shù)據(jù)信息傳輸:客戶(hù)端與服務(wù)器端主要采取XML數(shù)據(jù) 和 WebServices兩種方式交互,在這兩種方式下,客戶(hù)端和服務(wù)器端僅僅傳遞必要的數(shù)據(jù)信息,這與傳統(tǒng)HTML網(wǎng)頁(yè)的交互數(shù)據(jù)和顯示信息混在一起傳輸?shù)姆绞较啾人蟠蠼档土藬?shù)據(jù)通訊量,降低了對(duì)網(wǎng)絡(luò)帶寬的要求,下面是兩類(lèi)技術(shù)的數(shù)據(jù)流量狀況對(duì)比:
從上述數(shù)據(jù)中可以看出基于RIA技術(shù)的WebTop應(yīng)用對(duì)于多次請(qǐng)求的處理情況能夠有更平均更穩(wěn)定的性能表現(xiàn),而傳統(tǒng)的HTML應(yīng)用在業(yè)務(wù)復(fù)雜度提高時(shí)表現(xiàn)出極大的限制。
6) 多個(gè)應(yīng)用同時(shí)工作:利用WebTop平臺(tái),我們可以像在PC的桌面上一樣,打開(kāi)幾個(gè)應(yīng)用程序同時(shí)工作而互不干擾,也可以在不同的應(yīng)用之間進(jìn)行一些互操作。而在目前基于傳統(tǒng)網(wǎng)頁(yè)技術(shù)的應(yīng)用程序中,如果存在多個(gè)應(yīng)用,則幾乎不可能做到這一點(diǎn)。
7) 快速的開(kāi)發(fā)和部署:WebTop平臺(tái)提供了一套API, 利用這些API可以快速開(kāi)發(fā)基于WebTop的網(wǎng)絡(luò)應(yīng)用。并且通過(guò)配置文件就可以將這些應(yīng)用部署到WebTop平臺(tái)中,是非常靈活的開(kāi)發(fā)方式。
8) 高度的個(gè)性化可配置性:傳統(tǒng)的基于web的應(yīng)用只能在顯示風(fēng)格上略作配置。然而WebTop 平臺(tái)可以最大限度的給予用戶(hù)個(gè)性化的定制空間,用戶(hù)不僅可以定義顯示風(fēng)格、還可以定義平臺(tái)上應(yīng)用的種類(lèi)、個(gè)數(shù)、大小。
9) 具有通信包括實(shí)時(shí)互動(dòng)的聲音和圖像的特點(diǎn),充分利用了被廣泛采納的互聯(lián)網(wǎng)標(biāo)準(zhǔn)。
3.3 應(yīng)用價(jià)值
對(duì)于企業(yè)來(lái)說(shuō),選擇RIA的好處在于:
1) RIA可以繼續(xù)使用現(xiàn)有的應(yīng)用程序模型(包括J2EE和.NET),因而無(wú)需大規(guī)模替換現(xiàn)有的Web應(yīng)用程序。通過(guò)Rich Client技術(shù),可以輕松構(gòu)建更為直觀、易于使用、反應(yīng)更迅速并且可以脫機(jī)使用的應(yīng)用程序。
2) RIA可以幫助企業(yè)提供多元化的重要業(yè)務(wù)效益,包括產(chǎn)品提高銷(xiāo)量、提高品牌忠誠(chéng)度、延長(zhǎng)網(wǎng)站逗留時(shí)間、較頻繁的重復(fù)訪問(wèn)、減少帶寬成本、減少支持求助以及增強(qiáng)客戶(hù)關(guān)系等,具體表現(xiàn)如下:
① 在線上更密切的接觸、引導(dǎo)和聆聽(tīng)顧客,有如親身和顧客打交道一般;以提高忠誠(chéng)度、改善服務(wù)、加深顧客關(guān)系、突出公司形象或引導(dǎo)產(chǎn)品開(kāi)發(fā)。
② 利用聲音、圖像、文本和圖形來(lái)創(chuàng)造引人入勝的網(wǎng)站,以制造線索、增加銷(xiāo)量、簡(jiǎn)化通信和創(chuàng)造一個(gè)值得多次訪問(wèn)的獨(dú)特在線體驗(yàn)。

圖3 帶寬使用比較
③ 將一般網(wǎng)上復(fù)雜的過(guò)程如注冊(cè)、配置或采購(gòu)加以簡(jiǎn)化,以提高線索量、銷(xiāo)量、預(yù)定、逗留在網(wǎng)站的時(shí)間和重復(fù)訪問(wèn)次數(shù)。
④ 將信息以清楚、創(chuàng)新、直覺(jué)和有效的方式向雇員、管理層和伙伴表達(dá),以提高生產(chǎn)率、信息共享、決策和競(jìng)爭(zhēng)優(yōu)勢(shì)。
⑤ 為基礎(chǔ)網(wǎng)絡(luò)服務(wù)提供一個(gè)吸引人兼高度互動(dòng)的表達(dá)層,容許用戶(hù)在線和離線操作。
⑥ 減少高通信量網(wǎng)站因高度頁(yè)面刷新率的帶寬成本。
⑦ 通過(guò)互聯(lián)網(wǎng)渠道顯著提高產(chǎn)品和服務(wù)銷(xiāo)量。
⑧ 利用比其它網(wǎng)絡(luò)科技較低的成本建設(shè)一個(gè)吸引人和高度互動(dòng)的網(wǎng)站或應(yīng)用。
參考文獻(xiàn):
[1] Barber S,Tretola R.Adobe Flex高級(jí)編程[M].北京:人民郵電出版社,2008:639.
[2] Introduction to Flex 2[M].Reilly出版社,2007:88.
[3] 黃曦.完全手冊(cè)Flex3.0RLA開(kāi)發(fā)詳解:基于ActionScript3.0實(shí)現(xiàn)(完全手冊(cè))[M].北京:電子工業(yè)出版社,2008:628.
[4] 邱彥林.Flex第一步-基于ActionScript 3.0的Flex 2應(yīng)用開(kāi)發(fā)[M].北京:清華大學(xué)出版社,2007:553.