複製鏈接
請複製以下鏈接發送給好友

flex

(adobe flex)

鎖定
flex指Adobe Flex,基於其專有的Macromedia Flash平台,它是涵蓋了支持RIA(Rich Internet Applications)的開發部署的一系列技術組合。
中文名
flex
外文名
Adobe Flex
所屬公司
Macromedia公司
發表時間
2004年3月

flex結構介紹

Flex 是一個高效、免費的開源框架,可用於構建具有表現力的 Web應用程序,這些應用程序利用Adobe Flash PlayerAdobe AIR, 可以實現跨瀏覽器桌面操作系統。雖然只能使用 Flex 框架構建 Flex應用程序,但Adobe Flash Builder™(之前稱為 Adobe Flex Builder™)軟件可以通過智能編碼、交互式遍歷調試以及可視設計用户界面佈局等功能加快開發。
使用 Flex 創建的 RIA 可運行於裝有 Adobe Flash Player 插件的瀏覽器中,或運行於跨操作系統的 Adobe AIR上,它們可以跨所有主流瀏覽器、操作系統實現一致的運行。通過利用 AdobeAIR,Flex應用程序可以訪問本地數據和系統資源。Flex技術的三大組成部分:UI、數據、服務器技術介紹。從根本上説,Flex技術是表現層解決方案,像所有其他類似技術一樣,表現層技術要解決三個基本問題:表現層界面展示和人機交互,客户端數據操作及服務器端數據交互和整合。Flex針對這三個根本問題提供了卓越的解決方案。 [1] 
Flex是通過java或者.net等非Flash途徑,解釋.mxml文件,並生成相應的.swf文件。Flex的component和flash的component很相似,但是有所改進增強。Macromedia公司已經被ADOBE公司收購。Adobe2013年01月15日將Flex捐給Apache併發布了Apache Flex4.8。
運用Flash是完全可以做到flex的效果的,為什麼還需要flex呢?主要有兩個原因:
1:為了迎合更多的developers(開發者)。Flash天生是為了designer(設計者)設計的,界面還有flash的動畫概念和程序開發人員格格不入,為了吸引更多的jsp/asp/php等程序員,Macromedia推出了Flex,提供了非常簡單的mxml界面描述語言給jsp/asp/php程序人員使用,而且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 客户端的問題。

flex成長曆史

flex成因

傳統的程序員在開發動畫應用方面存在困難,Flex 平台最初就是因此而產生。Flex 試圖通過提供一個程序員們已經熟知的工作流和編程模型來改善這個問題。
RIA相互之間關係 RIA相互之間關係
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技術。

flex版本歷史

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 3.5 - 2009年12月16日
Flex4的最終正式版 - 2010年3月22日

flex應用前景

優勢
作為新一代的富客户端互聯網技術的佼佼者,Flex這種技術已經被越來越多的公司所採用,被越來越多的用户和程序員所接受。以下列出Flex十大優勢:
1、Flex與Flash:可以讓普通程序員開發製作Flash成為可能
2、界面表現能力一流。
3、RIA富客户端應用,解決了異步調用,界面無刷新,瀏覽器兼容性等多項難題
4、對流媒體的支持:Flex是被公認為流媒體技術支持最好的應用
5、平台的可用性:根據ADOBE公司的説法,Flash player在全世界一半的PC機器上安裝度為99.8%
6、跨平台:Flash player能夠在linux下運行,也可以在手機上運行,所以不用擔心綁死在WINDOWS上
7、對底層的可操作性:Flex能夠調用底層的東西,比如可以調用攝像頭實現視頻,而且視頻本身就嵌入在Flex應用中,由Flex player直接播放。
8、平台的後續運營和發展前景:Flex是由ADOBE公司推出的且開源
9、有充足的學習環境: Flex官方樣式配置工具,可以在線配置Flex應用程序各種控件的外觀樣式,該程序也是用Flex編寫的,大家可以想象Flex可以做到什麼程度的應用了,而且這麼漂亮的界面,根本不用做任何圖片和美工,都是直接用樣式實現即可。
10、可以用任何你熟悉的WEB編程平台作為後台數據訪問層,可以使用 .net,php,jsp,webservice 。
11、面向對象的as3編程語言,有着和java非常類似的語言風格,非常適合學java程序員快速入門。 [2] 
Adobe RIA
傳統網絡程序的開發是基於頁面的、服務器端數據傳遞的模式,把網絡程序的表現層建立於HTML頁面之上,而HTML是適合於文本的,傳統的基於頁面的系統已經漸漸不能滿足網絡瀏覽者的更高的、全方位的體驗要求了。而富互聯網應用(Rich Internet Applications,縮寫為RIA)的出現就是為了解決這個問題。
RIA面向用户 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應用帶回桌面,創造的商業應用價值和用户體驗價值將超過以往任何技術。
定位
2011年11月,adobe宣佈對移動瀏覽器上的flashplayer不再支持新版本升級。並建議開發者使用html5 代替開發移動程序。
到11年12月,adobe解説已經讓部分內部開發者轉到html5的研究上, 但承諾繼續支持flash技術。從長遠來看adobe在放棄部分領域 在將來可能也會逐步放棄其他flex/flash的傳統領域。不過flex極有可能被HTML5分站大量市場。
Flex和Flash的主要區別:
1、Flex側重於應用軟件、遊戲的開發,flash更側重於網頁web端的展示效果。
2、Flex生成的swf文件較大,不利於網絡傳輸,flash生成的swf文件較小,適合在網站上展示。
經典應用
1、eBay
eBay桌面是構建於Adobe AIR上的一個應用程序,程序創建了與eBay客户的持久連接。eBay桌面實時地直接將產品供貨通知和拍賣更新發布給買主,這樣用户不需要打開瀏覽器進入eBay網站就可以獲取最新信息。
2、納斯達克股票市場公司
NASDAQ Market Replay使用Adobe Flex和Adobe AIR在桌面上發佈一個RIA,讓金融專業人士能夠重放任何時間點市場活動的詳情。
紐約時報公司正在開始ShifD,一個新的RIA,允許使用者在計算機和移動設備之間切換內容。ShifD工作在Web網站和移動設備之上以及兩者之間,通過一個可下載的AIR應用程序提供給人們一種欣賞移動媒體的方式。
4、CCTV網絡電視奧運台
由 Adobe Flex 製作、Adobe Flash 技術加以傳遞前所未有的網頁體驗。其中包含由 CCTV 奧運媒體團隊所提供的奧運賽事成績、統計資料,以及多樣化的背景數據、比賽規則及專家分析等。同時,透過社交網絡功能,還能讓運動迷與朋友們實時分享各種奧運賽事意見及看法。

flex與Flash

首先這裏想説的是,Flash並非只是一個單純的矢量動畫創作工具,而是一個憑藉腳本語言ActionScript在功能和定位上不斷演變的網絡應用開發工具。早在Flash MX的時候就已經成為macromedia 推廣RIA戰略的工具。但是畢竟Flash最初的定位是面向美術動畫設計師的矢量動畫創作工具,並不適合傳統的開發人員。於是Flex成為開發者們的首選。
與FLASH 與FLASH
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的則是基於窗體,雖然它運行在網頁裏。

flex技術組成

flex安裝及配置

SDK2:FLEX標準開發組件,包含flex框架;
Flex Charting 2:FLEX圖表組件
Flex Builder 2:開發FLEX應用的集成開發工具,基於Eclipse;
Flex Data Service 2:FLEX數據服務,應用程序使用數據服務與服務器交換數據

flex技術框架

Flex技術包括以下幾個主要技術框架:
1. 描述應用程序界面的XML語言(MXML);
2. 符合ECMA規範的腳本語言ActionScript),處理用户和系統的事件,構建複雜的數據模型;
3. 一個基礎類庫;
4. 運行時的即時服務;
5. 由MXML與ActionScript文件生成swf文件的編譯器。

flex開發步驟

以下直接來源於Flex 2.0 Beta 3的幫助文件:
使用一系統預定義組件(窗口,按鈕等)來定義一個開發界面。
組織安排組件,用户自定義的界面設計
使用風格和主題來定義可見設計。
增加動態動作,如應用程序之間的互動。
定義並在需要時連接上一個數據服務。
源代碼生成一個在Flash播放器中運行的SWF文件。

flex相關認證

名稱
範圍
簡介
Adobe RIA開發工程師
國內
開發工程師認證是Adobe針對國內計算機軟件和數字藝術、數字媒體等相關專業的在校大學生、研究生以及從業人員,為培養RIA開發人才而全力打造的專業教育解決方案。
瞭解Adobe RIA的概況和Adobe Flash平台的整體技術框架,並能通過Adobe Flash平台的主要開發工具實現基本的RIA項目開發。經Adobe專業考試平台針對考生技術掌握程度與實踐情況的專業考核,取得合格成績的考生將獲得由Adobe頒發的“Adobe RIA開發工程師”認證。
Adobe RIA技術概覽。Adobe Flex技術基礎。Adobe Flash Builder 4.0的使用。Adobe AIR基礎。 參考教材: 《Flex 4:開發富媒體應用》
Adobe Flex ACE
國際
TheFlex 4 ACE Examis based upon the most critical job activities that a Flex developer performs. The skills and knowledge certified by this examination represent a professional level of expertise for a certified individual.
Adobe Rich Internet Application ACE

Adobe Certified Expert - Rich Internet Application - 至少要有三個ACE通過才可以
Specialist( v.1)Complete All.
Electives Complete 1. Adobe Certified Expert - Advanced ColdFusion 8 Adobe Certified Expert - ColdFusion 8 Adobe Certified Expert - Dreamweaver CS4 Adobe Certified Expert - Illustrator CS4 Adobe Certified Expert - Photoshop CS4 Requirements Complete All. Adobe Certified Expert - Flash CS4 Adobe Certified Expert - Flex 3 with AIR
參考資料
  • 1.    董龍飛 ,肖娜.Adobe Flex大師之路:電子工業出版社,2009.05:2-5
  • 2.    (美)艾哈邁德 ,赫希 ,阿比德. Flex3實戰 :清華大學出版社,2010.03:7-10