B/S和C/S架构有什么区别?菜鸟

解决方案 »

  1.   

    简单的理解就是B/S多用于网站系统
    C/S多用于电脑应用系统
      

  2.   

    本质上没有区别!
    B/S 只是 C/S 的一个特例:客户端使用成品的浏览器,服务端使用成品的 web 服务器,不需要自定义通讯协议
      

  3.   

    通俗点说就是BS是网站模式的,通过浏览器打开即可,CS是客户端模式的,通过双击一个exe执行文件打开.但是也可以在CS里面打开BS项目,比如webbrowser
      

  4.   

    如果面试官问你“有没有做过B/S开发?”的时候,其实就是问你 html/css/javascript 技术怎样,是否了解 http 原理、web服务基本原理,是否了解一两种 web服务器端小网站的开发流程。这些软件的前端需要经过各种浏览器的客户端解析、(准)编译之后再动态执行。而问你“C/S开发!”就是相反地问题,不局限上述技术、不经过浏览器而是直接与图形操作系统打交道,直接编写tcp、udp、msmq等等协议的程序,基本上这就是 windows 桌面应用程序的天下(95%以上的市场占有率)。显然这类桌面应用软件的用户体验跟网页是有去别的,不过现在的 javascript 流行,特别是 Hybrid 技术造成了许多高性能“单页面应用、手机应用”,说明基于浏览器的编程方式相比于传统桌面应用、手机应用的开发,开发效率上有极大优势(但是这方面的难度比较大,比如一个学了 native 开发的 iOS 工程师可以不会多少编程只会用一点现成组件而只能写几百行源代码就装B,而一个 javascript 工程师则不但要搞懂许多实用 js 插件而且还要有能写 5000 行以上的 js 源代码才能装 B)。我经常拿 http://v.6.cn/811684 这个网站做例子。打开这个网站的代码看看,其设计上并不是很高级,也比较乱、比较累赘。我们的程序员的技术,开发这种网站“毫无压力、非常简单”。这就是我对 b/s 程序员前端人员的起码要求。由此可见现在的 B/S 也可以做一些用户体验还不错、交互操作也比较符合用户熟练操作的那些应用,其 b-s 通讯效率也相比于过去有了一定的提高。而我不认为只会写个简单宣传网页,就算是某些人所说的“熟悉、精通”B/S开发。
    我不想过多讨论所谓的“C/S架构”问题了。简单说一下。所谓“C/S架构”就是指得你自己开发一个桌面客户端软件,然后再自己开发一个业务服务器端软件,然后自己的两个系统相互通讯。大多数初学者以为会用个 ADO.NET 来调用 SQL Server 的数据库驱动进行“增删改查”就算是自己开发了服务器端系统了,这是局域网小办公室里玩儿软件的思维方式,不是基于互联网的思维方式。真正的 C/S 就好像是手机网络,(不同操作系统的)手机系统把音频信号发给移动公司网络,然后经过各省、各市的服务器,发送给另外一端的手机进行播放,同时各省的网络还做了财务计费、BOSS服务、用户分析、企业用户管理等等工作,这样的网络就是传统的 C/S 系统。它不基于浏览器,并且它是“客户端-服务器”架构的,客户端根本不知道服务器端用的是什么操作系统、数据库、有几个数据库,客户端就是按照规定的协议与服务器端进行高效率的通讯即可。
      

  5.   

    在桌面程序里边嵌入一个 WebBrowser,准确地说,那只有 C/S 的一点皮毛,而真正要开发还是 B/S 无疑。注意这里是指“开发”自己的跑在 WebBrowser 控件内的应用,而不是说使用一个 WebBrowser 只是为了跑别人的一个网站客户端。如果使用 WebBrowser 控件只是为了跑别人的一个网页,那就不叫做开发,叫做蒙人。
      

  6.   

    如果你在 PhoneGap Build 网站上注册一个免费的开发者账号,你就能看到其 Codovar 提供了哪些官方的插件,以及有多少第三方插件供人免费使用。国内有好几家比较大的手机软件开发商(例如 WeX5)其底层也是使用它,只不过自己再做了一层封装。大多数手机应用都不是用底层原生的方式,而是通过“浏览器”来运行。同时基于 Hybrid 架构可以使得这类手机应用无限接近原生应用(而在稳定性、动态更新、开发成本上则具有10倍以上的优势!)所以现在说“B/S架构”其实可能有很大的误导。我基本上不用“b/s、c/s”这样的词儿了,我们谈开发的时候就用更加接地气的词儿来谈。基本上,如果遇到的朋友谈“b/s、c/s”概念时,都说明他是开发的外行。因为在“B/S”这个词儿的歧义太大了,根本不能准确了解说者的真实的东西不到半斤还是有八两。
      

  7.   

    使用浏览器打开与运行exe程序
      

  8.   

    如几个版主所言。B/S一个比较重要的点就是更新方便,没有特别需求外,把服务器端程序更新就完事了。
    而exe程序每次客户端都要自动安装更新包。
      

  9.   

    两种不同的交互模式,c/s客户端,b/s网页浏览器
      

  10.   

    CS BS 两种不同的模式而已,前者主要就是客户端,例如企鹅这样的软件,就属于CS  企鹅空间就是属于BS
      

  11.   

    本质上讲b/s也是c/s,浏览器充当了客户端的角色。
      

  12.   

    不错,B/S就是从C/S演化而来的,根本上还是C/S
      

  13.   

    b/s架构在2000年就提到了.
    就是浏览器-服务端架构
    c/s client-服务端架构
    s在处理业务逻辑上是一样的
    b c主要是负责交互,采集数据.
    b的界面上使用js/css/html完成,现在有很多框架可用.以前少得可怜.运行在浏览器环境中.
    c的界面与系统有关,ms,mac,linux,PC端都有成熟的界面库和API.但用得最多的只是ms和mac.一般只开发这两系统的.手机端的话也是两个IOS和安卓.
    我觉得,现在云加端的架构,服务器加上各种终端.已经不是严格的BC端了.像微信客户端里跑的H5,小程序开发和开发网页习惯差不多..
      

  14.   

    b/s架构是一种特殊的c/s架构,这里的c(client)特指b(browser)
    两者是人和中国人,四边形和正方形的关系。