主流RIA技術(shù)和Flex關(guān)系揭秘
Flex技術(shù)是RIA開發(fā)技術(shù)中的一種,本文和大家分享一下Flex背景,F(xiàn)lex技術(shù)的優(yōu)勢(shì)得天獨(dú)厚,有強(qiáng)大的Flash平臺(tái)作后盾。
RIA概述
本文內(nèi)容介紹Flex背景和技術(shù)特點(diǎn),并通過示例程式來(lái)展示Flex的界面效果和技術(shù)內(nèi)涵。
Internet已經(jīng)是我們生活的一部分,而“看webpage”可以說是網(wǎng)絡(luò)瀏覽者與Internet最簡(jiǎn)單的溝通方式。打開瀏覽器,進(jìn)入一個(gè)網(wǎng)絡(luò)瀏覽,這就是瀏覽者們看到的最直觀的Internet的外表。盡管頁(yè)面上不是單一的文字,但也僅僅是“頁(yè)”。然而如今這些傳統(tǒng)的呆板的“頁(yè)”已經(jīng)不再能滿足網(wǎng)絡(luò)瀏覽者的要求了。多媒體、多元化的信息表現(xiàn)在一個(gè)頁(yè)面上,的確很是單薄。
另一方面,DEV人員也一直在為過分依賴于頁(yè)面刷新、請(qǐng)求響應(yīng)等諸多傳統(tǒng)webpageDEV技術(shù)固有的問題而煩惱。當(dāng)然我們不能忽略B/S架構(gòu)能夠取代C/S長(zhǎng)期大行其道有一個(gè)重要的因素,就是網(wǎng)絡(luò)帶寬問題。
◆傳統(tǒng)webpage內(nèi)容簡(jiǎn)單,節(jié)省網(wǎng)絡(luò)帶寬的優(yōu)勢(shì)是與生俱來(lái)的,而如今網(wǎng)絡(luò)技術(shù)在不斷地發(fā)展,軟硬件發(fā)展又達(dá)到了一個(gè)并駕齊驅(qū)的時(shí)期,軟體Systam已經(jīng)不需要等待硬件的發(fā)展而發(fā)展。有了強(qiáng)烈的需求,又有了充足的硬件基礎(chǔ),新技術(shù)應(yīng)運(yùn)而生,RiChInternetAppliCation(RIA)的出現(xiàn)給網(wǎng)絡(luò)瀏覽者和DEV人員都帶來(lái)了全新的體驗(yàn)。
RiChInternetAppliCation即是富因特網(wǎng)應(yīng)用程式,其特點(diǎn)也體現(xiàn)在一個(gè)“富”字上,傳統(tǒng)的HTML頁(yè)面帶給用戶的頁(yè)面元素是極其有限的,輸入框、選擇框、下拉框等無(wú)法替換的元素,恐怕早就對(duì)瀏覽者帶來(lái)了審美疲勞,更何況在功能上也存在著很大不足。對(duì)比傳統(tǒng)頁(yè)面,RIA的界面是“富”的,基本上一個(gè)桌面程式能表現(xiàn)出來(lái)的效果,RIA都能表現(xiàn)。
圖1.1中的網(wǎng)絡(luò)是一個(gè)名為sCrapblog的博客網(wǎng)絡(luò),與我們常見到的博客網(wǎng)絡(luò)不同,這個(gè)網(wǎng)絡(luò)使用一種RIA技術(shù)構(gòu)建,在頁(yè)面表現(xiàn)力和交互性上都遠(yuǎn)遠(yuǎn)超過了常見的博客webpage。
圖1.1使用RIA技術(shù)呈現(xiàn)的網(wǎng)絡(luò)——sCrapblog(點(diǎn)擊上圖放大)
如果說RIA的優(yōu)勢(shì)僅僅是豐富的界面表現(xiàn)能力的話,那么大家會(huì)認(rèn)為這不過就是個(gè)C/S架構(gòu),RIA的另一大特點(diǎn)也正是與C/S架構(gòu)最大的不同:Data上的“富”。傳統(tǒng)的webpageDEV基于HTTP規(guī)則,Data的交互依賴于請(qǐng)求/響應(yīng)機(jī)制;界面的交互則需要進(jìn)行頁(yè)面的跳轉(zhuǎn)和刷新。RIA的處理則有很大不同,在客戶端可以進(jìn)行完整的Data處理,與用戶的交互更加友好、更加迅速;界面交互并不依賴頁(yè)面,消息通過異步請(qǐng)求傳遞,面向用戶界面中的各個(gè)小模塊,客戶端的模塊之間關(guān)系清晰,處理起來(lái)更加靈活。
◆對(duì)于企業(yè)級(jí)應(yīng)用來(lái)說,RIA技術(shù)并不需要替換掉現(xiàn)有的體系結(jié)構(gòu)模型,如java編程編程EE(以前稱J2EE環(huán)境)、ASP.NET架構(gòu)等。RIA技術(shù)通常可以和企業(yè)級(jí)應(yīng)用體系結(jié)構(gòu)很好地進(jìn)行整合。將原有的Systam構(gòu)建成更易用、更直觀、更迅速的“webpage應(yīng)用程式”。在不會(huì)影響到原有應(yīng)用的前提下,RIA技術(shù)對(duì)表現(xiàn)層進(jìn)行了大幅度的增強(qiáng),進(jìn)一步提升界面的友好程度,并且減少了用戶與Systam的遠(yuǎn)程交互頻率,減少了帶寬需求。
RIADEV技術(shù)已經(jīng)有很多種,Adobe公司的Flex發(fā)展日趨成熟,Microsoft公司的SilverLight及Sun公司的java編程編程FX也嶄露頭角。Flex技術(shù)的優(yōu)勢(shì)得天獨(dú)厚,有強(qiáng)大的Flash平臺(tái)作后盾,SilverLight和java編程編程FX在RIA的呈現(xiàn)上則各有側(cè)重,SilverLight作為一個(gè)瀏覽器插件支持廣泛,而且對(duì)于java編程編程SCript和Microsoft的ASP.NET技術(shù)無(wú)縫結(jié)合,而java編程編程FX體系不僅希望利用編寫更容易的java編程編程FXSCript取代java編程編程SCript,更是提供了java編程編程FXMobile,為手機(jī)及移動(dòng)設(shè)備增加了應(yīng)用程式支持。
Flex簡(jiǎn)介
Flex是一種基于標(biāo)準(zhǔn)編程模型的高效RIADEV產(chǎn)品集,最初由MaCromedia公司在2004年發(fā)布,后被Adobe公司冠以商標(biāo)。Flex最大的特點(diǎn)是基于全球流行的網(wǎng)絡(luò)動(dòng)畫平臺(tái)——MaCromediaFlash。2000年以來(lái),F(xiàn)lash動(dòng)畫愈發(fā)火爆,“閃客”們的作品為Internet增添了絢麗的色彩,而Flash的播放器FlashPlayer已經(jīng)成為瀏覽器上首選的不可或缺的插件,為了看到頁(yè)面中生動(dòng)的Flash動(dòng)畫,大部分瀏覽者都會(huì)安裝FlashPlayer。通過Flex技術(shù),DEV人員可以將RIA程式編譯成為Flash文檔,為FlashPlayer所接受,也就是說,F(xiàn)lex技術(shù)所DEV出來(lái)的程式對(duì)于大部分瀏覽者而言并不需要安裝額外的客戶端支持,這是一個(gè)得天獨(dú)厚的優(yōu)勢(shì)。
“基于標(biāo)準(zhǔn)編程模型的高效RIADEV產(chǎn)品集”,這是Adobe公司對(duì)Flex技術(shù)的官方定義。下面我們就來(lái)進(jìn)行詳細(xì)的分析。
一個(gè)完整的Flex程式由MXML編程codes和ACtionSCriptcodes組成。MXML編程基于XML編程標(biāo)準(zhǔn),用于配置和設(shè)計(jì)Flex程式的界面及編寫表現(xiàn)層Data模型;ACtionSCript基于ECMASCript,原來(lái)用于設(shè)計(jì)Flash動(dòng)畫,其語(yǔ)言規(guī)則規(guī)范類似于java編程編程SCript。這樣兩種基于W3C標(biāo)準(zhǔn)的DEVlanguage就構(gòu)成了Flex程式,兩種language的關(guān)系類似于HTML和java編程編程SCript,這樣一來(lái)(尤其對(duì)于傳統(tǒng)webpageDEV者來(lái)說),F(xiàn)lex根本沒有什么門檻。
【編輯推薦】