先梳理了下WEB的發展,大致有三大階段,首先是web1.0, 以企事業單位的網站為主,其特征就是信息共享,用戶只是單方面的獲取信息;再者就是web2.0,以博客、流行一時的社區網站為主, 其主要特征就是信息的共建,未來的第三個階段,也就是google大力倡導的web3.0,主要是個性化和人脈的管理,是不是像faceBook這樣?呵呵。總而言之,每個階段的發展,都是思想的創新,進而指導技術的發展和應用。
那么,什么又是富客戶端呢?我們先了解下胖客端(也叫富客戶端)與瘦客戶端的區別,網絡應用程序經歷了從胖客戶端到瘦客戶端的發展,胖客戶端是相對於傳統的C/S結構的網絡應用程序來說的,其應用的客戶端程序不僅提供交互界面,還需要負責大部分的業務邏輯處理,而瘦客戶端一般都是相對於B/S結構的Web應用來說的,其應用的客戶端程序統一為瀏覽器,瀏覽器中只解析標准的HTML來顯示用戶交互界面,這樣,服務器需要負責處理業務邏輯和數據持久化,然后將處理的結果以HTML的語言發送給客戶端,客戶端除負責一些數據驗證外,基本上不需關注業務邏輯,只專注於用戶交互界面的顯示。而如今,隨着用戶體驗越來越被關注,新技術的不斷涌現,B/S結構的web應用程序也逐漸向胖客戶端發展,尤其是在web2.0的出現,更加快了這種發展的趨勢。
當前富客戶端開發技術主要分為: ActiveX、Flash、silverlight,個人結合產品研發的需要以及實際的項目開發,總結如下:
1、ActiveX控件:其優勢主要在能較好地實現客戶端復雜的運算,但在應用過程中局限性也越來越大:
a) 客戶端安裝使用問題:ActiveX控件需要用戶顯示地將程序完全下載到用戶本地后才能執行,既不方便又不安全;
b) 瀏覽器安全問題:ActiveX控件必須要付費得到微軟的簽名認證,否則IE可能會根據安全性自動拒絕下載安全;
c) 瀏覽器兼容性問題:僅IE瀏覽器采用ActiveX技術,而Firefox,safari,Chrome,opera采用的是NPAPI的插件技術;
d) 可持續性問題:微軟已經將web前端應用開發解決方案轉向silverlight(針對flash的,但比flash技術上要落后幾個版本),ActiveX技術的支持力度及發展前景已不樂觀;
2、Flash技術:原先不能實現客戶端復雜運算的劣勢已基本解決,在應用過程中優勢越來越明顯:
在平台級的優勢方面,其采用“應用+插件”的設計思想,造就了以下諸多的優勢:
a) 可以跨所有主要操作系統和瀏覽器。Flash插件解決各平台的展現一致性、安全性、兼容性的問題;
b) 從Flash Player 10.1以后,adobe對開發者開放了用戶語音數據的控制,已經可以在客戶端進行語音數據處理;
c) Flash底層通過RTMP、AMF協議,Speex編碼等,極好地解決了流媒體數據的實時傳輸的問題;
d) Adobe推出試驗性Alchemy項目,能將C/C++項目轉化為可為Flash調用的庫,性能損失較小;
尤其在用戶體驗方面,其優勢非常明顯:
a) Flash Player是Adobe公司戰略級產品,是其主推項目,版本更新頻繁,運行穩定。裝機率高達94%;
b) 擁有不斷更新的專業設計、開發軟件Flash、PhotoShop、Flex等,可設計開發更絢麗的交互效果;