我对B/S是趋势和主流这个问题有过多年的疑问及困惑。
虽然我一直在做B/S的开发,我并不认为B/S相比C/S有什么特别大,不可超越的优势。C/S并不是死的,是可以变化和进步的。
本文中所提到的C/S,不仅是传统的两层结构,包括所有胖客户端+N层服务的结构。
其实两者之间的界限相当模糊,特别是在以Applet为主要界面,至Webstart(可以使用http 80端口自动下载、更新,并可在本地独立启动不需要浏览器),难以截然区分。
针对常见的几个问题我的思考如下:
1.B/S部署方便,不用安装,自动更新。
B/S天生的优势,但C/S并不是不能做到,天生的特性并不是不能改变的。
不用安装:毕竟是一次性的,若非偶尔看一下的用户,还是可以忍受安装的。如果就是传统的网站,自然落在B/S的饭碗里,不用说了。
自动更新:这个应该更重要。我们用过各种杀毒软件,都可以自动更新,windows也可以。它并不是那么复杂,特别是,如果做成一个相对通用的方案,有良好的封装的话,可以认为这不是一个问题了。
2.采用一般不被封闭的http协议和80端口,穿透防火墙。
若干年前我第一次看到时就觉得有点奇怪。
看看MSN messenger,即使不使用http和80又如何,也没有阻止它发财。或者QQ等其他。
我认为这个因素只对一些面向公众的网站有影响。
3.界面漂亮。
HTML可以方便的使用超文本、图片、样式表等技术,界面可以很漂亮。winamp、mediaplayer等也漂亮,需要更高的技术么?我不清楚,但可以肯定地是,有很多换肤等组件使得漂亮不会太难,而且,在一个商业的应用中,漂亮或者花哨的那种漂亮有很大的作用么?我倒是知道,很多国内客户看软件时,只知道评价好看还是不好看。国外软件的界面一般是比较朴素和实用的。
更多一点,也可以适当的嵌入html引擎(或浏览器组件)以丰富界面。Java Swing中某些地方就可以使用基本的html。一个极端的例子,Dreamwaver的全部界面其实都是html+js写的,用自己写的浏览器引擎解析,有兴趣可以研究一下。
4.操作简单。
这个问题很有意思。以前的web功能比较单一和简单,所以操作当然也简单了,留下这个印象真是一个思维的定势。如果达到一定的复杂程度,比如大量特性的Grid,或者拖放(甚至跨进程的拖放),我看不一定比C/S的简单了,比如bindows之类,按照windows现有的重造了一套界面机制。
看看界面设计一类的书,就知道在B/S里界面交互技术实际上倒退了10年。一切已经存在很久的很成熟的东西又要重造一次,不容易啊,细节是魔鬼,做一套看上“激动人心”的DEMO不难,经得起推敲和大量实际应用检验是很不容易的。
5.客户端可跨平台。
Java也可跨平台。
6.采用三层结构,大部分逻辑在服务端处理。
C/S也可以采用三层结构,中间层可以使用多种技术:EJB,Web Service等。
7.B/S可以做很多(甚至任何!)你想不到的界面控制,可以提高用户体验。
首先,B/S里做的各种高级GUI编码都是对自身弱点的弥补,在做很多年前C/S就有的东西。
其次,B/S的确可以用很多方法"模拟"出各种界面、组件元素,但纯的HTML+Javascript是不能突破砂箱的,本地的API自不用说,访问文件系统也暂不提,光是各种按键(包括ctl、function键)不能自如的控制,模态和非模态对话框不能自由定义等等“小”问题就足够降低用户体验了。获在一个并不是那么“上心”的Browser容器里,做一个委屈的二等公民,玩着沙箱。
IE在模态和非模态对话框作了一些努力是不错的,还有上下文菜单,也是系统级别的(用div等物模拟的上下文菜单不能覆盖框架和帧...细节是魔鬼!),但不能指望Microsoft在浏览器上有更多的支持---正如Joel on software里说的,他意识到了这是自己给自己挖坟墓,减弱应用程序对windows API的绑定。
利益集团的角力:
正如前面提到的,Microsoft依靠windows的垄断,使得他不可能在IE浏览器上有更多的支持。而其他公司如Sun、Oracle、IBM等,则会力推B/S应用,以减低应用程序对Microsoft的依赖程度,而获得更大的控制力和利润。
浏览器技术未来发展的畅想:
如果没有上述利益的问题,我认为应当由最有影响力的公司来推动html相关标准的建立(Maybe M$),web上不应该只有几个基础控件,如Java抽象出来的组件一样,应该有更丰富的内置组件,如combobox,grid等。
并且应该及时响应趋势并支持B/S的发展,象现在搞的Grid之类不应该人人造轮子。
总结:
B/S会在合适的地方发挥自己的长处,特别是面向大众的软件或网站,但我对目前火热的AJAX等持谨慎乐观态度,它不是一种(套)根基很牢的技术。
针对于内部使用的软件(或可以忍受几分钟安装软件的):
1)B/S在界面上的劣势会导致高级界面交互技术开发困难。
2)对比B/S的各种优点,可以使用Applet,Webstart (可能需要数字证书做代码签名)加EJB、RMI、Web service等技术的三层结构来替代,以获得胖客户端的好处。做一些努力,使用VB、Delphi、PB也可以局部或全部的拥有这些优点。
这么说并不是说B/S就一定差,只是本人对业界的这样的趋势有点看不懂,让我想起了若干年前什么系统都要用EJB的所谓“趋势”和“主流”。
分享到:
- 2006-10-12 16:40
- 浏览 8652
- 评论(8)
- 论坛回复 / 浏览 (8 / 6732)
- 查看更多
相关推荐
在信息技术日新月异的当下,C/S(Client/Server,客户机/服务器)和B/S(Browser/Server,浏览器/服务器)体系结构作为主流的软件开发和部署模式,其重要性和影响力不容小觑。这两种体系结构不仅反映了信息技术的...
在信息技术的迅猛发展中,C/S(客户端/服务器)和B/S(浏览器/服务器)架构作为两种主流的软件设计模式,各自承载着独特的价值和应用场景。本文旨在深入探讨这两种架构的特点、优缺点以及它们在当前信息化社会中的...
【B/S和C/S的比较】是IT领域中关于软件架构设计的重要话题。这两种架构各自具有独特的特性和适用场景,...这种混合架构,既保留了B/S架构的易用性和跨平台性,又减少了服务器端的压力,成为当前软件开发的主流趋势。
在当今数字化时代,物流行业与互联网的融合日益紧密,基于B/S(Browser/Server)结构的物流信息网站已成为行业内的主流趋势。这种架构模式允许用户通过浏览器访问和操作系统,极大地提高了信息处理的效率和便捷性。...
【基于AJAX的B/S架构及应用】 B/S(Browser/Server)架构是现代Web应用程序的主流设计模式,它将...在开发高效、易维护的Web应用时,结合AJAX、DWR、Spring和Hibernate等技术,已经成为现代B/S架构设计的重要趋势。
进销存Web B/S系统是一种基于互联网的管理系统,它的全称是“Web浏览器/服务器”模式的进销存系统。这种系统与传统的C/S(客户端/服务器)模式相比,具有更多的优势,尤其在当前信息化高度发达的时代,逐渐成为进销...
本项目软件架构选择B/S模式和java技术,总体功能模块运用自顶向下的分层思想。再然后就是实现系统并进行代码编写实现功能。论文的最后章节总结一下自己完成本论文和开发本项目的心得和总结。通过漫画网站将会使漫画...
在上世纪90年代末,软件开发主要分为两种架构:B/S(Browser/Server,浏览器/服务器)和C/S(Client/Server,客户端/服务器)。B/S架构主要用于Internet应用,而C/S架构则是企业级应用的首选。然而,随着互联网的...
- C/S架构虽然在某些领域仍然占据一定地位,但整体发展趋势上,B/S架构正逐渐成为主流。 ### 结论 C/S架构与B/S架构各有千秋,选择哪种架构取决于具体的应用需求。对于需要高性能、高安全性且维护成本不是主要考虑...
目前来看,B/S 架构因其便捷性、低成本以及易于维护等优点,在很多场景下已经成为主流选择。例如,Java 技术作为一项成熟的技术,已经被广泛应用于 B/S 架构的开发中。尽管 Microsoft .NET 提出了新的架构思路,但它...
### CS和BS比较 ...综上所述,C/S和B/S两种架构各有千秋,但随着互联网技术的进步,B/S架构因其便捷性、易维护性等特点,逐渐成为主流趋势。企业在选择合适的技术架构时,应根据自身的具体需求和发展方向来决定。
随着nItmt技术及应用的迅猛发展,Web数据库的应用开发已成为主流和发展趋势。 根据我校教务处需要将原有CIS结构的教务管理系统在W七b上得到实现的要求,本人设计 和实现了“基于Bs/结构的教务管理系统”。本文论述了...
综上所述,基于B/S架构和多媒体数据库技术的网络考试系统,不仅克服了传统C/S模式的局限性,还极大丰富了考试题型的多样性,提升了系统的可访问性和适应性,是未来网络考试系统发展的趋势所在。通过合理选择多媒体...
在方案选择阶段,小组对比了两种主流的软件开发模式——C/S(客户端/服务器)和B/S(浏览器/服务器)架构。C/S模式需要在每台客户端安装软件,更适合本地网络环境,而B/S模式则依赖互联网,用户可以在任何地方通过...
【现代分布式软件设计架构探讨】 ...C/S和B/S架构各有优劣,开发人员需根据项目特性和未来发展趋势做出明智的选择。在现代软件工程中,理解和掌握这两种架构对于实现高效、灵活的分布式系统至关重要。
在当前的网络环境中,有两种主流的应用程序架构,即C/S(客户端-服务器)和B/S(浏览器-服务器)结构。C/S结构需要在客户端安装专用软件,而B/S结构则依赖于浏览器,无需在客户端安装额外软件,适用于各种操作系统和...
4. 办公系统的设计思路:该系统的设计思路是基于主流的B/S模式和PHP+MySQL+Apache平台设计思想,具有技术先进性和稳定性。 5. 校园办公系统的优点:该系统的设计可以提高学校办公效率、提高办公自动化程度、降低...
随后,浏览器/服务器(B/S)架构逐渐兴起,成为现代分布式系统架构的主流形式。B/S架构将应用功能完全集中在服务器端,用户通过浏览器作为客户端界面,与服务器进行交互。这种架构的优点在于它可以轻松跨越不同操作...