新一代Flex富客戶端技術特點
本文和大家重點討論一下新一代Flex富客戶端技術特點,首先我們來看一下Flex富客戶端技術的概念,Adobe的Flex富客戶端技術為AIR和Flex,其核心以ActionScript語言為基礎,運用XML來描述界面。
Flex富客戶端技術簡介
Flex及AIR是Adobe公司推出的基于開源、免費、跨平臺的新一代Flex富客戶端平臺。這種新型的Flex富客戶端能夠提供和早期C/S技術一樣出色的UI,但又和B/S一樣不需要在用戶的機器上進行任何部署,也不需要手動對應用程序進行版本更新。Adobe的Flex富客戶端技術為AIR和Flex,其核心以ActionScript語言為基礎,運用XML來描述界面。
新一代Flex富客戶端技術特點
1.可操作性方面:
Flex富客戶端的界面和操作性將能夠和傳統(tǒng)的C/S相媲美,提供更豐富、更友善、易用性更強的界面給用戶,同時互動性更好,而開發(fā)效率卻大為提高;特別是Flex內建對音頻和視頻(包括H.264技術)的支持,給用戶提供更好的操作體驗。之所以Ajax會大行其道,就是因為Ajax的出現(xiàn)可以彌補傳統(tǒng)B/S在界面友善方面的不足,例如Web2.0中普遍提供了一個頁面中可以多個Tab的切換,給用戶帶來更多的方便,但對于更復雜的操作模式則無能為力。而新一代的Flex富客戶端如同傳統(tǒng)C/S應用一樣,可以提供更為復雜的界面,同時其數(shù)據(jù)持有能力也更強。
2.架構方面:
用XML來描述GUI的外觀,GUI和邏輯相分離,真正意義上的MVC,使得應用開發(fā)的結構更為清晰。前端界面使用XML來描述,界面的控制由ActionScript來負責,后端的應用邏輯則封裝在后端中間件中,與Flex前端界面相分離。
3.可拓展性方面:
Flex做為前端的客戶組件,非常容易與各類后端技術相結合,例如AMF、PHP、Java、.Net、ColdFusion等,這樣后端應用服務可以規(guī)劃為類似的“中間件”組件,將業(yè)務邏輯封裝其中,中間應用服務組件的選擇預留給用戶極大的選擇空間,方便而靈活。
4.從運行的環(huán)境方面:
程序可以在瀏覽器中,也可以運行在瀏覽器外,極大拓展了應用的使用場合。新一代Flex富客戶端可以根據(jù)需求更加靈活的部署。
5.在性能方面:
傳統(tǒng)的B/S有各種方式來提高應用服務器的效率,但Flex框架的解決方案與此不同,能夠在性能方面有更大的提升。眾所周知,傳統(tǒng)Web應用客戶端每次刷新頁面都會對服務器產生請求,服務器要將新的HTML和HTML中包含的圖片傳遞給Client,當請求數(shù)量較大時,動態(tài)生成HTML及下載圖片的過程都會嚴重地消耗著服務器的資源(CPU、IO、Memory、Network)。而新一代富客戶應用是通過第一次運行時將應用一次性下載到本地,所有的GUI都在本地運行,運行過程中只產生少量的數(shù)據(jù)更新請求,而不需要服務器端實時地產生刷新的頁面,也就不存在服務器對HTML等內容的動態(tài)構造,這樣后端服務器將完全專注于數(shù)據(jù)邏輯的處理,這樣充分利用客戶端本地機器的CPU,并最大限度的減少網(wǎng)絡帶寬。
6.在開發(fā)效率方面:
Flex的界面編程技術更類似于VB或是Delphi,開發(fā)中所見即所得,比起修改ASP、JSP、PHP和Javascript所表現(xiàn)的界面有極高的開發(fā)效能,而Flex采用ActionScript是面向對象的語言,是一種和Java、.NET相其類似的語言,對于Java或.NET程序員來說Flex技術很容易上手,學習和整體維護成本很低。
7.能夠與視頻、音頻等多媒體完美結合。
Flex內建視頻、音頻等多媒體原生組件,因此為程序員提供了方便、易用的API。特別是最新的更新中已經(jīng)包含了對H.264編碼協(xié)議的支持。
8.和B/S相比,F(xiàn)lex能夠更方便的實現(xiàn)全雙工的消息通信。
對于某些特定的應用,需要實時從服務器Push消息給Client,F(xiàn)lex提供了方便的解決方案,突破了傳統(tǒng)的HTTP消息基于Get/Post被動請求的模式。
【編輯推薦】