Flex入門

簡單的理解Flex
     Flex是什麼?我們可以簡單的理解爲是許多技術和服務產品的總稱。也可以看成是Adobe公司爲我們J2ee應用程序提供的一個展現服務器。主要用來和我們j2ee環境下進行整合的一個開發包(war)。也可以理解爲主要有actionscript和mxml兩種語言組成的一個應用。從框架上考慮,flex就是一個開源的框架。就像Spring,Hibernate一樣。
     一句話總結:Flex是用來開發新一代的“複雜Internet應用”(RIAs - Rich Internet Applications)。結合桌面應用的可用性和web應用的易於管理的優點來開發一種複雜Internet應用。既繼承了傳統桌面應用的及時性,又發揮了流行的web應用的易於部署和管理的優點。
      Flex是一個在J2EE應用服務器或servlet容器安裝的展現服務器。它擁有豐富的用戶界面組件、用於排布這些組件的基於XML的標記語言,以及可以處理用戶交互的面向對象編程語言。這些技術的給我們帶來的是:使用Flash播放器渲染複雜Internet應用,使用工業標準和開發者熟悉的方式進行開發。
 
簡單的理解Flex的組成
      Flex主要包含兩種文件,一種是mxml文件和actionscript文件。其中mxml文件是基於xml的,這就表明了它是可擴展的,可定製的標籤。在mxml中引入了大量的豐富的標籤集 。加快了開發速度,它主要用來展現表示層的頁面。其中一個as文件主要用來控制一些簡單的編程邏輯和用戶交互的需求 ,as是一種大家熟悉的面向對象的語言,支持面向對象的三大特性,對我們後臺程序員來說,更簡單了,它的語法與java,c#,js很相似,其實所有的面向對象的語言的語法都是大同小異的。
 
簡單的理解Flex的工作原理
       我通過簡單的對比,讓大家很快的瞭解它的工作原理。先回想一下jsp的工作原理,它首先被預編譯成 servlet,也就是我們熟悉的java類,然後再編譯成jvm所能執行的class字節碼。而mxml文件的這個工作原理與jsp很相似的,mxml首先也被預編譯成as中間文件,在編譯成Adobe Flash Player 能執行的swf字節碼。Adobe Flash Player 就像java虛擬機一樣。但它們有一點不同的是,jsp的字節碼執行是在服務器端執行的,而Flex的swf字節碼是有服務器發送到客戶端(瀏覽器)的Adobe Flash  Player 上執行的。這一點的差別,大家可能就可以看出flex的優點了,起碼可以減輕服務器的壓力了。
       更形象的我們可以把mxml比作jsp,而as看成servlet(java)來理解可能更簡單了。上面是從工作原理上比喻是非常接近的。如果我們但從表現的比喻的話,可以把mxml看成是html,而把as看成javascript。這樣大家可能會更好的理解,mxml(html)主要用來顯示的,而as(javascript)主要用來控制一些編程邏輯和用戶交互的需求。我們通過這兩個形象的比喻,你應該理解Flex了吧。
 
簡單的實現HelloWorld
         我將會通過一個簡單的HelloWorld的例子,讓你徹底的瞭解Flex的工作原理。先寫一個mxml文件,也可以寫成as文件。打開記事本寫入下面對代碼。
<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="[url]http://www.adobe.com/2006/mxml[/url]" layout="absolute">
 <mx:Label text="Hello World" />
</mx:Application>
然後保存爲HelloWord.mxml。我保存在D:\flex\HelloWord.mxml.
      HelloWorld寫好了,我們現在怎樣通過命令行運行呢?首先保證你的電腦上已經按裝了SDK,就像運行java必須安裝JDK一樣。一般我們在配置環境變量path,就是可以在命令行下不用切換到SDK的bin目錄下就可以直接使用的命令,這個大家應該都很熟悉吧。自己根據安裝的SDK配置吧。
      打開一個命令窗口:
      切換到你的文件所在的文件夾下。如下圖:
      當你看到在和HelloWorld.mxml同一目錄下會生成一個HelloWorld.swf文件,這就是我們說的swf文件。它可以在Adobe Flash Player中運行。雙擊這個文件就可以看到一個如下圖的效果。
       也可以在命令窗口直接用命令:D:\flex\HelloWorld.swf.也會運行的。同時注意要保證你的電腦上已經安裝了Adobe Flash Player播放器。
         上面我說過,mxml會產生一箇中間文件as,我們怎麼沒看到呢?我們知道我們寫的jsp的頁面,而我們用到是class文件,把中間那一步的文件並沒有放到我們的工程中,這個其實也一樣,它只生成了swf文件,而沒有看見as文件,如果我們想看到怎麼辦呢?
         這時我們就得用這個命令執行:mxmlc -keep-generated-actionscript HelloWorld.mxml

會在Hello.mxml文件的同目錄下產生一個generated的文件夾,裏面就是mxml文件編譯時產生的中間文件as.
 
    generated文件下就是as中間碼:
 
  
          希望大家看後對你以後學習和理解Flex有所幫助。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章