新一代Flex富客戶端技術特點

Web開發者發表於2012-02-29

  本文和大家重點討論一下新一代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富客戶端的介面和操作性將能夠和傳統的C/S相媲美,提供更豐富、更友善、易用性更強的介面給使用者,同時互動性更好,而開發效率卻大為提高;特別是Flex內建對音訊和視訊(包括H.264技術)的支援,給使用者提供更好的操作體驗。之所以Ajax會大行其道,就是因為Ajax的出現可以彌補傳統B/S在介面友善方面的不足,例如Web2.0中普遍提供了一個頁面中可以多個Tab的切換,給使用者帶來更多的方便,但對於更復雜的操作模式則無能為力。而新一代的Flex富客戶端如同傳統C/S應用一樣,可以提供更為複雜的介面,同時其資料持有能力也更強。

 2. 架構方面:

  用XML來描述GUI的外觀,GUI和邏輯相分離,真正意義上的MVC,使得應用開發的結構更為清晰。前端介面使用XML來描述,介面的控制由ActionScript來負責,後端的應用邏輯則封裝在後端中介軟體中,與Flex前端介面相分離。

 3. 可擴充性方面:

  Flex做為前端的客戶元件,非常容易與各類後端技術相結合,例如AMF、PHP、Java、.Net、ColdFusion等,這樣後端應用服務可以規劃為類似的“中介軟體”元件,將業務邏輯封裝其中,中間應用服務元件的選擇預留給使用者極大的選擇空間,方便而靈活。

 4. 從執行的環境方面:

  程式可以在瀏覽器中,也可以執行在瀏覽器外,極大擴充了應用的使用場合。新一代Flex富客戶端可以根據需求更加靈活的部署。

 5. 在效能方面:

  傳統的B/S有各種方式來提高應用伺服器的效率,但Flex框架的解決方案與此不同,能夠在效能方面有更大的提升。眾所周知,傳統Web應用客戶端每次重新整理頁面都會對伺服器產生請求,伺服器要將新的HTML和HTML中包含的圖片傳遞給Client,當請求數量較大時,動態生成HTML及下載圖片的過程都會嚴重地消耗著伺服器的資源(CPU、IO、Memory、Network)。而新一代富客戶應用是通過第一次執行時將應用一次性下載到本地,所有的GUI都在本地執行,執行過程中只產生少量的資料更新請求,而不需要伺服器端實時地產生重新整理的頁面,也就不存在伺服器對HTML等內容的動態構造,這樣後端伺服器將完全專注於資料邏輯的處理,這樣充分利用客戶端本地機器的CPU,並最大限度的減少網路頻寬。

 6. 在開發效率方面:

  Flex的介面程式設計技術更類似於VB或是Delphi,開發中所見即所得,比起修改ASP、JSP、PHP和Javascript所表現的介面有極高的開發效能,而Flex採用ActionScript是物件導向的語言,是一種和Java、.NET相其類似的語言,對於Java或.NET程式設計師來說Flex技術很容易上手,學習和整體維護成本很低。

 7. 能夠與視訊、音訊等多媒體完美結合。

  Flex內建視訊、音訊等多媒體原生元件,因此為程式設計師提供了方便、易用的API。特別是最新的更新中已經包含了對H.264編碼協議的支援。

 8. 和B/S相比,Flex能夠更方便的實現全雙工的訊息通訊。

  對於某些特定的應用,需要實時從伺服器Push訊息給Client,Flex提供了方便的解決方案,突破了傳統的HTTP訊息基於Get/Post被動請求的模式。

相關文章