Flex入門教程之新手指南
本文和大家重點(diǎn)討論一下Flex的概念,MacromediaFlex是一個用來創(chuàng)建豐富信息的互聯(lián)網(wǎng)應(yīng)用程序的服務(wù)器組件。相信通過本文的學(xué)習(xí)你對Flex入門的一些知識有明確的認(rèn)識。
Flex簡介
MacromediaFlex是一個用來創(chuàng)建豐富信息的互聯(lián)網(wǎng)應(yīng)用程序的服務(wù)器組件。Flex內(nèi)置的界面可以由MacromeidaFlash播放器顯示在客戶端系統(tǒng)上。Flex的本質(zhì)是:
◆一個描述應(yīng)用程序界面的XML語言(MXML)
◆一個ECMA規(guī)范的腳本語言(ActionScript),處理用戶和系統(tǒng)的事件,構(gòu)建復(fù)雜的數(shù)據(jù)模型
◆一個類庫
◆運(yùn)行時的即時服務(wù)
◆一個由MXML文件生成SWF文件的編譯器
MXML
MXML是一種描述Flex應(yīng)用程序構(gòu)造的XML1.0語言。每個MXML文件應(yīng)該以一個XML聲明開始:<?xmlversion="1.0"?>
和其他XML語言一樣,MXML包含元素(標(biāo)簽)和屬性,對大小寫敏感。標(biāo)簽名稱以大寫字母開頭,大小寫混合,必須有對應(yīng)的結(jié)束標(biāo)簽:
- <ComboBox></ComboBox>
也可以這樣結(jié)束對沒有內(nèi)容的標(biāo)簽:
- <ComboBox/>
屬性以小寫字母開頭,大小寫混合。屬性必須包含在引號內(nèi)。
- <ComboBoxidComboBoxid="myCombo"/>
除了click或initialize之類的事件之外,所有的屬性都被編譯器作為文本字符串處理。如果需要綁定數(shù)據(jù)或者強(qiáng)迫編譯器執(zhí)行表達(dá)式,可以將變量的部分用花括號包起來:
- <ComboBoxdataProviderComboBoxdataProvider="{myArray}"/>
大部分的屬性都可以作為子標(biāo)簽:
- <ComboBoxdataProviderComboBoxdataProvider="{myArray}"/>
等效于:
- <ComboBox><dataProvider>{myArray}</dataProvider></ComboBox>
描述應(yīng)用程序的MXML文件必須有一個位于其他元素之外的Application元素:
- <?xmlversionxmlversion="1.0"?>
- <mx:Applicationxmlns:mxmx:Applicationxmlns:mx="http://www.macromedia.com/2003/mxml">
- [otherelements...]
- </mx:Application>
注意xmlns屬性,它聲明了XML的命名空間。命名空間可以讓你在單個文檔中使用多重XML語言而避免混淆不同語言中相同的元素名稱。這里的":mx"就是一個在特定命名空間中使用的前綴。
注意:這里定義的命名空間是標(biāo)準(zhǔn)的MXML類庫,請將它包含在每個MXML文件中。
可以將聲明放在任何MXML標(biāo)簽中;聲明對該標(biāo)簽嵌套的所有標(biāo)簽有效。本系列教程中都以mx作為MXML類庫的前綴。
如需更多信息,請參閱Flex語言參考
ActionScript
ActionScript是一種類似JavaScript和其他ECMA規(guī)范的面向?qū)ο蟮哪_本語言。如果你使用過JavaScript或Java/C#等其他面向?qū)ο蟮恼Z言,你可以發(fā)現(xiàn)它們的語法很相似。你可以在MXML文件中嵌入ActionScript代碼,也可以從獨(dú)立的外部文件導(dǎo)入代碼。
完整的ActionScript參考:Action語言參考
MXML類庫
Flex既包含控制和容器等可見的組件,也包括了遠(yuǎn)程服務(wù)對象和數(shù)據(jù)模型等的不可見組件。你可以在后面的介紹中得到詳細(xì)的信息。
運(yùn)行時服務(wù)
Flex提供了多項(xiàng)運(yùn)行時服務(wù),如:歷史控制和遠(yuǎn)程服務(wù)連接對象。以開發(fā)的角度看,這些服務(wù)都是對類庫的調(diào)用。
編譯器
Flex編譯器會在收到一個瀏覽器訪問MXML文件的請求后,自動編譯生成相應(yīng)的SWF文件。該SWF文件將被緩存,直到你修改了源MXML文件。
【編輯推薦】
- Flex開發(fā)者需要知道的哪點(diǎn)事
- Flex安全沙箱問題解決方法
- 技術(shù)前沿 看Flex客戶端緩存技術(shù)如何使用
- 解析Flex全屏模式設(shè)置方法
- Flex內(nèi)存泄露解決方法和內(nèi)存釋放優(yōu)化原則