客戶端交互技術簡介


隨着網絡應用的不斷豐富,客戶端交互技術也如雨後春筍一般,遍地開花。正是這些技術的支持,我們的互聯網世界變得更加豐富多彩。一個瀏覽器上,不用說是簡單的動畫效果,就是一個Office應用也能順暢的使用。所有這些都要感謝客戶端交互技術的快速發展。甚至,現在的客戶端交互技術的發展的趨勢是,可以以瀏覽器爲載體,也可以脫離瀏覽器以單獨的應用形式存在。

   總體來看,目前的客戶端交互技術主要分爲如下幾大類別;

  1. microsoft系列: ActiveX Silverlight

  2. java系列:Java AppletRCPRAPGWT,JavaFX

  3. Adobe系列: flashflex),ActionScriptair

  4. html系列:  ajax(異步IO),html5

    1. microsoft系列

    1)ActiveX 這個在10年前是非常流行的。當時的控件很單一。很多複雜的業務就 被封裝成一個個ActiveX控件。但這個有幾個問題,1是隻有IE才支持,其他瀏覽器現在有的雖然號稱支持了,但和IE原生態環境相比,也只能說是有了,效果還是有區別的。2是需要數字簽名。但是IE的安全級別又是可以設置的,所以安全漏洞百出。只能說想法是好的,效果反而成爲雞肋了。

    2Silverlight

    SilverlightMicrosoft提供的一個瀏覽器的、跨平臺的插件,爲Web帶來良好的多媒體體驗和豐富的交互式應用程序體驗。基於.NET平臺。現在可以基於瀏覽器,也可以獨立運行。

    主要基於以下2大技術:

    XAML(可擴展應用程序標記語言--展示UI layout

    WPF(WindowsPresentation Foundation--用戶界面框架

    Silverlight播出視頻及動畫的效果很好,支持硬件加速

    Silverlight支持windows IOS,支持iefirefoxsafari等。

    Silverlight沒有了像activex的安全的問題,也支持SEO。網站開發者還是比較偏愛的。

    Silverlight控件豐富,並支持第三方和自定義控件。

    2. java系列

    1Java Applet:是網頁上的java程序。用awt作爲圖形庫。含有Applet的網頁的HTML文件代碼中部帶有<applet> </applet>這樣一對標記,當支持Java的網絡瀏覽器遇到這對標記時,就將下載相應的小應用程序代碼並在本地計算機上執行該Applet。之前的google編程大賽平臺就是用這個做的。要運行javaapplet,首先要裝java虛擬機,然後第一次使用時,下載applet也需要一定時間。現在使用的不多了,只有在過去開發的一些企業內部管理系統中還能看見。

    2RCP。這裏指的RCP是專門指Eclipse RCPRCP提供了豐富的界面控件,這使得基於 Java 開發桌面應用也變得容易了很多。RCP 充分發揮了插件化系統的優勢, 是基於 OSGi 構建插件化系統的最佳實踐。Eclipse RCP項目用SWT圖形庫和工具包取代了Java標準中的AWTSwingSWT直接調用了操作系統的圖形庫,從而使得Java應用程序的LOOK & Feel 與操作系統的習慣完全一致;更爲重要的是,對本地方法的直接調用大幅度的提高了基於SWT Java應用程序的運行速度。當然SWT也有先天的不足,它不是標準的java控件庫,市場佔有率不高,同時在ios上的性能表現也不佳,只是在windows上尚可。

    RAPEclipse Rich AjaxPlatform):RAP 允許開發人員使用豐富的 Java 庫和Eclipse API 構建基於瀏覽器的 Ajax 應用程序。RAP 主要運行在服務器上。由於 RAP 運行在服務器上,因此允許您訪問豐富的 Java API 並允許通過 OSGi 使用著名的 Eclipse 插件模型。RAP 版與 RCP 版的主要差別在於插件依賴性(RAP 插件)和應用程序入口點(IEntryPoint)。

    GWT  (GoogleWeb Toolkit)允許使用 Java 來編寫富 Internet 應用程序的代碼。GWT 運行在客戶機上。GWT 類似一個web SWT 應用程序。

     

    3JavaFX:JavaFX將成爲Java平臺上主流的圖形用戶界面開發庫。但是在富客戶端領域,由於有其他3大系列的競爭,市場份額佔有還是很少,未來難以估計。在組件的外觀方面,一套圖形用戶界面庫JavaFX2.0也採用了更加流行的做法,即用CSS來定義應用的外觀。JavaFX2.0也引入了界面描述語言FXML.JavaFX 2.0開始使用了java作爲開發語言而不是之前的JavaFX  script. 在以後的開發中,AWTSwing應該會逐漸淡出桌面應用開發的視野。 JavaFX能發揮作用的一個地方應該是在企業內部系統中。

     

    3 Adobe系列:

    1flashflex):Flash的編程模型是基於時間軸的,Flex的則是基於窗體。一個服務於設計師,一個服務於開發人員。

    2ActionScript:開發 flash或者flex的編程腳本語言。

    3 Adobe Air是利用Adobe公司的Flash技術開發的視頻播放平臺。比較熟悉的例子:sina 微博 air

    優點: 1)跨平臺(跨操作系統,跨瀏覽器) 2)技術門檻降低:只需要有web開發技術3)可以脫機運行,偶爾連接網絡4)基於flash的用戶體驗更好

    缺點: 1)用戶體驗和交互操作比桌面應用還有不足,並且很多應用需要安裝桌面應用才行。2)需要安裝虛擬機

     

     

    4.html系列

    1ajax

    這個是目前的主流。Web2.0的基礎。該技術使得網頁實現異步的局部更新。市面上的所有的瀏覽器都支持。主流流行的js框架也都爲止進行了封裝。在流媒體處理上還有不足。

    異步IO—是針對同步IO而言,增強clientserver交互性的socket連接手段。經常使用在各種分佈式、即時通信和中間件系統中。是一種高效,且擴展性很強的通信架構。

    2Html5,是未來的趨勢。在瀏覽器層面解決客戶端交互,而不是之前說的3類,通過插件的方式來增強交互。它支持多設備跨平臺。

    Html5主要包括了一些新增的ui控件,如多媒體播放器webplayercanvas等;增加了websoket的支持,這個是對異步IO的根本性的顛覆;增加webwork,捨得高性能計算和頁面展示可以線程分離,不影響用戶體驗;增加了css3支持,展現式樣上對3D效果更加支持。Html5通過history特性甚至解決了ajax不能修改URL這個先天不足。在雲時代漸漸向我們走進的時候,Html5將代表了未來。當然,所有的這些需要通過市場的洗禮,一一落地。

     

     

    總而言之,客戶端交互技術是在不斷的向前的。不爲別的,只因爲它在互聯網時代將帶給使用者更真實的用戶體驗。

發佈了212 篇原創文章 · 獲贊 19 · 訪問量 132萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章