flex

flex

adobe flex
flex指Adobe Flex,基于其專有的Macromedia Flash平台,它是涵蓋了支持RIA(Rich Internet Applications)的開發和部署的一系列技術組合[1]。Flex 是一個高效、免費的開源框架,可用于構建具有表現力的 Web應用程序,這些應用程序利用Adobe Flash Player和Adobe AIR, 可以實現跨浏覽器、桌面和操作系統。雖然隻能使用 Flex 框架構建 Flex應用程序,但Adobe Flash Builder™(之前稱為 Adobe Flex Builder™)軟件可以通過智能編碼、交互式遍曆調試以及可視設計用戶界面布局等功能加快開發。
  • 中文名:flex
  • 外文名:Adobe Flex
  • 别名:
  • 所屬公司:Macromedia公司
  • 發表時間:2004年3月

結構介紹

Flex 是一個高效、免費的開源框架,可用于構建具有表現力的 Web應用程序,這些應用程序利用Adobe Flash Player和Adobe AIR, 可以實現跨浏覽器、桌面和操作系統。雖然隻能使用 Flex 框架構建 Flex應用程序,但Adobe Flash Builder™(之前稱為 Adobe Flex Builder™)軟件可以通過智能編碼、交互式遍曆調試以及可視設計用戶界面布局等功能加快開發。

使用 Flex 創建的 RIA 可運行于裝有 Adobe Flash Player 插件的浏覽器中,或運行于跨操作系統的 Adobe AIR上,它們可以跨所有主流浏覽器、操作系統實現一緻的運行。通過利用 AdobeAIR,Flex應用程序可以訪問本地數據和系統資源。Flex技術的三大組成部分:UI、數據、服務器技術介紹。從根本上說,Flex技術是表現層解決方案,像所有其他類似技術一樣,表現層技術要解決三個基本問題:表現層界面展示和人機交互,客戶端數據操作及服務器端數據交互和整合。Flex針對這三個根本問題提供了卓越的解決方案。

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 最初是作為一個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 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十大優勢:

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程序員快速入門。

Adobe 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應用帶回桌面,創造的商業應用價值和用戶體驗價值将超過以往任何技術。

定位

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,讓金融專業人士能夠重放任何時間點市場活動的詳情。

3、紐約時報公司

紐約時報公司正在開始ShifD,一個新的RIA,允許使用者在計算機和移動設備之間切換内容。ShifD工作在Web網站和移動設備之上以及兩者之間,通過一個可下載的AIR應用程序提供給人們一種欣賞移動媒體的方式。

4、CCTV網絡電視奧運台

由 Adobe Flex 制作、Adobe Flash 技術加以傳遞前所未有的網頁體驗。其中包含由 CCTV 奧運媒體團隊所提供的奧運賽事成績、統計資料,以及多樣化的背景數據、比賽規則及專家分析等。同時,透過社交網絡功能,還能讓運動迷與朋友們實時分享各種奧運賽事意見及看法。

與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的則是基于窗體,雖然它運行在網頁裡。

技術組成

安裝及配置

SDK2:FLEX标準開發組件,包含flex框架;

Flex Charting 2:FLEX圖表組件

Flex Builder 2:開發FLEX應用的集成開發工具,基于Eclipse;

Flex Data Service 2:FLEX數據服務,應用程序使用數據服務與服務器交換數據

技術框架

Flex技術包括以下幾個主要技術框架:

1. 描述應用程序界面的XML語言(MXML);

2. 符合ECMA規範的腳本語言(ActionScript),處理用戶和系統的事件,構建複雜的數據模型;

3. 一個基礎類庫;

4. 運行時的即時服務;

5. 由MXML與ActionScript文件生成swf文件的編譯器。

開發步驟

以下直接來源于Flex 2.0 Beta 3的幫助文件:

使用一系統預定義組件(窗口,按鈕等)來定義一個開發界面。

組織安排組件,用戶自定義的界面設計。

使用風格和主題來定義可見設計。

增加動态動作,如應用程序之間的互動。

定義并在需要時連接上一個數據服務。

從源代碼生成一個在Flash播放器中運行的SWF文件。

相關認證

名稱

範圍

簡介

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

相關詞條

相關搜索

其它詞條