猿问

app软件c/s与b/s架构的哪种好?

app软件c/s与b/s架构的哪种好


鸿蒙传说
浏览 1934回答 1
1回答

POPMUISE

Native App和Web App孰强孰弱?Web App是否在将来能取代Native App?这一直是移动互联网从业者讨论的话题,本文将从架构的角度来进行分析。还记得C/S和B/S吗类似的技术趋势之争实际上已经有很多了,我们不妨花点时间回顾一下十年前的C/S和B/S之争。20世纪90年代,C/S技术成熟并得到了快速发展,即系统是由客户端和服务器两部分组成。客户端部分的主要任务是提供用户交互的界面,控制应用程序的逻辑。服务器负责有效地管理系统的资源,尤其是对安全性要求较高的数据库管理和访问控制等。在C/S架构中,对产品开发的要求是两端都需要大量的开发工作。客户端主要是针对Windows等用户操作系统平台进行开发,使用大量与操作系统相关的API,开发工作量大,版本更新困难。服务器端主要是进行数据库管理方面的开发工作。因此,开发人员会分成两类,基本上没有交集。在系统维护上也比较复杂,最难的就是客户端的版本控制和升级工作,给维护工作带来很大的工作量。另外也不适合移植,如果用户要求要支持Linux系统的客户端,那就只能投入更多的客户端人力重新开发一套客户端软件。随着三层C/S结构、浏览器、脚本语言、Web技术的发展,出现了B/S架构,即系统是由浏览器Browser和服务器Server两部分组成。浏览器采用用户设备上自带的各种浏览器,这样在用户设备上无须再安装客户端软件,也无须为客户端软件支付开发成本。服务器端采用三层或多层结构,利用脚本语言等形成以网页形式提供的用户交互界面,然后与业务逻辑和数据库进行协作。显然,相比C/S结构,B/S一方面可以减少客户端的开发和移植工作,节省客户端的维护费用;另一方面由于表示层、数据和业务逻辑都在服务器端,可以自由地进行系统维护和升级工作。但B/S结构也有不足之处,比如受网络制约,同时安全性难以控制。另外B/S也不能满足所有的用户需求,比如浏览器受安全性限制,不易于操作用户设备上的更多资源。于是浏览器插件被引入进来,通过浏览器插件,一些需要使用用户本地资源的功能得以实现。直到今天,Web技术已经发展到2.0时代,Web页面的展现效果已经非常丰富,但C/S和B/S两种架构依然同时存在,二者的优劣都相当明显,谁也无法替代对方。
随时随地看视频慕课网APP
我要回答