Flex與Flash關(guān)系揭秘
在使用Flex的過(guò)程中,那面會(huì)遇到Flex和Flash關(guān)系問(wèn)題,這里向大家介紹一下Flex與Flash的區(qū)別,F(xiàn)lash是一種創(chuàng)作工具,設(shè)計(jì)人員和開(kāi)發(fā)人員可使用它來(lái)創(chuàng)建演示文稿、應(yīng)用程序和其它允許用戶交互的內(nèi)容。
Flex與Flash區(qū)別
AS:ActionScript一種運(yùn)行在AVM(ActionScriptVirtualMachine)上腳本語(yǔ)言。
Flex:
1.FlexSDK,基于Flash平臺(tái)的軟件開(kāi)發(fā)包,F(xiàn)lexSDK包含了Web應(yīng)用程序框架(framework)和桌面離線應(yīng)用程序框架(airframework);
2.FlexBuilder,利用FlexSDK開(kāi)發(fā)軟件的IDE(IntegratedDevelopmentEnvironment集成開(kāi)發(fā)環(huán)境)。
3.基于FlexSDK中的framework,使用FlexBuilder開(kāi)發(fā)Web應(yīng)用程序。
◆AIR:AdobeIntegratedRuntime
1.基于Flash平臺(tái)的桌面離線應(yīng)用程序運(yùn)行環(huán)境。
2.基于FlexSDK中的airframework,使用FlexBuilder開(kāi)發(fā)桌面離線應(yīng)用程序。
FlexBuilder不僅僅可以開(kāi)發(fā)Flex應(yīng)用程序,也可以開(kāi)發(fā)AIR應(yīng)用程序。
◆AS3是用來(lái)開(kāi)發(fā)這些應(yīng)用程序的語(yǔ)言,是基礎(chǔ)。從Flex和AIR的編譯過(guò)程也可以看到這一點(diǎn)(簡(jiǎn)化版):
1.將MXML文件翻譯成AS3文件
2.將AS3編譯成abc
3.將abc及其他資源打包進(jìn)SWF文件
Flash:
一種創(chuàng)作工具,設(shè)計(jì)人員和開(kāi)發(fā)人員可使用它來(lái)創(chuàng)建演示文稿、應(yīng)用程序和其它允許用戶交互的內(nèi)容。
可以說(shuō)Flex和AIR可以做到的用Flash都可以做到。只不過(guò)FlexSDK和AIRruntime簡(jiǎn)化了許多工作。對(duì)開(kāi)發(fā)人員更加友好。
◆mf是macromediaflash
Flash有時(shí)間線的概念,而FLEX的SDK則把時(shí)間線這個(gè)東東向開(kāi)發(fā)人員隱藏了,因此采用FLEX開(kāi)發(fā)項(xiàng)目的時(shí)候就和你用DELPHI,VB,C#那樣,直接拖放控件,編寫(xiě)代碼即可,而不是像MF那樣,把東西拖放的時(shí)間線上。
理論上講Flex能做到的Flash都能做到,F(xiàn)lash能做的Flex都能做。不過(guò)Flex的時(shí)間軸只有兩幀,systemManager,Preloader,DownloadProgressBar等等在第一幀,其他的都在第二幀。做網(wǎng)頁(yè)游戲因?yàn)楦嗟氖菙?shù)據(jù)的變化,所以我覺(jué)得Flex更適合些,不過(guò)FLASH9的組件和架構(gòu)和FLEX的不一樣,很多類庫(kù)也不一樣。
很久沒(méi)用FLASH了,不過(guò)沒(méi)記錯(cuò)的話
FLEX和FLASH的組件都是從繼承flash.display.sprite開(kāi)始寫(xiě)的
flash.*開(kāi)頭的類庫(kù),基本上FLEX和FLASH都是一樣的。
而fl.*開(kāi)頭的是flash獨(dú)有而FLEX沒(méi)有的類
而mx.*開(kāi)頭的就是FLEX獨(dú)有的類
◆因?yàn)樾枰_(kāi)發(fā)一個(gè)稍微復(fù)雜一點(diǎn)的界面。在選擇到底是flex還是flash方面做了一些評(píng)估測(cè)試。
1.開(kāi)發(fā)的方便性和可維護(hù)性
因?yàn)閳F(tuán)隊(duì)的絕大多數(shù)成員以前是C++的Coder,所以個(gè)人傾向于用flex.flash的源文件是fla的,管理起來(lái)總沒(méi)有這么方便。有點(diǎn)修改就要重新提交一個(gè)fla,不利于cvs的增量備份,查看那些地方有修改也挺麻煩的。
2.發(fā)布文件的大小
都使用release形式發(fā)布,并且使用RSL,類似C++中的dll。flex的空項(xiàng)目大小為51KB,flash基本就是幾k。這個(gè)差別還是挺大的,所以如果只是做個(gè)簡(jiǎn)單的界面,還是用flash會(huì)比較好。
【編輯推薦】
- 解析Flex數(shù)據(jù)綁定的幾種方式
- 三步輕松實(shí)現(xiàn)Flex調(diào)用MapABC地圖
- 學(xué)習(xí)總結(jié) 在Flex中如何嵌入Flex字體
- 揭開(kāi)Flex正則表達(dá)式的神秘面紗
- Flex數(shù)據(jù)綁定及其使用頻繁的幾種情況