Flex 学习笔记之一:Flex 简介
?????????????? Flex 是一個高效、免費的開源框架,可用于構建具有表現力的 Web 應用程序,這些應用程序利用 Adobe Flash Player和 Adobe AIR, 運行時跨瀏覽器、桌面和操作系統實現一致的部署。
??????????????Flex通常是指Adobe Flex,是最初由Macromedia公司在2004年3月發布的,基于其專有的Macromedia Flash平臺,它是涵蓋了支持RIA(Rich Internet Applications)的開發和部署的一系列技術組合。flex的另一個意思是一款生成掃描器的工具,能夠識別文本中的詞法模式。
?
????????????? flex簡介
Flex 是一個高效、免費的開源框架,可用于構建具有表現力的 Web 應用程序,這些應用程序利用 Adobe Flash Player和 Adobe AIR, 運行時跨瀏覽器、桌面和操作系統實現一致的部署。雖然只能使用 Flex 框架構建 Flex 應用程序,但Adobe Flash Builder?(之前稱為 Adobe Flex Builder?)軟件可以通過智能編碼、交互式遍歷調試以及可視設計用戶界面布局等功能加快開發。
使用 Flex 創建的 RIA 可運行于使用 Adobe Flash Player 軟件的瀏覽器中,或在瀏覽器外運行于跨操作系統運行時 Adobe AIR上,它們可以跨所有主要瀏覽器、在桌面上實現一致的運行。連接到 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公司收購。當前(2011年11月)的flex版本為4.6。
運用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 客戶端的問題。
?
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 。
Adobe RIA技術
傳統網絡程序的開發是基于頁面的、服務器端數據傳遞的模式,把網絡程序的表現層建立于HTML頁面之上,而HTML是適合于文本的,傳統的基于頁面的系統已經漸漸不能滿足網絡瀏覽者的更高的、全方位的體驗要求了。而富互聯網應用(Rich Internet Applications,縮寫為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宣布對移動瀏覽器上的flash player不再支持新版本升級。并建議開發者使用html5 代替開發移動程序。
到11年12月,adobe解說已經讓部分內部開發者轉到html5的研究上, 但承諾繼續支持flash技術。從長遠來看adobe在現在放棄部分領域 在將來可能也會逐步放棄其他flex/flash的傳統領域。
經典應用
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 奧運媒體團隊所提供的奧運賽事成績、統計資料,以及多樣化的背景數據、比賽規則及專家分析等。同時,透過社交網絡功能,還能讓運動迷與朋友們實時分享各種奧運賽事意見及看法。
Flex與Flash的關系
首先這里想說的是,Flash并非只是一個單純的矢量動畫創作工具,而是一個憑借腳本語言ActionScript在功能和定位上不斷演變的網絡應用開發工具。早在Flash MX的時候就已經成為macromedia 推廣RIA戰略的工具。但是畢竟Flash最初的定位是面向美術動畫設計師的矢量動畫創作工具,并不適合傳統的開發人員。于是Flex成為開發者們的首選。
與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技術包括以下幾個主要技術框架:
1. 描述應用程序界面的XML語言(MXML);
2. 符合ECMA規范的腳本語言(ActionScript),處理用戶和系統的事件,構建復雜的數據模型;
3. 一個基礎類庫;
4. 運行時的即時服務;
5. 由MXML與ActionScript文件生成swf文件的編譯器。
開發步驟
以下直接來源于Flex 2.0 Beta 3的幫助文件:
使用一系統預定義組件(窗口,按鈕等)來定義一個開發界面。
組織安排組件,現在用戶自定義的界面設計。
使用風格和主題來定義可見設計。
增加動態動作,如應用程序之間的互動。
定義并在需要時連接上一個數據服務。
從源代碼生成一個在Flash播放器中運行的SWF文件。
?
總結
以上是生活随笔為你收集整理的Flex 学习笔记之一:Flex 简介的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 网易称暴雪离婚不离身;苹果发布 M2 P
- 下一篇: STM32标准库工程中移植Tencent