首先,什麼是B/S、C/S?前端
它們之間的優缺點各是什麼?這是一個學習軟件的人都應該掌握的知識。數據庫
關於這個問題,google一下可以獲得不少具體而有效的答案。設計模式
(一)、什麼是C/S和B/S:瀏覽器
C/S又稱Client/Server或客戶/服務器模式。安全
在C/S模式中服務器一般採用高性能的PC、工做站或小型機,並採用大型數據庫系統,如Oracle、Sybase、Informix或 SQL Server。客戶端須要安裝專用的客戶端軟件。服務器
B/S又稱Brower/Server模式。網絡
客戶機上只要安裝一個瀏覽器(Browser),如Netscape Navigator或Internet Explorer,服務器安裝Oracle、Sybase、Informix或 SQL Server等數據庫。瀏覽器經過Web Server 同數據庫進行數據交互。架構
(二)、C/S,B/S各有什麼優缺點:分佈式
一、 C/S結構性能
C/S(Client/Server)結構,即你們熟知的客戶機和服務器結構。經過C/S能夠充分利用兩端硬件環境的優點,將任務合理分配到Client端和Server端來實現,下降了系統的通信開銷。
目前大多數應用軟件系統都是C/S形式的兩層結構。
因爲如今的軟件應用系統正在向分佈式的Web應用發展,Web和Client/Server 應用均可以進行一樣的業務處理,應用不一樣的模塊共享邏輯組件,所以,內部的和外部的用戶均可以訪問新的和現有的應用系統。
經過現有應用系統中的邏輯能夠擴展出新的應用系統,這也就是目前應用系統的發展方向。
傳統的C/S體系結構雖然採用的是開放模式,但這只是系統開發一級的開放性,在特定的應用中不管是Client端仍是Server端都還須要特定的軟件支持。
因爲沒能提供用戶真正指望的開放環境,C/S結構的軟件須要針對不一樣的操做系統開發不一樣版本的軟件,加之產品的更新換代快,已經很難適應百臺電腦以上局域網用戶同時使用,並且代價高,效率低。
二、B/S結構
B/S(Browser/Server)結構即瀏覽器和服務器結構。
它是隨着Internet技術的興起而對C/S結構的一種變化或者改進的結構。
在這種結構下,用戶工做界面經過WWW瀏覽器來實現,極少部分事務邏輯在前端(Browser)實現,主要事務邏輯在服務器端(Server)實現,造成所謂三層3-tier結構。
這樣就大大簡化了客戶端電腦載荷,減輕了系統維護與升級的成本和工做量,下降了用戶的整體成本(TCO)。
以目前的技術看,局域網創建B/S結構的網絡應用,並經過Internet/Intranet模式下數據庫應用,相對易於把握,成本也是較低的。
B/S結構是一次到位開發,能實現不一樣人員,從不一樣地點,以不一樣的接入方式(好比LAN、 WAN、 Internet/Intranet等)訪問和操做共同的數據庫;它能有效地保護數據平臺和管理訪問權限,服務器數據庫也很安全。
B/S結構主要是利用了不斷成熟的WWW瀏覽器技術,結合瀏覽器的多種Script語言(VBScript、JavaScript…)和ActiveX技術,用通用瀏覽器就實現了原來須要複雜專用軟件才能實現的強大功能,並節約了開發成本,是一種全新的軟件系統構造技術,成爲當今應用軟件的首選體系結構。
以上是比較精煉的一個B/S、C/S介紹。
用幾個關鍵點能夠總結以下:
C/S模式:
①、充分利用如今PC機的硬件優點和網絡的穩定性,將邏輯處理合理分擔到客戶機和服務器,減輕服務器負擔,也使軟件產品能實現更加好的功能(尤爲在視覺效果、3D處理等)
②、更新維護過程須要同時對服務器、客戶端進行升級處理,成本高、效率低。(這也是這種設計模式的最大硬傷)
B/S模式:
①、將大量的事務邏輯工做放在服務器端,而在Browser端只有不多的事務邏輯。這樣對前端計算機的硬件要求下降了。
②、因爲相關標準的完善,B/S模式更符合工業化大規模生產的要求。用戶只要在本身的電腦上安裝一個瀏覽器,即可以瀏覽任何一個網站。這是C/S模式沒法作到的。
③、過於標準化的B/S前端,一樣能夠理解成爲過於呆板,這直接致使了B/S模式下的功能實現沒有C/S靈活、方便、美觀。現在的一些script技術和AJAX技術等已經很大程度上緩解了這個問題。但和一些3D網絡遊戲等等在美觀角度仍是沒法比擬的。
那麼是否能在二者之間尋找一個平衡點呢,仁者見仁吧;
那麼在上述兩種模式中再引入一個如今比較流行的術語——「雲計算」,那麼又會是怎麼樣的一番博弈呢。
看看咱們如今的互聯網:
一、愈來愈快、愈來愈穩定的網絡傳輸速度
二、智能手機愈來愈像我的電腦
在這樣的網絡大環境下,軟件產品的架構模式將來十年又會往哪一個方向發展呢。其實每一個人清閒的時候均可以去思考一下。