天地方圓

Adobe Flex 簡介

作者:張軍朝  工作單位:太原理工大學  聯系方式:13007098506  發表時間:2011-03-21  瀏覽次數:1846

 

Adobe Flex


1.1簡介
  Flex 是一個高效、免費的開放源框架,可用于構建具有表現力的 Web 應用程序,這些應用程序利用 Adobe Flash Player 和 Adobe AIR, 運行時跨瀏覽器、桌面和操作系統實現一致的部署。雖然只能使用 Flex 框架構建 Flex 應用程序,Adobe Flash Builder™(之前稱為 Adobe Flex® Builder™)軟件可以通過智能編碼、交互式遍歷調試以及可視設計用戶界面布局等功能加快開發。
  使用 Flex 創建的 RIA 可運行于使用 Adobe Flash Player 軟件的瀏覽器中,或在瀏覽器外運行于跨操作系統運行時 Adobe AIR&re上,它們可以跨所有主要瀏覽器、在桌面上實現一致的運行。連接到 Internet 的計算機中超過 98% 裝有 Flash Player,這是一個企業級客戶端運行時,它的高級矢量圖形能處理要求最高、數據密集型應用程序,同時達到桌面應用程序的執行速度。通過利用 AIR,Flex 應用程序可以訪問本地數據和系統資源。 
Macromedia Flash是強大的矢量動畫編輯工具,在做動畫起家之后,Flash一直在謀求RIA(rich internet application)富客戶端的霸主地位,最有影響的是,已經推出了面向對象的編程腳本ActionScript3.0,并且建立起類似于java swing的類庫和相應component(組件)。Flex是通過java或者.net等非Flash途徑,解釋.mxml文件組織components,并生成相應的.swf文件。Flex的component和flash的component很相似,但是有所改進增強。目前Macromedia公司已經被ADOBE公司收購。當前(2010年12月)的flex版本為4.1。
  運用Flash是完全可以做到flex的效果的,為什么還需要flex呢?這里面有兩個原因:
  1:為了迎合更多的developers(開發者)。Flash天生是為了designer(設計者)設計的,界面還有flash的動畫概念和程序開發人員格格不入,為了吸引更多的jsp/asp/php等程序員,Macromedia推出了Flex,用非常簡單的.mxml來描述界面給jsp/asp/php程序人員使用.(x/d)html非常相似,而且mxml更加規范化、標準化。
  2:為了一個標準。大家一定聽說過微軟操作系統vista(后續的win7也是同一核心),在vista推出的同時微軟也推出了新的語言xaml,一種界面描述語言,與之相應的就是smart client和flex非常相似的東西(即SilverLight)。Mxml和Xaml的也很相似… …這是人機交互技術的進步的重要體現,即內部邏輯與外部界面交互相分離。
  Flex和j2ee/.net其實沒什么關系,Macromedia用java做出來個應用把flash的技術融合到J2EE里面,再用.net的技術做出來個.net應用把flash技術融合到.net里面去;應該說flex解決了J2EE里面和.net里面最繁瑣的問題那就是web 客戶端的問題。
1.2成因
  傳統的程序員在開發動畫應用方面存在困難,Flex 平臺最初就是因此而產生。Flex 試圖通過提供一個程序員們已經熟知的工作流和編程模型來改善這個問題。 
Flex 最初是作為一個J2EE(Java 2 Platform, Enterprise Edition)應用,或者可以說是JSP(JavaServer Pages)標簽庫而發布的。它可以把運行中的MXML(Flex標記語言)和ActionScript編譯成FLASH應用程序(即二進制的SWF文件)。最新版的FLEX支持創建靜態文件,該文件使用解釋編譯方式并且不需要購買服務器許可證就可以在線部署。
  Flex的目標是讓程序員更快更簡單地開發RIA應用。在多層式開發模型中,Flex應用屬于表現層。
  Flex 采用GUI界面開發,使用基于XML的MXML語言。Flex 具有多種組件,可實現Web Services,遠程對象,drag and drop,列排序,圖表等功能;FLEX內建動畫效果和其它簡單互動界面等。相對于基于HTML的應用(如PHP、ASP、JSP、ColdFusion及CFMX等)在每個請求時都需要執行服務器端的模板,由于客戶端只需要載入一次,FLEX應用程序的工作流被大大改善。FLEX的語言和文件結構也試圖把應用程序的邏輯從設計中分離出來。
  Flex 服務器也是客戶端和XML Web Services及遠程對象(Coldfusion CFCs,或Java類,等支持Action Message Format的其他對象)之間通訊的通路。
  一般被認為可能是 Flex 替代品的是OpenLaszlo和AJAX技術。
1.3 Flex 應用開發步驟
  以下直接來源于Flex 2.0 Beta 3的幫助文件:
  使用一系統預定義組件(窗口,按鈕等)來定義一個開發界面。
  組織安排組件,現在用戶自定義的界面設計。
  使用風格和主題來定義可見設計。
  增加動態動作,如應用程序之間的互動。
  定義并在需要時連接上一個數據服務。
  從源代碼生成一個在Flash播放器中運行的SWF文件。
1.4 版本歷史
  Flex 1.0-2004年3月
  Flex 1.5-2004年10月
Flex 2.0 (Alpha)-2005年10月
  Flex 2.0 Beta 1-2006年2月
  Flex 2.0 Beta 2-2006年3月
  Flex 2.0 Beta 3-2006年5月
  Flex 2.0 Final-2006年6月28日
  Flex 2.0.1 - 2007年1月5日
  Flex 3.0 Beta 1 - 2007年1月11日
  Flex 3.0 Beta 2 - 2007年10月1日
  Flex 3.0 Beta 3 - 2007年12月12日
  Flex 3.0 - 2008年2月25日
  Flex 3.1 - 2008年8月15日
  Flex 3.2 - 2008年11月17日
  Flex 3.3 - 2009年3月4日
  Flex 3.4 - 2009年8月18日
 Flex 4十大主要特性變化一覽
  1. 集成Adobe Catalyst
  2. Spark組件架構
  3. MXML 2009
  4. 對View States的改進
  5. FXG支持
  6. 皮膚增強
  7. 更新的布局組件
  8. Flash Builder 4
  9. 編譯器性能
  10. 新的文本功能
1.5 什么是用RIA?
傳統網絡程序的開發是基于頁面的、服務器端數據傳遞的模式,把網絡程序的表現層建立于HTML頁面之上,而HTML是適合于文本的,傳統的基于頁面的系統已經漸漸不能滿足網絡瀏覽者的更高的、全方位的體驗要求了。而富互聯網應用(Rich Internet Applications,縮寫為RIA)的出現就是為了解決這個問題。
富互聯網應用程序是下一代的將桌面應用程序的交互式用戶體驗與傳統的WEB應用的部署靈活性和成本分析結合起來的網絡應用程序。富互聯網應用程序中的富客戶技術通過提供可承載已編譯客戶端應用程序(以文件形式,用HTTP傳遞)的運行環境,客戶端應用程序使用異步客戶/服務器架構連接現有的后端應用服務器,這是一種安全、可升級、具有良好適應性的新的面向服務模型,這種模型由采用的WEB服務所驅動。結合了聲音、視頻和實時對話的綜合通信技術,使富互聯網應用程序(RIA)具有前所未有的網上用戶體驗。
  Adobe RIA技術封裝讓現有的WEB技術得到了極大的保留,核心價值在于大大提高了產品設計師和開發工程師的“開發體驗”,強化了設計端和開發端的整合。設計師和開發工程師們可以方便地將自己的代碼平移到新的平臺上,并且發布、部署的方式比之前的任何一款開發工具都方便得多,從而使RIA應用有更廣大的開發者基礎。
  Adobe RIA技術也將帶來新的桌面革命——“Desktop 2.0”,內容從Flash, HTML/CSS/JS,到PDF,幾乎涵蓋了時下最流行的WEB內容載體。此外,“可離線”應用模式能讓用戶更加安全、舒適地進行工作和娛樂。用戶們不必再抱怨因網絡故障而造成的信息損失,而且也可以借助本地資源更好地節省網絡資源。因此,Adobe RIA技術可以讓用戶將WEB 2.0應用帶回桌面,創造的商業應用價值和用戶體驗價值將超過以往任何技術。

1.6 采用Adobe Flex & AIR技術的經典應用
  eBay
  eBay桌面是構建于Adobe AIR上的一個應用程序,程序創建了與eBay客戶的持久連接。eBay桌面實時地直接將產品供貨通知和拍賣更新發布給買主,這樣用戶不需要打開瀏覽器進入eBay網站就可以獲取最新信息。
  納斯達克股票市場公司
  NASDAQ Market Replay使用Adobe Flex和Adobe AIR在桌面上發布一個RIA,讓金融專業人士能夠重放任何時間點市場活動的詳情。
  紐約時報公司
  紐約時報公司正在開始ShifD,一個新的RIA,允許使用者在計算機和移動設備之間切換內容。ShifD工作在Web網站和移動設備之上以及兩者之間,通過一個可下載的AIR應用程序提供給人們一種欣賞移動媒體的方式。
  CCTV網絡電視奧運臺(Olympic Network TV Station)
  由 Adobe Flex 制作、Adobe Flash 技術加以傳遞前所未有的網頁體驗。其中包含由 CCTV 奧運媒體團隊所提供的奧運賽事成績、統計資料,以及多樣化的背景數據、比賽規則及專家分析等。同時,透過社交網絡功能,還能讓運動迷與朋友們實時分享各種奧運賽事意見及看法。
1.7 Flex與Flash的關系
  首先這里想說的是,Flash并非只是一個單純的矢量動畫創作工具,而是一個憑借腳本語言ActionScript在功能和定位上不斷演變的網絡應用開發工具。早在Flash MX的時候就已經成為macromedia 推廣RIA戰略的工具。但是畢竟Flash最初的定位是面向美術動畫設計師的矢量動畫創作工具,并不適合傳統的開發人員。于是Flex成為開發者們的首選。
  Flex和Flash都以ActionScript作為其核心編程語言,并被編譯成swf文件運行于Flashplayer虛擬機里。因此Flex也繼承了Flash在表示層上先天性的美感、除了視覺上的舒適感外,還天生具備方便的矢量圖形、動畫和媒體處理接口。
  雖然Flex和Flash有眾多的相似點,但是不同之處仍然很多:
  1.盡管公用ActionScript,但是使用的庫并不完全相同,更合適的說法是兩者使用著兩套具有極大“功能重疊”范圍的庫。
  2.Flash偏向的是美術動畫設計師人員,所以更容易發揮特效處理的優勢,Flex偏向開發人員,所以容易做出具有豐富交互功能的應用程序。
  3.Flash只能以ActionScript腳本的形式開發(舞臺被關聯到一個稱之為 document class的類里),另外舞臺元素也是可以綁定腳本的,不過從軟件工程的角度講不建議這樣用,Flex還可以使用稱作mxml的標記語言來描述應用的外觀和行為,mxml中可以直接嵌入ActionScript腳本。
  4.由于第三點而造成的兩者市場定位不同,Flex是面向企業級的網絡應用程序,Flash則面向諸如平面動畫、廣告設計等多媒體展示程序。
  5.借助Flash Lite這一移動設備上的Flashplayer,Flash可以開發移動應用,Flex則不行。
  6.Flash的編程模型是基于時間軸的,Flex的則是基于窗體,雖然它運行在網頁里。
1.8 Flex的技術框架
  Flex技術包括以下幾個主要技術框架:
  1. 描述應用程序界面的XML語言(MXML);
  2. 符合ECMA規范的腳本語言(ActionScript),處理用戶和系統的事件,構建復雜的數據模型;
  3. 一個基礎類庫;
  4. 運行時的即時服務;
  5. 由MXML與ActionScript文件生成swf文件的編譯器。

 

2011-3-21

香港六合彩官网