第一章. Flex 與 ActionScript 基礎 (常青)
一個Flex應用程式有ActionScript和MXML兩種語言程式碼群組成。從3.0開始ActionScript已經從基於原型指令碼語言進化到完全物件導向的,強型別的符合ECMAScript標準的指令碼語言。MXML則是一種標記語言,非常類似於大家所熟悉的超文字標記語言 (HTML)(HTML),擴充標記語言(XML)。
如何把MXML和ActionScript相互關聯起來呢?對於編譯器來說,解析這兩種文法後最終被翻譯成同一個對象,比如:
<mx:Button id="btn" label="My Button" height="100"/>
和
var btn:Button = new Button();
btn.label = "My Button";
btn.height = 100;
產生的是同一個對象,兩者的主要不同是,ActionScript建立的對象 (上面第二個例子)除了Button就沒有別的了,而MXML中建立的對象將Button添加到包含MXML代碼的任何組件上。Flex架構根據MXML中的對象描述來調用建構函式,然後將其添加到父物件上或設定其為父物件的某個屬性。
MXML檔案中可用<mx:Script>標籤包含ActionScript,不過ActionScript檔案是不能包含在MXML裡的。你可以這樣理解:MXML是描述應用程式外觀及其組件,而ActionScript則描述如何處理應用程式的事件和自訂邏輯,雖然這麼說不完全確切,但可以讓你明白這兩者之間的大致關係。在某些方面,比如迴圈,函數定義,條件陳述式等等都必須通過ActionScript實現,除了最簡單程式可能不需要ActionScript外,絕大多數都是需要MXML和ActionScript 來相互協作。
這一章討論的內容很多都是關於MXML和ActionScript互動問題:用MXML建立組件,在ActionScript中建立類,添加事件監聽器,編寫ActionScript和MXML代碼,建立函數申明,雖然沒有列舉所有的內容,但這些都是ActionScript和MXML的基礎內容。
1.1節. 用Flex Builder建立Flex項目
1.1.1. 問題
我想用Flex Builder建立Flex項目.
1.1.2. 解決方案
使用Create New Project 嚮導
1.1.3. 討論
Flex Builder構建在Eclipse之上,eclipse是一個非常好的互動式開發環境(IDE),非常流行的Java開發工具。雖然開發Flex程式不一定要Flex Builder,但是Flex Builder提供了很多優秀特性可協助你有效提高設計和開發效率,Flex Builder 可獨立安裝也可作為eclipse外掛程式形式安裝。
對於開發人員來說第一件事就是如何建立一個Flex項目。Flex項目和其他項目有點不一樣,因為它需要包含SWC (Flex庫) Flex library SWC (不像ActionScript項目) 編譯產生的可被Flash播放器執行的SWF檔案(不像Flex Library項目)。要想建立項目,在Flex Navigator視圖中點擊滑鼠右鍵,在快顯功能表中選擇 NewFlex Project,然後會彈出建立項目對話方塊。
Figure 1-1. 建立一個Flex新項目
Figure 1-2. 用Flex Builder建立新項目
輸入項目名稱以及項目的存放路徑,Windows系統預設情況下存放在C:/Documents and Settings/Username/Documents/workspace/Projectname,而MAC系統預設情況下存放在Users/Username/Documents/workspace/Projectname,當然你可以改變它,存放到自己喜歡的位置。項目名稱必須是唯一的,不能重複。項目類型可選擇Web程式或傳統型程式(AIR程式),最後選擇可能需要的伺服器技術用於資料互動。
設定好了後,點擊Finish,設定SWF輸出目錄路徑,點擊下一步
Figure 1-3. 設定輸出SWF檔案的地區屬性
設定好SWF輸出路徑後,還要設定下源檔案存放目錄或SWC庫檔案路徑。在Source path標籤中還可添加其他目錄,在Library Path標籤中添加SWC檔案,在這個對話方塊中還可更改主MXML程式檔案名稱,預設是和項目名相同。
Figure 1-4. 設定源檔案目錄和主程式檔案名稱
Figure 1-5. 設定其他需要的庫
所以路徑設定好後,點擊Finish,項目就算建立好了,現在可以開始開發了。