上大學(xué)的時候,看到好多精彩炫麗的flash,學(xué)習(xí)了一些flash的知識。那個時候不怎么會寫腳本,就用動畫的概念一幀一幀的拼出一個flash。后來工作以后,給客戶在線演示產(chǎn)品,有接觸了Captivate。2006年末的時候,客戶要求開發(fā)一個在線產(chǎn)品展示平臺,我偶然搜到了adobe用flex開發(fā)的網(wǎng)上購物演示,就體會到如果用flex來實現(xiàn)這個產(chǎn)品展示平臺將是很動人的事情,由于某種原因最終未能如愿。最近在做一個通用視頻培訓(xùn)平臺時又用到了FLV播放器,也是用Flex開發(fā)的,最終效果和土豆、優(yōu)酷非常類似。這些場景使我對flash的展現(xiàn)效果情有獨(dú)鐘,況且有adobe這樣的公司在運(yùn)作flash,如果可能的話應(yīng)該在合適的場合來把flex集成到我們現(xiàn)在開發(fā)的應(yīng)用中,比如圖表功能、表單功能、打印功能等等。基于以上的經(jīng)歷和思路,決定花功夫?qū)W習(xí)一下flex還是值得的。
首先,到adobe官方網(wǎng)站下載flex builder 3(當(dāng)前最新版本)并安裝。安裝完畢后會看到一些入門文章中提到的Flex SDK已經(jīng)在builder中存在了,所以初學(xué)僅下載個builder就夠了。
然后,打開builder發(fā)現(xiàn)它就是基于eclipse開發(fā)的,我想這個IDE對于大多數(shù)java開發(fā)著再熟悉不過了。首次進(jìn)入時會有一個歡迎界面和初學(xué)者向?qū)В冶容^習(xí)慣看看這些東西,點(diǎn)擊下載提供的入門工程Flex3GSEIII_a_WorkingWithData_JSP,并導(dǎo)入builder中。看看工程結(jié)構(gòu)跟我們平時的JAVAEE工程有了一些不同。多了bin-debug和html-template文件夾,文件類型主要是*.mxml、*.as。在工程的左側(cè)視圖右鍵*.mxml運(yùn)行(類似與運(yùn)行java文件),會有一個編譯過程,過后彈出一個html,html中運(yùn)行的正式flash。當(dāng)時比較好奇,一個mxml是如何經(jīng)過編譯產(chǎn)生html和flash的,打開剛才提到的bin-debug發(fā)現(xiàn)兩個文件生成到了這個文件夾。仔細(xì)讀一下mxml的代碼發(fā)現(xiàn)跟XHTML基本類似,其中的一些function都是AS寫的。至此我分析得到如下結(jié)論:mxml+as-->swf,中間的轉(zhuǎn)換是adobe集成在builder中的轉(zhuǎn)換工具完成的。如此跟我們以往HTML+JS的編程習(xí)慣很類似了,并且XHTML與AS的結(jié)合更緊密一些。由于初學(xué)原理性的知識我就理解至此了。
最后,我們關(guān)心的是用flex都能實現(xiàn)哪些控件,并且控件的效果如何。我沒有迫不及待的去google,而是又深入到builder的安裝目錄下,在D:\Flex Builder 3\sdks\3.0.0發(fā)現(xiàn)了好東西,別的我不關(guān)心,先看samples,子目錄下有一個explorer,其中包含一個build.bat。看到這個bat我更加確定了我以上的結(jié)論。于是運(yùn)行bat,開始編譯其下的mxml文件逐一生成swf文件。花一段時間生成完畢,打開類似于index的swf文件,sdk中提供的樣例控件就都盡收眼底了。
后續(xù):有源文件,有開發(fā)工具,你可以隨意擺弄這些代碼,熟悉語法,熟悉開發(fā)環(huán)境,熟悉對象屬性,拼拼湊湊完成自己的一個組合界面了。