先梳理了下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等,可設計開發更絢麗的互動效果;