你真的了解“手机端的 C/S架构 向 B/S架构 迁移”吗
首先我們需要了解下C/S架構和B/S架構的概念及優缺點QWQ
目錄
C/S架構
概念:
優點:
缺點:
B/S架構
概念:
優點:
缺點:
實例1:QQ是B/S還是C/S
實例2:微信小程序(手機端的C/S—>B/S遷移)
C/S架構
概念:
C/S(Client/Server)架構是一種典型的兩層架構,即客戶端服務器端架構,其客戶端包含一個或多個在用戶的電腦上運行的程序,而服務器端有兩種,一種是數據庫服務器端,客戶端通過數據庫連接訪問服務器端的數據;另一種是Socket服務器端,服務器端的程序通過Socket與客戶端的程序通信。
C/S架構也可以看做是 “胖客戶端架構”。因為客戶端需要實現絕大多數的業務邏輯和界面展示。這種架構中,作為客戶端的部分需要承受很大的壓力,因為顯示邏輯和事務處理都包含在其中,通過與數據庫的交互(通常是SQL或存儲過程的實現)來達到持久化數據,以此滿足實際項目的需要。
優點:
1. C/S架構的界面和操作可以很豐富。
2.?安全性能可以很容易保證,實現多層認證也不難。
3. 由于只有一層交互,因此響應速度較快。
?
缺點:
1. 適用面窄,通常用于局域網中。
2. 用戶群固定。由于程序需要安裝才可使用,因此不適合面向一些不可知的用戶。
3. 維護成本高,發生一次升級,則所有客戶端的程序都需要改變。
?
B/S架構
概念:
B/S(Browser/Server)架構:瀏覽器/服務器結構。Browser指的是Web瀏覽器,極少數事務邏輯在前端實現,但主要事務邏輯在服務器端實現,Browser客戶端,WebApp服務器端和DB端構成所謂的三層架構。B/S架構的系統無須特別安裝,只有Web瀏覽器即可。
B/S架構中,顯示邏輯交給了Web瀏覽器,事務處理邏輯在放在了WebApp上,這樣就避免了龐大的胖客戶端,減少了客戶端的壓力。因為客戶端包含的邏輯很少,因此也被成為 “瘦客戶端”。
優點:
1)客戶端無需安裝,有Web瀏覽器即可。
2)BS架構可以直接放在廣域網上,通過一定的權限控制實現多客戶訪問的目的,交互性較強。
3)BS架構無需升級多個客戶端,升級服務器即可。
缺點:
1)在跨瀏覽器上,BS架構不盡如人意。
2)表現要達到CS程序的程度需要花費不少精力。
3)在速度和安全性上需要花費巨大的設計成本,這是BS架構的最大問題。
4)客戶端服務器端的交互是請求-響應模式,通常需要刷新頁面,這并不是客戶樂意看到的。(在Ajax風行后此問題得到了一定程度的緩解)
實例1:QQ是B/S還是C/S
是C/S了。簡單來說,QQ程序是客戶端,服務器在企鵝,通過客戶端程序訪問企鵝的服務器;網頁的qq就是B/S了,直接用瀏覽器訪問服務。
實例2:微信小程序(手機端的C/S—>B/S遷移)
從很多特點來看,小程序都非常類似于網頁:主要的業務邏輯在服務端、客戶端無需安裝應用程序、小程序的開發采用的HTML+JS+CSS技術等等。張小龍自己對小程序的定位也大概如此:無意做小程序分發平臺,只是做類似于PC互聯網時代的網站,但體驗比網站好,比下載APP更便捷。所以,把小程序看成手機端的Web頁,來思考小程序的價值,不失為一個重要的角度。而從PC端網絡應用從C/S模式向B/S模式的變遷歷史,也能夠反思手機端的未來發展。
網絡應用程序的架構主要有C/S(客戶端/服務器)模式和B/S(瀏覽器/服務器)模式,早期主要以C/S模式為主,原因其實很簡單,缺少相應的開發技術、支撐平臺,要想實現復雜的業務邏輯,只能通過在客戶端處理。隨著web開發技術的成熟,B/S架構的優勢越來越得到大家的認可:開發的標準規范、開發效率高、部署成本低、用戶學習成本低……近年來遇到的各種網絡應用開發,基本上都是B/S架構的。甚至無法用B/S開發的,如一個基于Mapx的地理信息系統,最后也應用戶要求,包裝成“偽B/S程序”,從瀏覽器進入。而在手機端,APP應用非常類似于C/S應用,會不會重復PC端的故事,逐漸向B/S模式遷移呢?我認為還是有可能的,安裝部署成本低是一個因素,我覺得更重要的因素,還是能夠克服APP的開發難度大的問題。基于IOS或安卓的APP開發,門檻較高,相比之下,基于Web的開發相對簡單。同時,任何APP的開發,至少要考慮到兩大平臺,至少需要兩套開發班子,而且每個平臺升級都比較頻繁,還必須考慮到系統版本的兼容。
那么,智能手機普及這么久了,為何這種趨勢一直不太明顯呢?主要是當前手機的各種瀏覽器,都不足以挑起這個 “轉型” 的大梁。一方面普及率不高,沒有一款占有絕對優勢的瀏覽器;另一方面,如果單純復制PC端的瀏覽器的功能,用戶體驗很糟糕:網頁在手機上,頁面需要寬度適應,文本框、組合框、按鈕等頁面組件用起來和手機APP的操作大相徑庭,操作習慣也不一樣,普通人可能既沒耐心也沒能力去擺弄這樣的網頁。
而微信幾乎就是一個完美的解決方案:全民、全平臺的覆蓋率,幾乎和操作系統本身劃等號。同時微信提供了手機操作必要的各種接口支持,重新定義了小程序開發的規范,界面、操作都和APP一樣,盡管內核是web開發,但用戶接觸到的,卻和普通APP完全一樣。Web開發還有龐大的開發基礎,這么多年來積累了多少經驗豐富的網站開發者、多少CSS、JS、HTML開發的資源,而這些,在微信小程序開發中,仍然可以繼續發揮作用。以簡單賬本為例,除了微信自身提供的API、框架之外(其實很簡單),大量使用的還是CSS、JS這些知識,當前的網絡應用開發人員遷移過來非常簡單。
所以,小程序并不是只是用于解決一些小規模的應用的。隨著微信小程序平臺自身的成熟、應用開發的成本優勢將逐步顯現,未來極有可能和PC端一樣,成為各種應用的首選。
轉自騰訊云大佬的 “微信小程序價值思考”,點此傳送門進入
總結
以上是生活随笔為你收集整理的你真的了解“手机端的 C/S架构 向 B/S架构 迁移”吗的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: linux系统使用ps,Linux系统p
- 下一篇: 【HTML】@weijinhai0101