- 相關推薦
客戶端交互技術介紹
隨著網絡應用的不斷豐富,客戶端交互技術也如雨后春筍一般,遍地開花。正是這些技術的支持,我們的互聯網世界變得更加豐富多彩?傮w來看,目前的客戶端交互技術主要分為如下幾大類別:
microsoft系列: ActiveX, Silverlight
java系列:Java Applet,RCP(RAP,GWT),JavaFX
Adobe系列: flash(flex),ActionScript,air
html系列: ajax(異步IO),html5
1. microsoft系列
1)ActiveX 這個在10年前是非常流行的。當時的控件很單一。很多復雜的業務就 被封裝成一個個ActiveX控件。但這個有幾個問題,1是只有IE才支持,其他瀏覽器現在有的雖然號稱支持了,但和IE原生態環境相比,也只能說是有了,效果還是有區別的。2是需要數字簽名。但是IE的安全級別又是可以設置的,所以安全漏洞百出。只能說想法是好的,效果反而成為雞肋了。
2)Silverlight
Silverlight是Microsoft提供的一個跨瀏覽器的、跨平臺的插件,為Web帶來良好的多媒體體驗和豐富的交互式應用程序體驗;.NET平臺,F在可以基于瀏覽器,也可以獨立運行。
主要基于以下2大技術:
XAML(可擴展應用程序標記語言)--展示UI layout
WPF(WindowsPresentation Foundation)--用戶界面框架
Silverlight播出視頻及動畫的效果很好,支持硬件加速
Silverlight支持windows 和IOS,支持ie和firefox,safari等。
Silverlight沒有了像activex的安全的問題,也支持SEO。網站開發者還是比較偏愛的。
Silverlight控件豐富,并支持第三方和自定義控件。
2. java系列
1)Java Applet:是網頁上的java程序。用awt作為圖形庫。含有Applet的網頁的HTML文件代碼中部帶有這樣一對標記,當支持Java的網絡瀏覽器遇到這對標記時,就將下載相應的小應用程序代碼并在本地計算機上執行該Applet。之前的google編程大賽平臺就是用這個做的。要運行javaapplet,首先要裝java虛擬機,然后第一次使用時,下載applet也需要一定時間,F在使用的不多了,只有在過去開發的一些企業內部管理系統中還能看見。
2)RCP。這里指的RCP是專門指Eclipse RCP。RCP提供了豐富的界面控件,這使得基于 Java 開發桌面應用也變得容易了很多。RCP 充分發揮了插件化系統的優勢, 是基于 OSGi 構建插件化系統的最佳實踐。Eclipse RCP項目用SWT圖形庫和工具包取代了Java標準中的AWT和Swing。SWT直接調用了操作系統的圖形庫,從而使得Java應用程序的LOOK & Feel 與操作系統的習慣完全一致;更為重要的是,對本地方法的直接調用大幅度的提高了基于SWT 的Java應用程序的運行速度。當然SWT也有先天的不足,它不是標準的java控件庫,市場占有率不高,同時在ios上的性能表現也不佳,只是在windows上尚可。
RAP(Eclipse 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 應用程序。
3)JavaFX:JavaFX將成為Java平臺上主流的圖形用戶界面開發庫。但是在富客戶端領域,由于有其他3大系列的競爭,市場份額占有還是很少,未來難以估計。在組件的外觀方面,一套圖形用戶界面庫JavaFX2.0也采用了更加流行的做法,即用CSS來定義應用的外觀。JavaFX2.0也引入了界面描述語言FXML.JavaFX 2.0開始使用了java作為開發語言而不是之前的JavaFX script. 在以后的開發中,AWT和Swing應該會逐漸淡出桌面應用開發的視野。 JavaFX能發揮作用的一個地方應該是在企業內部系統中。
3 Adobe系列:
1)flash(flex):Flash的編程模型是基于時間軸的,Flex的則是基于窗體。一個服務于設計師,一個服務于開發人員。
2)ActionScript:開發 flash或者flex的編程腳本語言。
3) Adobe Air是利用Adobe公司的Flash技術開發的視頻播放平臺。比較熟悉的例子:sina 微博 air。
優點: 1)跨平臺(跨操作系統,跨瀏覽器) 2)技術門檻降低:只需要有web開發技術3)可以脫機運行,偶爾連接網絡4)基于flash的用戶體驗更好
缺點: 1)用戶體驗和交互操作比桌面應用還有不足,并且很多應用需要安裝桌面應用才行。2)需要安裝虛擬機
4.html系列
1)ajax
這個是目前的主流。Web2.0的基礎。該技術使得網頁實現異步的局部更新。市面上的所有的瀏覽器都支持。主流流行的js框架也都為止進行了封裝。在流媒體處理上還有不足。
異步IO—是針對同步IO而言,增強client和server交互性的socket連接手段。經常使用在各種分布式、即時通信和中間件系統中。是一種高效,且擴展性很強的通信架構。
2)Html5,是未來的趨勢。在瀏覽器層面解決客戶端交互,而不是之前說的3類,通過插件的方式來增強交互。它支持多設備跨平臺。
Html5主要包括了一些新增的ui控件,如多媒體播放器webplayer,canvas等;增加了websoket的支持,這個是對異步IO的根本性的顛覆;增加webwork,舍得高性能計算和頁面展示可以線程分離,不影響用戶體驗;增加了css3支持,展現式樣上對3D效果更加支持。Html5通過history特性甚至解決了ajax不能修改URL這個先天不足。在云時代漸漸向我們走進的時候,Html5將代表了未來。當然,所有的這些需要通過市場的洗禮,一一落地。
總而言之,客戶端交互技術是在不斷的向前的。不為別的,只因為它在互聯網時代將帶給使用者更真實的用戶體驗。
【客戶端交互技術介紹】相關文章:
動漫游戲交互創作的技術09-03
Flash的交互動畫設計介紹04-02
數控技術專業介紹08-25
電子技術的應用領域介紹10-06
寧波衛生職業技術學院介紹02-02
關于五軸聯動數控機床技術介紹03-31
排球的基本技術11-04
排球的技術要點03-11
湖羊的養殖技術07-24
蝸牛的養殖技術10-28