淺析Flex開發(fā)與部署步驟
在學習Flex的過程中,F(xiàn)lex開發(fā)與部署模型是非常重要的知識,要進行Flex開發(fā)并部署這個應用,一般要經(jīng)過兩個步驟。首先讓我們來看一下Flex的概念。
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開發(fā)中,可以用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提供的XMLschema,在IDE中為你提供代碼提示(codehinting)和代碼自動填充(codecompletion)的功能.
下面例子是一個名為HelloWord.mxml的簡單Flex應用的源代碼。該應用程序有兩個TextInput組件,當點擊Copy時,sourceTextInput的內容就會顯示在destinationTextInput域中。以下例子顯示如何用MXML和ActionScript來創(chuàng)建應用:用MXML定義用戶界面,再用ActionScript為Button組件的事件監(jiān)聽器編寫拷貝邏輯。
Flex開發(fā)與部署模型
要進行Flex開發(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ā)請求,服務器將跳過編譯過程,直接返回相同的編譯結果。
如果你對JavaServerPages比較熟悉,就會發(fā)現(xiàn)它們的模型非常相似。就像JSPs被編譯為Java字節(jié)碼(servlets)一樣,MXML文件將被編譯為Flash字節(jié)碼。二者的主要不同在于:在Flex中,產(chǎn)生的字節(jié)碼是在客戶端執(zhí)行的,而由JSP產(chǎn)生的Java字節(jié)碼(servlet)是在服務器端執(zhí)行的。通過Flex,你可以將復雜客戶端應用無縫的集成到已有的商業(yè)邏輯中。
【編輯推薦】