關于 MXML
你可以使用兩種語言來開發Flex 程序:MXML 和 ActionScript。MXML是一種xml標記語言,你可以用它來設計用戶界面。(You also use MXML to declaratively define nonvisual aspects of an application不知道如何翻譯) 你也可以使用它來定義程序的非可視方面,比如:使用服務器上的數據源或把服務器上的數據源與用戶界面進行數據綁定。
就像HTML一樣,MXML也提供了一些標簽來定義用戶界面。如果你曾經做過HTML開發你就會發現MXML與之很相似。不過,MXML要比HTML更加的結構化,而且它提供了更加豐富的標簽設置。例如:MXML提供了一些可視化組件的標簽,比如:dataGrid, trees, tab navigators, accordions, menus。同樣也提供了一些非可視化組件的標簽,比如:可提供web服務連接的標簽,數據綁定以及動畫效果。你也可以通過繼承MXML標簽來自定義組件,然后再通過MXML標簽來引用組件。
MXML與HTML最大的一個區別就是基于MXML開發的程序被編譯成swf格式的文件并且被 Adobe Flash Player 或者 Adobe AIR進行渲染,能提供比基于HTML開發的程序更加豐富多彩的用戶界面。
你可以開發一個或多個文件的MXML程序。MXML同樣也支持用MXML或ActionScript寫的自定義組件。
關于<mx:Application>標簽
<mx:Application>標簽除了是Flex程序的根標簽之外,它還代表一個Application的容器。容器是包含了其他組件的用戶界面組件,并且內置了一些布局規則用來控制它的子元素的位置擺放。一個Application容器默認的是從頂部到底部垂直的布局它的子元素。你可以把其他類型的容器放入到Application容器中去,比如panel容器顯示在上面按照其他的規則用來擺放用戶界面組件的位置。
關于MXML標簽屬性
MXML標簽屬性,比如<mx:Label>標簽的text, fontWeight, fontSize屬性,可以讓你聲明化的配置組件的初始狀態。你可以在<mx:Script>標簽中使用ActionScript代碼在運行時改變組件的狀態屬性。
把MXML文件編譯成swf文件
你可以部署你的程序作為一個swf文件,或者作為swf包含在AIR程序中,或者如果你使用了Adobe LiveCycle Data Services ES,你可以部署你的程序作為一套MXML文件和AS文件。
如果你正在使用Flex Builder,你可以編譯并運行用Flex Builder編譯好的swf文件。在你的程序成功執行后,你通過把它拷貝到你到web服務器上或者程序服務器的目錄上來部署你的程序。然后用戶就可以用下面這種發送HTTP 請求的形式來訪問swf程序。
http://hostname/path/filename.html
Flex也提供了命令行式的MXML編譯器,mxmlc,它可以編譯你的MXML文件,你可以使用mxmlc的命令行來編譯hello.mxml,就像下面的例子顯示的那樣:
cd flexInstallDir/binmxmlc --show-actionscript-warnings=true --strict=true c:/appDir/hello.mxml在這個例子中,flexInstallDir是指Flex的安裝目錄,appDir是指包含hello.mxml的目錄,hello.swf,這個作為生成后的結果文件,與hellow.mxml寫在同一個目錄下。
MXML標簽與ActionScript類之間的關聯
Adobe實現Flex作為ActionScript類庫。類庫包含組件(容器和控制),管理類,數據服務類,和表現其他特征的類。你通過使用MXML和類庫的ActionScript語言來開發程序。
MXML標簽相當于ActionScript類或類的屬性。Flex解析MXML標簽并且編譯一個包含相當于ActionScript對象的swf文件。例如,Flex提供AcitonScript的Button類用來定義Flex中的Button控件。在MXML中,你可以通過使用下面的MXML聲明來創建一個Button控件。
<mx:Button label="Submit"/>當你使用MXML標簽來聲明一個控件時,你創建了一個類的實例對象。這個MXML聲明創建了一個Button對象,并且把這個Button對象的Label屬性初始化成”Submit”字符串。
MXML標簽相當于使用了相等命名規則的ActionScript類。類的命名以大寫字母為開頭,且類的命名中的單詞也以大寫字母為開頭。每個MXML標簽的屬性相當于ActionScript對象的屬性,對象的樣式應用,或者對象的事件監聽。
了解Flex程序的結構
你可以寫單個文件或多個文件的MXML程序。你可以定義一個包含有<mx:Application>標簽的主文件。在你的主文件中,你可以調用其他的文件,MXM,ActionScript,或者這兩種的結合體。
一種常見的編碼方式是將你的Flex程序分成多個功能性的單元或者多個模塊,每個模塊完成互不相干的功能。在Flex中,你可以將Flex程序分成多哥MXML文件和ActionScript文件,每個文件相當于不同的模塊。把程序分成多個模塊,這樣的做法可以有以下的好處:
易于開發性:不同的開發者或者開發組可以彼此相互獨立的開發和調試模塊。
可重用性:你可以在不同的程序中重用你的模塊,這樣你就可以不用重復工作了。
可維護性:你可以讓代碼孤立起來,并且這樣可以更快的找到bug,這樣比你把程序寫在一個文件中快多了。
在Flex中,模塊等同與用MXML或ActionScript實現的自定義組件。這些自定義組件可以引用其他的自定義組件。在Flex中,組件的引用是沒有層級嵌套的限制的。你可以在程序中根據需要來定義你的組件。
本文來自CSDN博客,轉載請標明出處:http://blog.csdn.net/bxl994/archive/2009/06/02/4236728.aspx
posted on 2009-06-05 01:59
小果子 閱讀(1938)
評論(0) 編輯 收藏 引用 所屬分類:
學習筆記