術(shù)語匯編 Flex語言簡介
本文和大家重點學(xué)習(xí)一下Flex語言的概念,F(xiàn)lex是一個在J2EE應(yīng)用服務(wù)器或servlet容器安裝的展現(xiàn)服務(wù)器。它擁有豐富的用戶界面組件、用于排布這些組件的基于XML的標(biāo)記語言。
MacromediaFlex
MacromediaFlex(開發(fā)代號為Royale)是一個展現(xiàn)服務(wù)器,開發(fā)者可以用它來開發(fā)新一代的“復(fù)雜Internet應(yīng)用”(RIAs-RichInternetApplications)。復(fù)雜Internet應(yīng)用融合了桌面應(yīng)用的可用性和web應(yīng)用的易于管理的優(yōu)點。
Flex是一個在J2EE應(yīng)用服務(wù)器或servlet容器安裝的展現(xiàn)服務(wù)器。它擁有豐富的用戶界面組件、用于排布這些組件的基于XML的標(biāo)記語言,以及可以處理用戶交互的面向?qū)ο缶幊陶Z言。這些技術(shù)的給我們帶來的是:使用Flash播放器渲染復(fù)雜Internet應(yīng)用,使用工業(yè)標(biāo)準(zhǔn)和開發(fā)者熟悉的方式進行開發(fā)。
本文將專注于Flex語言的關(guān)鍵部分。為了運行本文中提到的代碼,你可能需要加入Flex的Beta測試。Flex運行于象MacromediaJRun,IBMWebsphere,BEAWebLogic,orApacheTomcat這樣的J2EE應(yīng)用服務(wù)器之上。Flex未來將支持Microsoft.NET服務(wù)器。
Flex語言簡介
由于標(biāo)記語言和面向?qū)ο蟪绦蛟O(shè)計語言廣泛應(yīng)用,因此,基于這兩項技術(shù)的Flex語言也將從中獲益。標(biāo)記語言是成功的,排布用戶界面也相對容易。MXML,由Flex引入的、基于XML的標(biāo)記語言,將延續(xù)其成功。和HTML很象,你可以用MXML來排布應(yīng)用的用戶界面。同為基于XML的標(biāo)記語言,MXML比HTML有更強的結(jié)構(gòu),更少的語法歧義。比起HTML,MXML還引入了更豐富的標(biāo)簽集。如:DataGrid,Tree,TabNavigator,Accordion和Menu,這些都是標(biāo)準(zhǔn)標(biāo)簽集中的一部分。你還可以擴展MXML標(biāo)簽,創(chuàng)建自己的組件。此外,二者***的區(qū)別是,MXML定義的用戶界面是用Flash播放器運行的,相對傳統(tǒng)的基于HTML、頁面為中心的web應(yīng)用而言,這將更具吸引力。
除了排布可視組件,還可以用MXML來定義應(yīng)用中其他重要方面,如,可以把應(yīng)用定義為一個web服務(wù)的客戶,或是在應(yīng)用中開發(fā)動畫,用于提示用戶進度。
但是,標(biāo)記語言提供的編程邏輯仍難以滿足用戶交互的需求。在Flex中,可以用ActionScript編程語言來編寫事件監(jiān)聽器來滿足此種需求。ActionScript是一種基于ECMA-262標(biāo)準(zhǔn)的、強類型的面向?qū)ο笳Z言,和其他編程語言——java和C#很相似,因此也很易于上手。
總而言之,當(dāng)編寫一個Flex語言的應(yīng)用時,需要用MXML來設(shè)置用戶界面,并用ActionScript來編寫響應(yīng)用戶交互的邏輯。
作為一個開發(fā)者,你可以根據(jù)自己的喜好,用自己所熟悉的IDE(比如Eclipes或Intellij)手工編寫MXML,也可以使用Flex支持的“所見即所得”開發(fā)環(huán)境(目前開發(fā)代號為Brady)。即使你選擇手工編寫MXML,仍可使用Flex提供的XMLschema,在IDE中為你提供代碼提示(codehinting)和代碼自動填充(codecompletion)的功能.
下面例子是一個名為HelloWord.mxml的簡單Flex應(yīng)用的源代碼。該應(yīng)用程序有兩個TextInput組件,當(dāng)點擊Copy時,sourceTextInput的內(nèi)容就會顯示在destinationTextInput域中。以下例子顯示如何用MXML和ActionScript來創(chuàng)建應(yīng)用:用MXML定義用戶界面,再用ActionScript為Button組件的事件監(jiān)聽器編寫拷貝邏輯。
- <?xmlversionxmlversion="1.0"encoding="iso-8859-1"?>
- <mx:Applicationxmlns:mxmx:Applicationxmlns:mx="http://www.macromedia.com/2003/
- mxml">
- <mx:TextInputidmx:TextInputid="source"width="100"/>
- <mx:Buttonlabelmx:Buttonlabel="Copy"
- click="destination.text=source.text"/>
- <mx:TextInputidmx:TextInputid="destination"width="100"/>
- </mx:Application>
圖1.在HelloWorld程序中將sourceTextInput的文本拷貝到destinationTextInput。
[原作]http://www.macromedia.com/devnet/flex/articles/paradigm.html
[翻譯]samhoo(samhoophone@yahoo.com)
[注]轉(zhuǎn)載請保持全文完整
【編輯推薦】