C/S B/S之争

C/S B/S之争

         C/S即Client/Server(客户机/服务器)结构,通过将任务合理分配到Client端和Server端,来降低系统的通信开销,但是需要安装客户端才能进行相关操作,就像Word、WPS、PS以及报税软件需要功能的软件,都是C/S结构。目前的移动APP,绝大多数据也是C/S结构,它需要下载客户端才能使用其服务。

          C/S架构特点:一是界面和操作可以很丰富,但界面太死板,二是安全性能高;三是响应快,特别是富客户端,结合本地数据与远程数据,可以组建富客户端,数据处理特快,响应好。但是,由于运行需要需要安装程序,使用上用户受到限制,因此不适合面向一些不可知的用户。同时维护上工作量较大。

          B/S即Browser/Server(浏览器/服务器)结构,是随着Internet技术的兴起,对C/S结构的一种变化或改进的结构。但其实B/S也可以理解为客户机/服务器模式,只不过B/S的客户端是浏览器。因为它没有客户端程序,客户端就是一个浏览器,有个网址,就可以上网使用。

         B/S架构特点:一是客户端无需安装,有Web浏览器即可。直接面向网友;二是无需升级多个客户端,升级服务器即可。三是界面与流行接近受到欢迎。但是,B/S不能跨浏览器上,界面的控件,对数据的容纳不及C/S,很难达到C/S的程序。特别是响应速度上,受上限制(需要刷新页面)。B/S最大的弱点,是对浏览器的选择,有时谷歌、IE都有问题,让客户报冤。

          C/S与B/S结构综合分析:
          1,系统数据处理:
          B/S优势就是灵活性。只要浏览器可以上网,不管何时何地,也不管是什么系统,都可以使用B/S系统的终端。但是这样的话,绝大部分工作就只能由服务器来承担了,这样就会使得服务器的负担很重。而且因为是浏览器,所以文件就要以HTML为主,不便于编辑与修改。

           C/S结构,客户端与服务器端都能够处理任务,虽然对客户端的要求比较高,但是却可以减轻服务器的压力。依据客户的需要,可以编写出胖客户端或廋客户端,本人就很喜欢胖客户端,服务器器只负责存贮数据,数据的处理基本上放在客户端处理、显示打印,效果非常好。

          2、客户端窗口显示

          B/S通过浏览器可以操作,但是它对浏览器的版本和内核,又有很苛刻,浏览器不对照样挂机。浏览器对数据界面的显示,居中对齐,上下拉动,浏览器的控件位置,比较古板。但是,浏览器的优势,就是对于对屏幕的分辨率,要求不高可以自动对齐,上下拉动。

         C/S通过客户端操作,在运行客户端时,对屏幕的分辨率有一定的要求,否则显示不全,就不能操作了。这一点,目前已有改进办法。

          客观地说,在编辑数据处理上,C/S具有优势,它可以严密地通过大批优秀VCL,做出复杂的界面,一个界面,包容大量的数据,特别是打印上,功能非常强,可以做出非常优秀的功能模块。手机APP,绝大多数是C/S结构,移动客户端的出现,为以C/S结构,提供活力。

          在窗口显示上B/S,有着明显的优势,它可以做出非常出众的流行界面,如数据统计界面。但是,在应用在windows的C/S还处于传统的界面上。AlphaControls控件的出现,为C/S界面,带来革新的希望。

          因此,相当多的客户方,对B/S感兴趣,而数据的操作者对C/S好感。

           3、系统开发:
          C/S结构是建立在客户端基础之上的,开发难度大些,它要求程序下载更新、不同模块,特别是不同分辨率屏幕的处理上,要求较高。

           而对于B/S来说,则就不需要那么麻烦。目前开发的软件,大多数针对支持B/S。扩大功能,只能通过插件实行。

          就系统的开发而言,B/S仅是一个浏览器的服务程序。而C/S的客户端,是一组EXE文件组成的模块化体系:首先执行牵引(下载模块)DownloadEXE,确认下载更新完成,进入主程序MainEXE,主程序中再调用子模块MidEXE,众多个MidEXE(Dll),加上本地的Data,可以组成一个完整丰富的系统,这是B/S做不到的。  

           比较B/S和C/S,我认为C/S技术,性能更成熟、可靠。目前的移动APP也都是C/S结构。

          4,系统的升级维护:

          B/S基本上不需要升级维护,只有浏览器版本的升级。 
          C/S系统的升级维护,比较复杂,模块中只要有一部分发生改变,那么其他与其相关联的模块也会发生变动。

          但是,依据C/S的技术,完成可以实行动态更新,即在软件启动时,做到自动更新。本人编写的软件,就是客户端登录时,自动搜索更新,也是很方便的。

           5、数据安全

          B/S数据放在服务器上,主要在外网上操作,非常容易受到黑客的攻击。 
          C/S数据不仅数据在服务器上,同时客户端也处理数据,二者都易受到攻击。但是,很多C/S系统是通过局域网操作,即使外网也是通过VPN组成局域网,安全性好多了。

          6、数据处理

          C/S可以进行分布式方式,实现众多客户的运行,客户运行无压力,通过富客户端,分散计算,二级服务器定时一级服务器传输数据, 各客户端由二级(或下层)服务器负责数据交换。并发处理无限制。

          B/S运力处理取决于服务器,并发处理不好,问题多多。比如上海某全市性行业官网,全体成员只有几百个,同时上网只有几个至几十个,又偏重某浏览器,日常都不能正常使用,出现问题无法解决。原来还支持养老机构,通过XML向其上传文件,提供接口服务。目前,这个也被终止。原因,就是一个Web服务,达不到并发的要求。同时,编程上又是只能使用IE10等等问题。毛病太大了。

          个人观点:

            一、注重功能的软件大多数是C/S结构,如报税、开票、财务软件。

            二、B/S是流行的趋势,上手快。

            三、二者有着相互整合的趋势,各自的特点,都被开发者借鉴(作为一种手段方式的相互运用)。未来方向,就是整合二者优势的编程方向。

           

             最后,借鉴第三方控件,对C/S的展望:               

             1、AlphaControls控件,可以做非常亮丽的窗口界面,推动C/S编程发展。同时,该控件

TsFrameBar 控件 可以实现客户端小窗口内嵌高分辨率窗口,为C/S添加竞争力。

             2、uniGUI, 是通过VCL编辑,实现B/S的手段,它融合了C/S和B/S的编辑手段。

             比较好的办法,C/S和B/S都使用,通过模块化,实施功能模块的调用,浏览层面使用B/S,操作层面使用C/S。如果开发软件能结合二者的优势,就是开心一刻啦! 

             3、通过Oray的蒲公英软件,可以建立虚拟局域网,实现全球分布点的连接,与Web一样地访问,通过编写一个前置下载程序,可以同步下载客户端程序,完成软件的更新。

             4、uniGUI编写一个手机端APP。

             这样C/S程序性能要,可以发挥到极致。

             上述仅个人C/S和B/S的一些见解,望批评指正。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值