中文字幕二区_国产精品免费在线观看_黄色网站观看_人人草人人澡_日本真实娇小xxxx

您的位置: 首頁 > 技術文檔 > 網(wǎng)絡編程 > Macromedia Flex 標記語言簡介
面向對象編程,我的思想 回到列表 ASP應用之模板采用
 Macromedia Flex 標記語言簡介

作者:Christophe Coenraets 時間: 2004-09-04 文檔類型:轉載 來自:

第 1 頁 Macromedia Flex 標記語言簡介[1]
第 2 頁
Macromedia Flex 標記語言簡介[2]

Christophe Coenraets
Macromedia Flex 專員 Christophe

[原作]http://www.macromedia.com/devnet/flex/articles/paradigm.html
[翻譯]samhoosamhoophone@yahoo.com
[注]轉載請保持全文完整


Macromedia Flex(開發(fā)代號為Royale)是一個展現(xiàn)服務器,開發(fā)者可以用它來開發(fā)新一代的“復雜Internet應用”(RIAs - Rich Internet Applications)。復雜Internet應用融合了桌面應用的可用性和web應用的易于管理的優(yōu)點。

Flex是一個在J2EE應用服務器或servlet容器安裝的展現(xiàn)服務器。它擁有豐富的用戶界面組件、用于排布這些組件的基于XML的標記語言,以及可以處理用戶交互的面向對象編程語言。這些技術的給我們帶來的是:使用Flash播放器渲染復雜Internet應用,使用工業(yè)標準和開發(fā)者熟悉的方式進行開發(fā)。

本文將專注于Flex語言的關鍵部分。

為了運行本文中提到的代碼,你可能需要加入Flex的Beta測試。Flex運行于象Macromedia JRun, IBM Websphere, BEA WebLogic, or Apache Tomcat 這樣的J2EE應用服務器之上。Flex未來將支持Microsoft .NET服務器。


Flex 語言簡介

由于標記語言和面向對象程序設計語言廣泛應用,因此,基于這兩項技術的Flex語言也將從中獲益。標記語言是成功的,排布用戶界面也相對容易。MXML,由Flex引入的、基于XML的標記語言,將延續(xù)其成功。和HTML很象,你可以用MXML來排布應用的用戶界面。同為基于XML的標記語言,MXML比HTML有更強的結構,更少的語法歧義。比起HTML,MXML還引入了更豐富的標簽集。如:DataGrid,Tree,TabNavigator,Accordion和Menu,這些都是標準標簽集中的一部分。你還可以擴展MXML標簽,創(chuàng)建自己的組件。此外,二者最大的區(qū)別是,MXML定義的用戶界面是用Flash播放器運行的,相對傳統(tǒng)的基于HTML、頁面為中心的web應用而言,這將更具吸引力。

除了排布可視組件,還可以用MXML來定義應用中其他重要方面,如,可以把應用定義為一個web服務的客戶,或是在應用中開發(fā)動畫,用于提示用戶進度。

但是,標記語言提供的編程邏輯仍難以滿足用戶交互的需求。在Flex中,可以用ActionScript編程語言來編寫事件監(jiān)聽器來滿足此種需求。ActionScript是一種基于ECMA-262標準的、強類型的面向對象語言,和其他編程語言——java和C#很相似,因此也很易于上手。

總而言之,當編寫一個Flex的應用時,需要用MXML來設置用戶界面,并用ActionScript來編寫響應用戶交互的邏輯。

作為一個開發(fā)者,你可以根據(jù)自己的喜好,用自己所熟悉的IDE(比如Eclipes或Intellij)手工編寫MXML,也可以使用Flex支持的“所見即所得”開發(fā)環(huán)境(目前開發(fā)代號為Brady)。即使你選擇手工編寫MXML,仍可使用Flex提供的XML schema,在IDE中為你提供代碼提示(code hinting)和代碼自動填充(code completion)的功能.

下面例子是一個名為HelloWord.mxml的簡單Flex應用的源代碼。該應用程序有兩個TextInput組件,當點擊Copy時,source TextInput的內(nèi)容就會顯示在destination TextInput域中。以下例子顯示如何用MXML和ActionScript來創(chuàng)建應用:用MXML定義用戶界面,再用ActionScript為Button組件的事件監(jiān)聽器編寫拷貝邏輯。

<?xml version="1.0" encoding="iso-8859-1"?>
 
<mx:Application xmlns:mx="http://www.macromedia.com/2003/mxml">
 
<mx:TextInput id="source" width="100"/>
<mx:Button label="Copy" click="destination.text=source.text"/>
<mx:TextInput id="destination" width="100"/>
 
</mx:Application>


圖1.在HelloWorld程序中將source TextInput的文本拷貝到destination TextInput。


Flex開發(fā)與部署模型

要開發(fā)并部署這個應用,一般要經(jīng)過以下步驟:
1. 用你熟悉的IDE或Flex的“所見即所得”開發(fā)工具編寫HelloWold.mxml文件。
2. 把該文件部署到應用服務器上。一般可以通過拷貝HelloWorld.mxml到某個web應用的目錄下,或將HelloWorld.mxml作為應用的一部分打包到WAR文件中去。

當一個用戶首次請求HelloWorld.mxml的時候,服務器會將MXML代碼編譯為Flash字節(jié)碼(一個SWF文件)。然后服務器將產(chǎn)生的SWF文件發(fā)往客戶端,讓Flash播放器執(zhí)行。對同一個MXML文檔的并發(fā)請求,服務器將跳過編譯過程,直接返回相同的編譯結果。

如果你對JavaServer Pages比較熟悉,就會發(fā)現(xiàn)它們的模型非常相似。就像JSPs被編譯為Java字節(jié)碼(servlets)一樣,MXML文件將被編譯為Flash字節(jié)碼。二者的主要不同在于:在Flex中,產(chǎn)生的字節(jié)碼是在客戶端執(zhí)行的,而由JSP產(chǎn)生的Java字節(jié)碼(servlet)是在服務器端執(zhí)行的。通過Flex,你可以將復雜客戶端應用無縫的集成到已有的商業(yè)邏輯中。

使用MXML用戶界面組件

擁有豐富的用戶組件是Flex的一大特色。除了傳統(tǒng)的數(shù)據(jù)輸入控件(Text InputTextArea,CheckBox,RadioButton,ComboBox等等),MXML還包括了一些高級組件,用于維護結構化數(shù)據(jù)(Tree 組件)和大數(shù)據(jù)集(DataGrid 組件)。為了清晰的組織數(shù)據(jù)及其處理過程,F(xiàn)lex還提供了導航組件(Tab,ViewStack,Accordion等等)。

為了更易于組織用戶界面,F(xiàn)lex容器還定義了布局管理策略,用于指明一個組件相對與另一個組件的位置。Flex組件庫提供了大量的、可實現(xiàn)不同布局策略的容器。比如,在HBox中的組件將被水平排列,而在VBox中的組件會被垂直排列,而在Grid中組件將以行列的方式進行排列,就象HTML的table一樣。View容器中沒有定義任何布局管理策略,因此你可以用x,y坐標來指定組件的位置。

下面給出一個在Flex環(huán)境下、具有三個面板的傳統(tǒng)e-mail界面。HBox容器中的Tree是水平排列的,而VBox容器中的DataGrid和TextArea則是垂直排列的。

<?xml version="1.0" encoding="iso-8859-1"?>
 
<mx:Application xmlns:mx="http://www.macromedia.com/2003/mxml">
 
<mx:HBox>
<mx:Tree/>
<mx:VBox>
<mx:DataGrid/>
<mx:TextArea/>
</mx:VBox>
</mx:HBox>
 
</mx:Application>

圖2. 一個用Flex創(chuàng)建的e-mail應用。


編寫ActionScript代碼

Flex語言是事件驅動的。MXML將事件作為標簽的屬性,你可以為它編寫事件監(jiān)聽器。比如,Button組件有一個click屬性,ComboBox,List和Tree組件有一個change屬性,等等。

對于簡單的交互,可以在標簽的事件屬性上直接編寫ActionScript語句。例如,在HelloWorld應用中,存在Button的click事件監(jiān)聽器中的ActionScripts語句,能把source TextInput 的內(nèi)容拷貝到destination TextInput中。

<?xml version="1.0" encoding="iso-8859-1"?>
 
<mx:Application xmlns:mx="http://www.macromedia.com/2003/mxml">
 
<mx:TextInput id="source" width="100"/>
<mx:Button label="Copy" click="destination.text=source.text"/>
<mx:TextInput id="destination" width="100"/>
 
</mx:Application>

當邏輯更為復雜的時候,可以定義獨立的ActionScript函數(shù),然后在組件的事件監(jiān)聽器中調(diào)用。例如,你可以象下面一樣,重寫HelloWorld應用:

<?xml version="1.0" encoding="iso-8859-1"?>
 
<mx:Application xmlns:mx="http://www.macromedia.com/2003/mxml">
 
<mx:script>
 
function copy() {
destination.text=source.text
}
 
</mx:script>
 
 
<mx:TextInput id="source" width="100"/>
<mx:Button label="Copy" click="copy()"/>
<mx:TextInput id="destination" width="100"/>
 
</mx:Application>

創(chuàng)建一個MXML文件,實際上是創(chuàng)建了一個類。定義在<mx:script>標簽中的ActionScript函數(shù)是該類的方法。你可以在MXML文件或獨立的文件中定義ActionScript函數(shù)。選擇哪種方法,取決你所在的組織,后一種方法可以對開發(fā)團隊進行更好的分工。

定義自己的組件

在Flex中,你可以從頭開始,或通過擴展Flex組件庫中已有的組件,來創(chuàng)建自己的組件。創(chuàng)建組件就象創(chuàng)建一個應用一樣:用MXML排布用戶界面,用ActionScript編寫用界面邏輯。

下面的一個例子是,通過擴展VBox類來創(chuàng)建簡單的信用卡選擇組件。

<?xml version="1.0" encoding="iso-8859-1"?>
 
<mx:VBox xmlns:mx="http://www.macromedia.com/2003/mxml">
 
<mx:RadioButton groupName="card" id="americanExpress"
label="American Express" selected="true"/>
<mx:RadioButton groupName="card" id="masterCard" label="MasterCard"/>
<mx:RadioButton groupName="card" id="visa" label="Visa"/>
 
</mx:VBox>

組件的名字就是源文件的名字。如,源文件的名字是CreditCardChooser.mxml,組件的名字就是CreditCardChooser,這樣,這個標簽名就可以用了。下面的例子就用上了剛才創(chuàng)建的CreditCardChoose組件。

<?xml version="1.0" encoding="iso-8859-1"?>
 
<mx:Application xmlns:mx="http://www.macromedia.com/2003/mxml">
 
<mx:Label text="Select a credit card:"/>
<CreditCardChooser/>
 
</mx:Application>


 

圖3. CreditCardChooser應用

界面開發(fā)者還能在Macromedia Flash開發(fā)環(huán)境中創(chuàng)建復雜的可視化組件,并存為SWC文件。

當然,也可以只用ActionScript定義來整個組件,這種方法一般用于定義應用中的非可視組件。你可能會為這樣商業(yè)對象創(chuàng)建非可視組件——例如,包含客戶端邏輯的購物車,或是應用中helper類。

 


 

 

出處:
責任編輯:
一個好孩子

上一頁 下一頁 Macromedia Flex 標記語言簡介[2]

◎進入論壇網(wǎng)絡編程版塊參加討論

相關文章
Macromedia Flex 1.5 提供下載
Macromedia Flex Builder 發(fā)布
Flex 入門教程
Macromedia Flex 安裝注冊方法
作者文章
Macromedia Flex 標記語言簡介
關鍵字搜索 常規(guī)搜索 推薦文檔
熱門搜索:CSS Fireworks 設計比賽 網(wǎng)頁制作 web標準 用戶體驗 UE photoshop Dreamweaver Studio8 Flash 手繪 CG
站點最新 站點最新列表
周大!熬•自然”設計大賽開啟
國際體驗設計大會7月將在京舉行
中國國防科技信息中心標志征集
云計算如何讓安全問題可控
云計算是多數(shù)企業(yè)唯一擁抱互聯(lián)網(wǎng)的機會
阿里行云
云手機年終巨獻,送禮標配299起
阿里巴巴CTO王堅的"云和互聯(lián)網(wǎng)觀"
1499元買真八核 云OS雙蛋大促
首屆COCO桌面手機主題設計大賽
欄目最新 欄目最新列表
淺談JavaScript編程語言的編碼規(guī)范
如何在illustrator中繪制臺歷
Ps簡單繪制一個可愛的鉛筆圖標
數(shù)據(jù)同步算法研究
用ps作簡單的作品展示頁面
CSS定位機制之一:普通流
25個最佳最閃亮的Eclipse開發(fā)項目
Illustrator中制作針線縫制文字效果
Photoshop制作印刷凹凸字體
VS2010中創(chuàng)建自定義SQL Rule
>> 分頁 首頁 前頁 后頁 尾頁 頁次:1/21個記錄/頁 轉到 頁 共2個記錄

藍色理想版權申明:除部分特別聲明不要轉載,或者授權我站獨家播發(fā)的文章外,大家可以自由轉載我站點的原創(chuàng)文章,但原作者和來自我站的鏈接必須保留(非我站原創(chuàng)的,按照原來自一節(jié),自行鏈接)。文章版權歸我站和作者共有。

轉載要求:轉載之圖片、文件,鏈接請不要盜鏈到本站,且不準打上各自站點的水印,亦不能抹去我站點水印。

特別注意:本站所提供的攝影照片,插畫,設計作品,如需使用,請與原作者聯(lián)系,版權歸原作者所有,文章若有侵犯作者版權,請與我們聯(lián)系,我們將立即刪除修改。

您的評論
用戶名:  口令:
說明:輸入正確的用戶名和密碼才能參與評論。如果您不是本站會員,你可以注冊 為本站會員。
注意:文章中的鏈接、內(nèi)容等需要修改的錯誤,請用報告錯誤,以利文檔及時修改。
不評分 1 2 3 4 5
注意:請不要在評論中含與內(nèi)容無關的廣告鏈接,違者封ID
請您注意:
·不良評論請用報告管理員,以利管理員及時刪除。
·尊重網(wǎng)上道德,遵守中華人民共和國的各項有關法律法規(guī)
·承擔一切因您的行為而直接或間接導致的民事或刑事法律責任
·本站評論管理人員有權保留或刪除其管轄評論中的任意內(nèi)容
·您在本站發(fā)表的作品,本站有權在網(wǎng)站內(nèi)轉載或引用
·參與本評論即表明您已經(jīng)閱讀并接受上述條款
推薦文檔 | 打印文檔 | 評論文檔 | 報告錯誤  
專業(yè)書推薦 更多內(nèi)容
網(wǎng)站可用性測試及優(yōu)化指南
《寫給大家看的色彩書1》
《跟我去香港》
眾妙之門—網(wǎng)站UI 設計之道
《Flex 4.0 RIA開發(fā)寶典》
《贏在設計》
犀利開發(fā)—jQuery內(nèi)核詳解與實踐
作品集 更多內(nèi)容

雜⑦雜⑧ Gold NORMANA V2