1.1.2 B/S与C/S结构
应用程序按照是否需要网络,可分为网络程序和非网络程序。由于目前的程序基本上都涉及网络方面的应用(如网络更新),因此我们一般不考虑非网络程序,而目前的网络程序包括B/S结构和C/S结构。
B/S结构是指浏览器(Browser)/服务器(Server)结构,这种结构模式是很常见的,我们一般上网访问的网站都是B/S模式,如百度、淘宝、Google等都是采用B/S架构。
C/S结构是指客户端(Client)/服务器(Server)结构,这种模式一般需要用户在操作系统上安装一个应用程序,用户运行该应用程序后,与服务器进行数据交换,如QQ聊天软件、迅雷、酷狗音乐等。
虽然C/S模式开发的软件给人们带来了很多便利,但是它也存在很多不足,如它需要用户安装一个客户端程序,当应用程序提供了新版本时,用户需要下载新程序或更新包才能使用新功能。这种体验给用户带来了很多的不便,在一定程度上限制了程序的广泛使用。同时,C/S模式的软件对系统环境有很多的需求,如Windows平台下的软件不可能在Mac平台下使用,这在一定程度上也增加了开发者的负担。
综上所述,相对于C/S模式,B/S模式有以下优点:
①使用方便。B/S模式下,用户只需要一个浏览器即可访问所有的Web应用程序;而C/S模式需要用户安装一个程序客户端,如果客户端配置比较复杂,也会给用户带来诸多不便的情况。
②升级维护容易。C/S模式的程序往往需要下载一个更新包或者下载最新版的软件进行重新安装才能继续使用;而B/S模式的开发只需要更新后台服务器应用组件即可完成整个应用的更新,无须在客户端做任何改动。
③安全性较高。C/S模式的应用程序往往需要考虑到客户端以及服务器的安全性,特别是客户端很容易被非法程序入侵,甚至暴力破解,导致了C/S模式的安全性大大降低。而B/S模式开发的应用程序部署在服务器上,只要保证服务器的安全性,用户的安全也便得到解决。
④推广便利。与C/S模式相比,B/S模式开发的程序更容易在互联网上进行推广传播,只要一个浏览器链接,其他用户便可以很方便地通过链接访问整个用户开发的应用程序,无须安装其他程序。而C/S模式的推广则需要一个安装包才能让用户使用,在Web时代,这种传播速度很显然不能满足要求。例如,腾讯推出的微信小程序,其本质就是B/S模式的一个基本应用。
⑤开发周期较短。与C/S模式相比,B/S模式的开发周期较短,开发人员只要规划好网站的设计方案,即可在相对较短的时间内完成程序的开发工作。而且B/S模式开发更适用于模块化的开发方式,极大地减少了开发者的工作量,加快了工作的进度。