全面認(rèn)識(shí)AdobeFlex3
本文向大家簡(jiǎn)單介紹一下AdobeFlex3的概念,F(xiàn)lex的component和flash的component很相似,但是有所改進(jìn)增強(qiáng)。目前Macromedia公司已經(jīng)被ADOBE公司收購(gòu)。當(dāng)前(2008年10月)的Flex版本為3.0。
AdobeFlex3簡(jiǎn)介
MacromediaFlash是強(qiáng)大的矢量動(dòng)畫編輯工具,在做動(dòng)畫起家之后,F(xiàn)lash一直在謀求richinternetapplication(ria富客戶端)的霸主地位,最有影響的是,已經(jīng)推出了面向?qū)ο蟮木幊棠_本ActionScript3.0,并且建立起類似于javaswing的類庫(kù)和相應(yīng)component(組件)。Flex是通過java或者.net等非Flash途徑,解釋.mxml文件組織components,并生成相應(yīng)的.swf文件。Flex的component和flash的component很相似,但是有所改進(jìn)增強(qiáng)。目前Macromedia公司已經(jīng)被ADOBE公司收購(gòu)。當(dāng)前(2008年10月)的Flex版本為3.0。
運(yùn)用Flash是完全可以做到Flex的效果的,為什么還需要AdobeFlex3呢?這里面有兩個(gè)原因:
1:為了迎合更多的developers(開發(fā)者)。Flash天生是為了designer(設(shè)計(jì)者)設(shè)計(jì)的,界面還有flash的動(dòng)畫概念和程序開發(fā)人員格格不入,為了吸引更多的jsp/asp/php等程序員,Macromedia推出了Flex,用非常簡(jiǎn)單的.mxml來描述界面給jsp/asp/php程序人員使用.(x/d)html非常相似,而且mxml更加規(guī)范化、標(biāo)準(zhǔn)化。
2:為了一個(gè)標(biāo)準(zhǔn)。大家一定聽說過微軟最新一代操作系統(tǒng)longhorn(即vista,后續(xù)的win7也是同一核心),在longhorn推出的同時(shí)微軟也推出了新的語言xaml,一種界面描述語言,與之相應(yīng)的就是smartclient和Flex非常相似的東西(即SilverLight)。Mxml和Xaml的也很相似……這是人機(jī)交互技術(shù)的進(jìn)步的重要體現(xiàn),即內(nèi)部邏輯與外部界面交互相分離。
Flex和j2ee/.net其實(shí)沒什么關(guān)系,Macromedia用java做出來個(gè)應(yīng)用把flash的技術(shù)融合到J2EE里面,再用.net的技術(shù)做出來個(gè).net應(yīng)用把flash技術(shù)融合到.net里面去;應(yīng)該說AdobeFlex3解決了J2EE里面和.net里面最繁瑣的問題那就是web客戶端的問題。
成因
傳統(tǒng)的程序員在開發(fā)動(dòng)畫應(yīng)用方面存在困難,F(xiàn)lex平臺(tái)最初就是因此而產(chǎn)生。AdobeFlex3試圖通過提供一個(gè)程序員們已經(jīng)熟知的工作流和編程模型來改善這個(gè)問題。RIA相互之間關(guān)系Flex最初是作為一個(gè)J2EE(Java2Platform,EnterpriseEdition)應(yīng)用,或者可以說是JSP(JavaServerPages)標(biāo)簽庫(kù)而發(fā)布的。它可以把運(yùn)行中的MXML(Flex標(biāo)記語言)和ActionScript編譯成FLASH應(yīng)用程序(即二進(jìn)制的SWF文件)。最新版的Flex支持創(chuàng)建靜態(tài)文件,該文件使用解釋編譯方式并且不需要購(gòu)買服務(wù)器許可證就可以在線部署。
AdobeFlex3的目標(biāo)是讓程序員更快更簡(jiǎn)單地開發(fā)RIA應(yīng)用。在多層式開發(fā)模型中,AdobeFlex3應(yīng)用屬于表現(xiàn)層。
AdobeFlex3采用GUI界面開發(fā),使用基于XML的MXML語言。Flex具有多種組件,可實(shí)現(xiàn)WebServices,遠(yuǎn)程對(duì)象,draganddrop,列排序,圖表等功能;Flex內(nèi)建動(dòng)畫效果和其它簡(jiǎn)單互動(dòng)界面等。相對(duì)于基于HTML的應(yīng)用(如PHP、ASP、JSP、ColdFusion及CFMX等)在每個(gè)請(qǐng)求時(shí)都需要執(zhí)行服務(wù)器端的模板,由于客戶端只需要載入一次,F(xiàn)lex應(yīng)用程序的工作流被大大改善。Flex的語言和文件結(jié)構(gòu)也試圖把應(yīng)用程序的邏輯從設(shè)計(jì)中分離出來。
Flex服務(wù)器也是客戶端和XMLWebServices及遠(yuǎn)程對(duì)象(ColdfusionCFCs,或Java類,等支持ActionMessageFormat的其他對(duì)象)之間通訊的通路。
一般被認(rèn)為可能是Flex替代品的是OpenLaszlo和AJAX技術(shù)。
【編輯推薦】