Flex和Flash關(guān)系揭秘
在學習Flex的過程中,你可能會遇到Flex和Flash關(guān)系問題,這里和大家分享一下,首先讓我們來看一下AdobeFlex簡介的概念, Flex通常是指AdobeFlex,是一款生成掃描器的工具,能夠識別文本中的詞法模式。
AdobeFlex簡介
Flex通常是指AdobeFlex,是最初由Macromedia公司在2004年3月發(fā)布的,基于其專有的MacromediaFlash平臺,它是涵蓋了支持RIA(RichInternetApplications)的開發(fā)和部署的一系列技術(shù)組合。Flex的另一個意思是是一款生成掃描器的工具,能夠識別文本中的詞法模式。
MacromediaFlash是強大的矢量動畫編輯工具,在做動畫起家之后,F(xiàn)lash一直在謀求RIA(richinternetapplication)富客戶端的霸主地位,最有影響的是,已經(jīng)推出了面向?qū)ο蟮木幊棠_本ActionScript3.0,并且建立起類似于javaswing的類庫和相應component(組件)。Flex是通過java或者.net等非Flash途徑,解釋.mxml文件組織components,并生成相應的.swf文件。Flex的component和flash的component很相似,但是有所改進增強。目前Macromedia公司已經(jīng)被ADOBE公司收購。當前(2008年10月)的Flex版本為3.0。(現(xiàn)在已經(jīng)4.0了(2010年))
運用Flash是完全可以做到Flex的效果的,為什么還需要Flex呢?這里面有兩個原因:
1:為了迎合更多的developers(開發(fā)者)。Flash天生是為了designer(設計者)設計的,界面還有flash的動畫概念和程序開發(fā)人員格格不入,為了吸引更多的jsp/asp/php等程序員,Macromedia推出了Flex,用非常簡單的.mxml來描述界面給jsp/asp/php程序人員使用.(x/d)html非常相似,而且mxml更加規(guī)范化、標準化。
2:為了一個標準。大家一定聽說過微軟***一代操作系統(tǒng)longhorn(即vista,后續(xù)的win7也是同一核心),在longhorn推出的同時微軟也推出了新的語言xaml,一種界面描述語言,與之相應的就是smartclient和Flex非常相似的東西(即SilverLight)。Mxml和Xaml的也很相似……這是人機交互技術(shù)的進步的重要體現(xiàn),即內(nèi)部邏輯與外部界面交互相分離。
Flex和j2ee/.net其實沒什么關(guān)系,Macromedia用java做出來個應用把flash的技術(shù)融合到J2EE里面,再用.net的技術(shù)做出來個.net應用把flash技術(shù)融合到.net里面去;應該說Flex解決了J2EE里面和.net里面最繁瑣的問題那就是web客戶端的問題。
Flex與Flash的關(guān)系
首先這里想說的是,F(xiàn)lash并非只是一個單純的矢量動畫創(chuàng)作工具,而是一個憑借腳本語言ActionScript在功能和定位上不斷演變的網(wǎng)絡應用開發(fā)工具。早在FlashMX的時候就已經(jīng)成為macroemdia推廣RIA戰(zhàn)略的工具。但是畢竟Flash最初的定位是面向美術(shù)動畫設計師的矢量動畫創(chuàng)作工具,并不適合傳統(tǒng)的開發(fā)人員。于是Flex成為開發(fā)者們的***。
與FLASHFlex和Flash都以ActionScript作為其核心編程語言,并被編譯成swf文件運行于Flashplayer虛擬機里。因此Flex也繼承了Flash在表示層上先天性的美感、除了視覺上的舒適感外,還天生具備方便的矢量圖形、動畫和媒體處理接口。
雖然Flex和Flash有眾多的相似點,但是不同之處仍然很多:
1.盡管公用ActionScript,但是使用的庫并不完全相同,更合適的說法是兩者使用著兩套具有極大“功能重疊”范圍的庫。
2.Flash偏向的是美術(shù)動畫設計師人員,所以更容易發(fā)揮特效處理的優(yōu)勢,F(xiàn)lex偏向開發(fā)人員,所以容易做出具有豐富交互功能的應用程序。
3.Flash只能以ActionScript腳本的形式開發(fā)(舞臺被關(guān)聯(lián)到一個稱之為documentclass的類里),另外舞臺元素也是可以綁定腳本的,不過從軟件工程的角度講不建議這樣用,F(xiàn)lex還可以使用稱作mxml的標記語言來描述應用的外觀和行為,mxml中可以直接嵌入ActionScript腳本。
4.由于第三點而造成的兩者市場定位不同,F(xiàn)lex是面向企業(yè)級的網(wǎng)絡應用程序,F(xiàn)lash則面向諸如平面動畫、廣告設計等多媒體展示程序。
5.借助FlashLite這一移動設備上的Flashplayer,F(xiàn)lash可以開發(fā)移動應用,F(xiàn)lex則不行。
6.Flash的編程模型是基于時間軸的,F(xiàn)lex的則是基于窗體,雖然它運行在網(wǎng)頁里。
【編輯推薦】
- 探究Flex4打印功能的實現(xiàn)
- 常用FlexBuilder快捷鍵用法指導
- Flex框架Riawave的定制應用
- 技術(shù)前沿 Flex2.0 從零開始實現(xiàn)文件上傳
- FlexBuilder開發(fā)方法及特點解析