走在架構師的大道上 Jack.Wang's home

          Java, C++, linux c, C#.net 技術,軟件架構,領域建模,IT 項目管理 Dict.CN 在線詞典, 英語學習, 在線翻譯

          BlogJava 首頁 新隨筆 聯系 聚合 管理
            195 Posts :: 3 Stories :: 728 Comments :: 0 Trackbacks

          公告

          重構
          新浪博客:新浪 blog
          MSN: wbjeasygo@163.com
          Email:  wbjeasygo@163.com
          QQ 精英群: 47763528 
          空間QQ空間

          淘寶店:新開淘寶書店
          致謝:
           感謝雷老師幾年的指導
           感謝導師在學業上的關懷,
           感謝老婆的支持,
           感謝我的同學和同事,
           在我成長的路上有你

          留言簿(26)

          我參與的團隊

          隨筆分類(232)

          隨筆檔案(190)

          我的鄰居們

          積分與排名

          最新評論

          閱讀排行榜

          評論排行榜

          很少關注 RIA 的一些技術,據說 Flex 框架用的很廣發,作為架構師也應該知道個大概,最近準備用點時間研究研究,以下文章為轉載。

          簡單的理解Flex

          原文地址: http://weijie.blog.51cto.com/340746/76060
          作者:魏杰
           
               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="http://www.adobe.com/2006/mxml" 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中間碼:
           




          本博客為學習交流用,凡未注明引用的均為本人作品,轉載請注明出處,如有版權問題請及時通知。由于博客時間倉促,錯誤之處敬請諒解,有任何意見可給我留言,愿共同學習進步。
          posted on 2008-09-04 11:51 Jack.Wang 閱讀(508) 評論(0)  編輯  收藏 所屬分類: 開發技術
          主站蜘蛛池模板: 大悟县| 新宁县| 同仁县| 闻喜县| 十堰市| 汝城县| 三都| 玉门市| 郁南县| 宜川县| 福建省| 新郑市| 上思县| 邻水| 滕州市| 南安市| 河津市| 寻乌县| 周宁县| 霍林郭勒市| 肥城市| 宜黄县| 瑞安市| 湟中县| 漳州市| 麟游县| 东明县| 丰台区| 双峰县| 阿瓦提县| 安丘市| 南投县| 静乐县| 江北区| 墨脱县| 鸡泽县| 静安区| 太仓市| 安吉县| 嫩江县| 新绛县|