深入剖析Flex和Flash的關(guān)系
在學(xué)習(xí)Flex的過(guò)程中,你可能會(huì)遇到Flex和Flash關(guān)系這方面的問(wèn)題,這里和大家分享一下,F(xiàn)lex和Flash都以ActionScript作為其核心編程語(yǔ)言,并被編譯成swf文件運(yùn)行于Flashplayer虛擬機(jī)里。
Flex和Flash關(guān)系
首先這里想說(shuō)的是,F(xiàn)lash并非只是一個(gè)單純的矢量動(dòng)畫創(chuàng)作工具,而是一個(gè)憑借腳本語(yǔ)言ActionScript在功能和定位上不斷演變的網(wǎng)絡(luò)應(yīng)用開發(fā)工具。早在FlashMX的時(shí)候就已經(jīng)成為macroemdia推廣RIA戰(zhàn)略的工具。但是畢竟Flash最初的定位是面向美工的矢量動(dòng)畫創(chuàng)作工具,并不適合傳統(tǒng)的開發(fā)人員。于是Flex成為開發(fā)者們的首選。
Flex和Flash都以ActionScript作為其核心編程語(yǔ)言,并被編譯成swf文件運(yùn)行于Flashplayer虛擬機(jī)里。因此Flex也繼承了Flash在表示層上先天性的美感、除了視覺(jué)上的舒適感外,還天生具備方便的矢量圖形、動(dòng)畫和媒體處理接口。
雖然Flex和Flash有眾多的相似點(diǎn),但是不同之處仍然很多
1.盡管公用ActionScript,但是使用的庫(kù)并不完全相同,更合適的說(shuō)法是兩者使用著兩套具有極大“功能重疊”范圍的庫(kù)。
2.Flash偏向的是美工人員,所以更容易發(fā)揮特效處理的優(yōu)勢(shì),F(xiàn)lex偏向開發(fā)人員,所以容易做出具有豐富交互功能的應(yīng)用程序。
3.Flash只能以ActionScript腳本的形式開發(fā)(舞臺(tái)被關(guān)聯(lián)到一個(gè)稱之為documentclass的類里),另外舞臺(tái)元素也是可以綁定腳本的,不過(guò)從軟件工程的角度講不建議這樣用,F(xiàn)lex還可以使用稱作mxml的標(biāo)記語(yǔ)言來(lái)描述應(yīng)用的外觀和行為,mxml中可以直接嵌入ActionScript腳本。
4.由于第三點(diǎn)而造成的兩者市場(chǎng)定位不同,F(xiàn)lex是面向企業(yè)級(jí)的網(wǎng)絡(luò)應(yīng)用程序,F(xiàn)lash則面向諸如平面動(dòng)畫、廣告設(shè)計(jì)等多媒體展示程序。
5.借助FlashLite這一移動(dòng)設(shè)備上的Flashplayer,F(xiàn)lash可以開發(fā)移動(dòng)應(yīng)用,F(xiàn)lex則不行。
6.Flash的編程模型是基于時(shí)間軸的,F(xiàn)lex的則是基于窗體,雖然它運(yùn)行在網(wǎng)頁(yè)里。
【編輯推薦】