web开发的思考(一)

NewStart 发布于2008-05-11 15:33:46 | 129次阅读 | 字体: 打印预览


我这人学东西急躁,不喜欢按部就班从理论学起,特别喜欢实践,从实践中获得感性认识,然后再去理解理论,有时候到最后弄明白了,才知道原来书上已经有成套的理论- - 正好应了一句话,欲速则不达,不过实践先行也有它的好处,虽然碰钉子很多,但是印象特别深刻。BS和CS这两个名词我是到现在才弄明白。B是browser(浏览器),C是client(客户端),S是server(服务器端)。

本篇主要考虑一个问题:为什么大量互联网应用都从CS转向BS?

要弄清这个问题,我们首先要弄明白CS和BS的本质区别。

传统的网络软件开发一般是CS,比如QQ、比如网络游戏。web开发,主要是网站开发,一般是BS的开发,因为客户端是浏览器,开发出来的程序不需要在客户端安装。

BS和CS开发的区别在于:

从程序实现的角度,CS开发的逻辑实现有一部分在客户端,而BS开发的逻辑实现基本上都在服务器端。

从信息传递的角度,CS上行和下行的数据基本上是对等的,传递的基本上都是与界面无关的信息或者逻辑信息;BS上行和下行的数据很不对等,上行的是与界面无关的信息,比如用URL和form提交的信息,这些信息量一般都在在http header中的,下行的信息除了header外,还有response body的数据,也就是我们常用的html文档。

严格意义上讲,其实BS开发属于CS开发,客户端是浏览器。浏览器实际上是个解析html DOM的工具,你完全可以自己做个特殊的html解析器做你的客户端,甚至不用html都行,但是要基于http协议,能够处理常用的http请求。

浏览器实际上是一个灵活性很高的可编程客户端,能够执行javascript程序,能够安装其他扩展,能够解析html和css并渲染成图形界面。

浏览器的高度灵活性使得web开发充满了想象空间和创意,使web比其他任何CS软件都多姿多彩,同时由于BS程序无需另外安装客户端就可以运行,所以BS软件比CS软件更方便,这也是为什么大量CS应用转向BS的主要原因。

利弊总是相对的,给用户带来方便的同时,BS也使开发变得更麻烦。



本文出处 : http://item.feedsky.com/~feedsky/davidnick/~1319071/92788272/1224033/1/item.html end

上一篇:浏览器发展历史[zz]

下一篇:web开发的思考(二)

现在评论本文

authnum

0 条评论