Flex 應(yīng)用程序

2018-01-01 16:01 更新

在開始使用Flash Builder創(chuàng)建實(shí)際的 HelloWorld 應(yīng)用程序之前,讓我們看看Flex應(yīng)用程序的實(shí)際部分。 Flex應(yīng)用程序包括以下四個重要部分,其中最后一部分是可選的,但前三個部分是強(qiáng)制性的:

  • Flex框架庫

  • 客戶端代碼

  • 公共資源(HTML / JS / CSS)

  • 服務(wù)器端代碼

典型Flex應(yīng)用程序 HelloWord 的不同部分的示例位置如下所示:

名稱位置
項(xiàng)目根HelloWorld/
Flex框架庫Build Path
公共資源html-template
客戶端代碼table table-bordered / com / tutorialspoint / client
服務(wù)器端代碼table table-bordered / com / tutorialspoint / server

應(yīng)用程序構(gòu)建過程

Flex應(yīng)用程序需要Flex框架庫。 Flash Builder自動將庫添加到構(gòu)建路徑。

當(dāng)我們使用Flash Builder構(gòu)建代碼時,F(xiàn)lash Builder將執(zhí)行以下任務(wù)

  • 將源代碼編譯為HelloWorld.swf文件。

  • 從存儲在html-template文件夾中的文件index.template.html編譯HelloWorld.html(用于swf文件的包裝文件)

  • 復(fù)制目標(biāo)文件夾中的HelloWorld.swf和HelloWorld.html文件,bin-debug。

  • 復(fù)制swfobject.js,一個javascript代碼負(fù)責(zé)在目標(biāo)文件夾中的HelloWorld.html中動態(tài)加載swf文件,bin-debug

  • 以目標(biāo)文件夾中的名為frameworks_xxx.swf的swf文件的形式復(fù)制框架庫,bin-debug

  • 在目標(biāo)文件夾中復(fù)制其他flex模塊(.swf文件,如sparkskins_xxx.swf,textLayout_xxx.swf)。

Flex Architecture

應(yīng)用程序啟動過程

  • 在任何Web瀏覽器中打開\\ HelloWorld \\ bin-debug文件夾中的HelloWorld.html文件。

  • HelloWorld.swf將自動加載,應(yīng)用程序?qū)㈤_始運(yùn)行。

Flex框架庫

以下是幾個重要框架庫的簡要細(xì)節(jié)。

在flex庫中使用.swc表示法表示

S.N.節(jié)點(diǎn)和說明
1

playerglobal.swc

此庫專用于安裝在計(jì)算機(jī)上的Flash Player,并包含F(xiàn)lash Player支持的本機(jī)方法。

2

textlayout.swc

此庫支持文本布局相關(guān)功能。

3

framework.swc

這是flex框架庫包含F(xiàn)lex的核心特性。

4

mx.swc

此庫存儲mx UI控件的定義。

5

charts.swc

此庫支持圖表控件。

6

spark.swc

此庫存儲spark UI控件的定義。

7

sparkskins.swc

這個庫支持spark UI控件的換膚。

客戶端代碼

Flex application code can be written in MXML and ActionScript.
S.N.節(jié)點(diǎn)和說明
1

MXML

MXML是一種XML標(biāo)記語言,我們將用它來布置用戶界面組件.MXML在構(gòu)建過程中被編譯為ActionScript。

2

ActionScript

ActionScript是一種面向?qū)ο蟮倪^程化編程語言,基于ECMAScript(ECMA-262)第4版草案語言規(guī)范。

In Flex, we can mix ActionScript and MXML, to do the following:
  • 使用MXML標(biāo)記布置用戶界面組件

  • 使用MXML聲明性地定義應(yīng)用程序的非可視化方面,例如訪問服務(wù)器上的數(shù)據(jù)源

  • 使用MXML在服務(wù)器上的用戶界面組件和數(shù)據(jù)源之間創(chuàng)建數(shù)據(jù)綁定。

  • 使用ActionScript在MXML事件屬性中定義事件偵聽器。

  • 使用< mx:Script>添加腳本塊 標(biāo)簽。

  • 包括外部ActionScript文件。

  • 導(dǎo)入ActionScript類。

  • 創(chuàng)建ActionScript組件。

公共資源

這些是Flex應(yīng)用程序引用的輔助文件,例如位于html-template文件夾下的Host HTML頁面,CSS或圖像。它包含以下文件

S.N.節(jié)點(diǎn)和說明
1

index.template.html

主機(jī)HTML頁面,包含占位符。 Flash Builder使用此模板來使用HelloWorld.swf文件構(gòu)建實(shí)際頁面HelloWorld.html。

2

playerProductInstall.swf

這是一個Flash實(shí)用程序,用于以快速模式安裝Flash Player。

3

swfobject.js

這是javascript負(fù)責(zé)檢查安裝的Flash Player的版本,并在HelloWorld.html頁面中加載HelloWorld.swf。

4

html-template / history

此文件夾包含用于應(yīng)用程序的歷史記錄管理的資源。

HelloWorld.mxml

這是實(shí)際寫入的MXML / AS(ActionScript)代碼,實(shí)現(xiàn)應(yīng)用程序的業(yè)務(wù)邏輯,并且Flex編譯器轉(zhuǎn)換為SWF文件,將由瀏覽器中的Flash播放器執(zhí)行。示例HelloWorld Entry類將如下所示:

<?xml version="1.0" encoding="utf-8"?>
<s:Application xmlns:fx="http://ns.adobe.com/mxml/2009" 
   xmlns:s="library://ns.adobe.com/flex/spark" 
   xmlns:mx="library://ns.adobe.com/flex/mx"
   width="100%" height="100%"
   minWidth="500" minHeight="500" 
   initialize="application_initializeHandler(event)">

   <fx:Script>
      <![CDATA[
         import mx.controls.Alert;
         import mx.events.FlexEvent;
         protected function btnClickMe_clickHandler(event:MouseEvent):void
         {
            Alert.show("Hello World!");				
         }

         protected function application_initializeHandler(event:FlexEvent):void
         {
            lblHeader.text = "My Hello World Application";				
         }
      ]]>
   </fx:Script>
   <s:VGroup horizontalAlign="center" width="100%" height="100%" 
   paddingTop="100" gap="50">
      <s:Label id="lblHeader" fontSize="40" color="0x777777"/>
      <s:Button label="Click Me!" id="btnClickMe" 
      click="btnClickMe_clickHandler(event)" />
   </s:VGroup>	
</s:Application>

下表給出了上述代碼腳本中使用的所有標(biāo)簽的描述。

S.N.節(jié)點(diǎn)和說明
1

應(yīng)用程序

定義始終為Flex應(yīng)用程序的根標(biāo)記的應(yīng)用程序容器。

2

腳本

包含ActionScript語言中的業(yè)務(wù)邏輯。

3

VGroup

定義可以垂直方式包含F(xiàn)lex UI控件的垂直分組容器。

4

標(biāo)簽

表示Label控件,一個顯示文本的非常簡單的用戶界面組件。

5

按鈕

表示Button控件,可以單擊它來執(zhí)行某些操作。

服務(wù)器端代碼

這是應(yīng)用程序的服務(wù)器端部分,非常可選。 如果您不在應(yīng)用程序中執(zhí)行任何后端處理,則您不需要此部分,但如果后端需要一些處理,并且您的客戶端應(yīng)用程序與服務(wù)器交互,那么您將必須開發(fā)這些組件。

下一章將使用所有上述概念,使用Flash Builder創(chuàng)建Hello World應(yīng)用程序。


以上內(nèi)容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號