cs模式與bs模式


 關於CS(Client-Server)模式和BS(Browser-Server)模式的水很深,盆地自己也認為對此了解不夠透徹,但作為手機客戶端設計,如果不對CS、BS做一定程度的了解,是很容易出現一些方向性的錯誤、走一些彎路抑或在實現性價比上付出過多代價。
 
    本文偏向於基礎知識,產品人員很多情況下不僅僅要了解表現、交互,還需要一定程度上了解可實現性、實現代價、實現形式、實現限制等。
 
二、CS模式產品
 
    CS(Client-Server)模式:顧名思義為客戶端-服務器的意思,對比的話類似我們pc上面除瀏覽器外和服務器有交互的軟件,例如qq、殺毒軟件等等都是CS模式;如果和服務器沒有交互,則可以認為是一個純客戶端。客戶端和服務器交互的方式可以通過自定義協議、公共協議(ftp、http)等各種方式進行。
 
    在手機上面的客戶端例如Gmail客戶端、搜狗輸入法、來電通都屬於CS模式的產品.
 
    CS模式最大的好處就是可以相對靈活實現各種預期的功能和特效,所受的限制為系統提供的底層功能或開發工具的限制。
 
    CS模式最大的缺點就是大部分功能新增、界面調整、邏輯變更需要更新客戶端來實現。當然,通過良好的設計可以一定程度上實現不更新客戶端來實現新功能、邏輯變更等,但相對來說在不升級客戶端的情況下對架構設計要求較高。
 
三、BS模式產品    
 
 
    BS(Browser-Server)模式:顧名思義為瀏覽器-服務器的意思,對比的話類似我們PC上面瀏覽器使用的產品即為BS模式產品,例如google doc、各類網站等。
 
    瀏覽器就盆地看來可以認為是Client的一種,只不過實現了和Browser有關的協議(http等)和標記集(wml、html等)。
 
    在手機上純粹的BS產品可以認為是我們常見的手機訪問的網站。在手機客戶端中常用的瀏覽器(UCweb、opera mini、opera mobile、qq瀏覽器等)屬於這些產品的承載體。
 
    為了增加功能,一般會自行開發瀏覽器,例如ucweb、qq瀏覽器中除瀏覽功能外,還默認內置了網站導航、歷史瀏覽記錄、各類頻道等,即屬於瀏覽器非協議實現和表現外的新增功能。
 
    BS模式產品最大的好處就是可以靈活實現邏輯變更、內容動態變更、界面布局調整等。
 
    BS模式產品的不足是受限於實現的瀏覽器標記集和瀏覽器能力,許多特殊效果無法通過瀏覽器實現。雖然可以一定程度上通過自定義開發來實現功能新增,但此種方法卻喪失了BS的靈活性,而偏向於CS模式的客戶端。
 
    目前絕大部分的手機客戶端瀏覽器基本上停留在支持html、wml的階段,受限於手機性能和pc表現差異等方面,基本上不支持或僅少量支持css和JavaScript。
 
四、CS模式和BS模式結合產品 
 
     綜合考慮靈活性、實現效果等,不少手機客戶端產品會選擇CS模式和BS模式結合的產品,至於其中CS和BS所占的比重則更多根據所需要實現的功能、表現形式等來決定。
 
    例如手機QQ中,涉及到IM部分均為CS模式(這一塊難以通過BS模式支持的協議來表現),而其他的頻道例如資訊、音樂、書城、股票等則通過BS方式來表現。 手機msn也和手機qq類似,在IM功能實現上采用CS,而資訊類采用BS方式。手機QQ音樂中除音樂門戶是BS模式外,其他都是CS模式實現。
 
五、一些注意要點
 
    受限於BS模式的承載協議和支持標簽集(目前和PC上的實現還有較大差距),如果不支持或難以支持的方式則主要考慮CS模式實現,而在可以實現的情況下是否實現也需要根據實際情況來。
 
     1. 如果希望有較絢麗的效果,基本上可以不用考慮BS。
 
     2. BS模式的產品中,左右軟鍵選項菜單的內容基本是固定的,除了部分情況下會變化外,大部分情況下都表現的一致,這類似於瀏覽器中菜單的內容基本上不會根據瀏覽網站不同而變化是一致的。
 
     3. 想實現通過選項菜單來控制主界面中元素的功能(例如通過選項菜單選中主界面中某個元素), 最好考慮CS模式。
 
     4. 無法在承載協議上支持的例如音樂播放、視頻播放等,則要采用CS模式。
 
     5.希望動態加載數據,CS模式和BS模式都可以支持
 
     6.如果希望動態排版變化,則最好采用BS模式
 
     7.如果要在BS模式調用非標准本地能力,則需要自定義標記集
 
六、適配
 
     如果采用CS模式,則基本上不同分辨率、不同系統的客戶端基本都需要進行適配,即提供不同安裝包,每次變更適配工作量巨大。同時不同分辨率的適配基本上都需要相應的UI配合設計和切圖等。
 
    如果采用BS模式,則在標准的瀏覽器標記集支持范圍內,則只需要更改服務器以及根據ua不同展示不同頁面。如果為自開發瀏覽器核心,則由於系統、平台、開發語言等不同,進行不同的適配,但由於業務邏輯和功能基本上在服務器實現,適配工作也大大減少。瀏覽器本身可以開發自適應的功能,在界面不包含絢麗效果的情況下,很多情況可以實現自適應。
 
   根據業界某歷史相對較舊的客戶端開發公司介紹,其公司采用的為BS加自定義標記的模式,BS模式中如果需要調用不支持能力的時候,則通過自定義標記集支持,針對同一個標記集在不同平台中根據實際情況做不同解析,通過此種方式降低后台適配工作的工作量,以及保障客戶端支持的功能。
 
七、小結
 
    本文較為零散,很難起到循序漸進了解的效果,受限於盆地個人了解深度和表達能力的限制,估計本文對有一定手機客戶端設計經驗的人可能會有幫助,如果實際經驗沒有涉及到相關方面的話,此文幫助程度恐有限。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM