`
LucasLee
  • 浏览: 206243 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

B/S是趋势和主流?

阅读更多
我对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的所谓“趋势”和“主流”。
   

分享到:
评论
8 楼 flyingis 2006-10-17  
Lucas Lee 写道

人家错与对,跟你没有必然的联系。也许人家有自己策略,理解的深度比你深,一味跟随很有可能会东施效颦。

坚持独立的思维吧。


是这样的。

不论是软件,还是一般消费产品,都有其合理的定位。如果你在产品研发阶段就能看出其研发的价值,把握住公司的销售思路,OK!你很可能就是等待挖掘的市场人才。

讨论B/S,C/S的发展趋势,其实还是要回归到需求上,对于用户有用户的产品需求,他们是根据自身的业务需求来对软件产品提出要求的。对于公司也有公司的考虑,他们不仅要提取用户的意见,还要根据自身的情况(如技术优势、已有的相关成熟产品、项目经验、人才资源等)来引导用户,量体裁衣,给用户专业意见。还有社会科技发展,如网络软硬件技术的提升,高质量网络的普及程度,安全等等,这些也会对B/S、C/S的发展方向产生影响。

说到两种技术的发展趋势,关键还是在于最根本的“需求”--用户的需求、公司的需求、科学技术的需求。简单的往往是复杂的,而复杂的最后就是简单。
7 楼 LucasLee 2006-10-17  
各大公司用什么结构开发下一代软件,并不足以说明问题。

我在一个微软投资的中国公司做过,那里搞的EAI企业应用集成软件,就真的看不懂,还专门开会给我们演示,我当即提出一个问题说“由于某某原因...我觉得这个东西没什么用处...”当时场面有点乱了,CTO有点急,就说IBM,微软都在做这个,难道他们也错了?

后来有机会听了微软的工程师讲解他们的BizTalk,感觉定位就很准。所以EAI这个东西是有用有前途的,但是不是你做也有前途呢?你理解的都不到位,那能做出什么好东西?

人家错与对,跟你没有必然的联系。也许人家有自己策略,理解的深度比你深,一味跟随很有可能会东施效颦。

坚持独立的思维吧。
6 楼 blueoxygen 2006-10-16  
Sayor 写道
SAP和ORALCE的ERP都是CS的. 但他们都在向BS转, 不过短时间内似乎无法实现.

在界面友好度上,感觉oracle不如SAP,向BS转,你指的是SAP的EP(Enterprise portal)不?不过,EP还没推呢,SAP也紧跟潮流,开始向C/S B/S比较模糊的rich client转,用的ADOBE的apollo技术。
引用

A couple of weeks ago in Sapphire Orlando, SAP introduced the world to a new user interface, code-named “Project Muse”. I thought I'd give the SDN'ers a quick overview of what it is. Basically, Muse is a new interface thru which SAP users can access any SAP application directly from their Macintosh, Linux or Windows client device, and in the future from integrated mobile devices.

Project Muse is being built from the ground up as an open, standards-based architecture-- using Flash and Flex technologies from Adobe/Macromedia. Project Muse can be easily extended to deliver applications, composites and any other service-enabled software from SAP and its partners or from other solution providers (think: ubiquitous business user interface for all your enterprise systems). The new client adds the richness of desktop software to the deployment efficiency of Internet software, delivering on SAP's vision of simplifying the user experience and the software ownership experience.

I've created a short (8 minutes) demo of Project Muse so you can get a good sense of what it's capable of. There's also a fact sheet that was distributed at the Sapphire launch.
More infor plz check here https://www.sdn.sap.com/irj/sdn/weblogs?blog=/pub/wlg/3748
And we should pay attention on Apollo this framework.
5 楼 LucasLee 2006-10-16  
seacat 写道
还是要看什么应用。安装一次和不需要安装是有本质差别的,比CRM系统,销售成天在外面跑,没有固定的办公场所,但只要记住域名,不管在家里还是随便到哪个网吧,就能用浏览器登陆系统使用,这是非常方便的,如果用C/S无论如何不能做到这种便利程度。


你说的意思我知道。但是销售是不是一般都有Notepad啊?如果没有,那B/S的确更有优势。

seacat 写道

另外,自动升级也不是万能的。任何一个原因导致自动升级失败,比如网络中断、中毒,最终用户可能都会归结为系统有问题。

B/S的机器就不会有网络中断、中毒的问题么?B/S的我看在这方面会更脆弱。
4 楼 seacat 2006-10-16  
还是要看什么应用。安装一次和不需要安装是有本质差别的,比CRM系统,销售成天在外面跑,没有固定的办公场所,但只要记住域名,不管在家里还是随便到哪个网吧,就能用浏览器登陆系统使用,这是非常方便的,如果用C/S无论如何不能做到这种便利程度。

另外,自动升级也不是万能的。任何一个原因导致自动升级失败,比如网络中断、中毒,最终用户可能都会归结为系统有问题。
3 楼 alang 2006-10-15  
现在RCP的应用已经很丰富了。

Eclipse/Mozilla/Flex/XAML
2 楼 Sayor 2006-10-13  
SAP和ORALCE的ERP都是CS的. 但他们都在向BS转, 不过短时间内似乎无法实现.
1 楼 wainwen 2006-10-12  
B/S,或者C/S,也许是个问题。
严格说来,Windows就是一个肥胖无比的客户端,Office也算是巨无霸,SAP靠Client,也变得脑满肠肥。
Google从Web出发,发展到桌面搜索,还得回到Client上来。
形形色色的客户端太多了,很多客户端都统一到浏览器上来,实在BS不了,那就继续CS。

相关推荐

    浅论C/S和B/S体系结构

    在信息技术日新月异的当下,C/S(Client/Server,客户机/服务器)和B/S(Browser/Server,浏览器/服务器)体系结构作为主流的软件开发和部署模式,其重要性和影响力不容小觑。这两种体系结构不仅反映了信息技术的...

    c/s与b/s的异同点

    在信息技术的迅猛发展中,C/S(客户端/服务器)和B/S(浏览器/服务器)架构作为两种主流的软件设计模式,各自承载着独特的价值和应用场景。本文旨在深入探讨这两种架构的特点、优缺点以及它们在当前信息化社会中的...

    B/S和C/S的比较

    【B/S和C/S的比较】是IT领域中关于软件架构设计的重要话题。这两种架构各自具有独特的特性和适用场景,...这种混合架构,既保留了B/S架构的易用性和跨平台性,又减少了服务器端的压力,成为当前软件开发的主流趋势。

    基于B/S结构的物流信息网站设计

    在当今数字化时代,物流行业与互联网的融合日益紧密,基于B/S(Browser/Server)结构的物流信息网站已成为行业内的主流趋势。这种架构模式允许用户通过浏览器访问和操作系统,极大地提高了信息处理的效率和便捷性。...

    基于AJAX的B_S架构及应用.pdf

    【基于AJAX的B/S架构及应用】 B/S(Browser/Server)架构是现代Web应用程序的主流设计模式,它将...在开发高效、易维护的Web应用时,结合AJAX、DWR、Spring和Hibernate等技术,已经成为现代B/S架构设计的重要趋势。

    进销存web b/s系统

    进销存Web B/S系统是一种基于互联网的管理系统,它的全称是“Web浏览器/服务器”模式的进销存系统。这种系统与传统的C/S(客户端/服务器)模式相比,具有更多的优势,尤其在当前信息化高度发达的时代,逐渐成为进销...

    45.漫画网站的设计与实现-Springboot+ Mysql+Java+ B/S结构(lw33页 14000字+ppt)

    本项目软件架构选择B/S模式和java技术,总体功能模块运用自顶向下的分层思想。再然后就是实现系统并进行代码编写实现功能。论文的最后章节总结一下自己完成本论文和开发本项目的心得和总结。通过漫画网站将会使漫画...

    剖析软件开发架构发展趋势.pdf

    在上世纪90年代末,软件开发主要分为两种架构:B/S(Browser/Server,浏览器/服务器)和C/S(Client/Server,客户端/服务器)。B/S架构主要用于Internet应用,而C/S架构则是企业级应用的首选。然而,随着互联网的...

    C++dw

    - C/S架构虽然在某些领域仍然占据一定地位,但整体发展趋势上,B/S架构正逐渐成为主流。 ### 结论 C/S架构与B/S架构各有千秋,选择哪种架构取决于具体的应用需求。对于需要高性能、高安全性且维护成本不是主要考虑...

    BS 模式和CS模式有什么区别

    目前来看,B/S 架构因其便捷性、低成本以及易于维护等优点,在很多场景下已经成为主流选择。例如,Java 技术作为一项成熟的技术,已经被广泛应用于 B/S 架构的开发中。尽管 Microsoft .NET 提出了新的架构思路,但它...

    CS和BS比较

    ### CS和BS比较 ...综上所述,C/S和B/S两种架构各有千秋,但随着互联网技术的进步,B/S架构因其便捷性、易维护性等特点,逐渐成为主流趋势。企业在选择合适的技术架构时,应根据自身的具体需求和发展方向来决定。

    _基于B_S结构的教务管理信息系统_的设计与实现_Web数据库技术的研究与应用.caj

    随着nItmt技术及应用的迅猛发展,Web数据库的应用开发已成为主流和发展趋势。 根据我校教务处需要将原有CIS结构的教务管理系统在W七b上得到实现的要求,本人设计 和实现了“基于Bs/结构的教务管理系统”。本文论述了...

    基于B_S网络考试系统多媒体数据的存取

    综上所述,基于B/S架构和多媒体数据库技术的网络考试系统,不仅克服了传统C/S模式的局限性,还极大丰富了考试题型的多样性,提升了系统的可访问性和适应性,是未来网络考试系统发展的趋势所在。通过合理选择多媒体...

    现代分布式软件设计架构探讨.pdf

    【现代分布式软件设计架构探讨】 ...C/S和B/S架构各有优劣,开发人员需根据项目特性和未来发展趋势做出明智的选择。在现代软件工程中,理解和掌握这两种架构对于实现高效、灵活的分布式系统至关重要。

    学生综合信息管理系统毕业设计说明书.pdf

    在当前的网络环境中,有两种主流的应用程序架构,即C/S(客户端-服务器)和B/S(浏览器-服务器)结构。C/S结构需要在客户端安装专用软件,而B/S结构则依赖于浏览器,无需在客户端安装额外软件,适用于各种操作系统和...

    昌吉广播电视大学校园办公系统的设计与实现.pdf

    4. 办公系统的设计思路:该系统的设计思路是基于主流的B/S模式和PHP+MySQL+Apache平台设计思想,具有技术先进性和稳定性。 5. 校园办公系统的优点:该系统的设计可以提高学校办公效率、提高办公自动化程度、降低...

    IT应用软件分布式管理架构的研究与设计.pdf

    随后,浏览器/服务器(B/S)架构逐渐兴起,成为现代分布式系统架构的主流形式。B/S架构将应用功能完全集中在服务器端,用户通过浏览器作为客户端界面,与服务器进行交互。这种架构的优点在于它可以轻松跨越不同操作...

    分布式计算机软件架构现状及未来发展趋势研究.pdf

    B/S架构的设计使得系统的升级、维护和管理更加集中化和简化,因而被广泛接受并成为当前分布式管理系统的主流架构之一。 云计算架构是随着云服务的兴起而发展起来的一种新型架构模式,它是为了解决大量用户并发访问...

Global site tag (gtag.js) - Google Analytics