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