本文转载自微信公众号「见贤思编程」,作者泰斗贤若如 。转载本文请联系见贤思编程公众号。
软件开发两大巨头
B/S 和 C/S 是当今世界的两大主流开发体系。
什么是B/S?
B/S 结构(Browser/Server)是浏览器服务器这种开发模式,
就是只安装维护一个服务器( Server ),而客户端采用浏览器( Browse )运行软件
什么是C/S?
C/S又称 Client/Server 或客户/服务器模式。需要做客户端服务器端 。服务器通常采用高性能的 PC 、工作站或小型机,并采用大型数据库系统,如 Oracle 、Sybase 、Informix 或 SQL Server 。客户端需要安装专用的客户端软件。
我想看到 B/S 和 C/S 的定义,玩过电脑的朋友应该都明白,通俗点说就是像 4399 小游戏这样运行在浏览器上的软件就是 B/S 开发模式,像QQ 、吃鸡游戏、英雄联盟等软件需要下载客户端软件,这种软件就是C/S开发模式。
这个很好理解,没什么可说的。我觉得这不是啥必备的知识点,不牵扯会不会,我也不知道重要不重要,但作为一个程序员,我觉得这应该是个常识吧,就像上厕所要带纸,谈恋爱要趁早。哈哈,开个玩笑,意思差不多。
基于B/S模式开发
老师之前跟我们说,我们现在学的都是基于B/S模式开发,刚开始我也一脸懵,后来想明白了,为什么这些年微信小程序那么火,还是有道理的。
上面的这张图是我当初理解 B/S 和 C/S 后,理解和总结的,对应于生活去理解,我是个90后,记得小时候偷着去网吧玩,网吧电脑上都是些像“血战上海滩”,“红色警戒”等游戏,那个时期,都是局域网,用的最多的都是在 C/S 模式下开发的软件,直到后来互联网兴起,刚开始能在网页上玩一些小游戏,后来网页上的小游戏也越来越火,好多人都在玩,再发展到今天,微信小程序也是火的飞起。
我一直在想,要是有一天,在网页上开发的游戏体验和在客户端下载的游戏体验一样,那 B/S 模式会不会替代 C/S 模式,因为 B/S 模式操作简单,内存占用少,而 C/S 模式内存占用大,安装复杂,我觉得要真有这么一天,可能······很爽!
从B/S引出浏览器页面历史
在这穿插一个故事,都说了我们是大多基于 B/S 模式开发,既然是B/S模式,怎能离的开浏览器呢?
知识都是死的,思想是活的,看书上的官方语句实在太枯燥,反正我是不想看。我喜欢听故事,我觉得通过故事学到知识,在轻松的环境中学知识,很爽。
下面请看故事:
JavaScript的诞生
早期的浏览器页面很简单,就是用一些 HTML 和 CSS 写的,跟上面的图显示的差不多。里面就一些简单的超链接,没有像现在的浏览器页面那样炫酷的东西。
后来有一家公司叫 Netscape(网景)公司,这家公司不简单,在一次公司会议中有人提出了一个想法,说能不能在浏览器页面上跟客户端的用户有一些交互?
这个想法一被提出来,马上引起了公司员工的热议,各种新鲜的想法一跃而出,比如在点那些超链接的时候出现弹框提示等,在那个绝大多数用户都在使用调制调解器上网的时代,用户填写完一个表单点击提交,需要等待几十秒,完了服务器反馈给你说某个地方填错了。
emmmmm······
在当时,如果能在客户端完成一些基本的验证绝对是令人兴奋的。但这仅仅是想法,关键是如何去实现呢?
不要急,关键的人物出现了,当时就职于网景公司的布兰登 * 艾奇是个牛人,他回去了后在家奇思妙想,而创新有时候就是在这种奇思妙想中产生的,他搞了几天就搞出一门编程语言,解决了在浏览器客户端与用户交互的问题。
没错,这个脚本语言就是 JavaScript 。这种语言能在网页上和用户产生互动,让用户体验更佳。这个语言出世后很火,可以说是取得了很大的成功。其实这门语言刚出现的时候叫 LiveScript ,后来网景公司为了搭上媒体热炒的 Java 顺风车,临时把 LiveScript 改为 JavaScript 。
所以从本质上来说 JavaScript 和 Java 没什么关系。JavaScript 1.0 获得了巨大的成功,网景公司随后在Netscape Navigator 3(网景浏览器)中发布了JavaScript 1.1。
之后作为竞争对手的微软在自家的 IE3 中加入了名为 JScript(名称不同是为了避免侵权)的 JavaScript 实现。而此时市面上有3个不同的JavaScript 版本,分别是 IE 的 JScript 、网景的 JavaScript 和ScriptEase 中的 CEnvi 。
当时还没有标准规定 JavaScript 的语法和特性。随着版本不同暴露的问题日益加剧,JavaScript 的规范化最终被提上日程。
1997年,以 JavaScript1.1 为蓝本的建议被提交给了欧洲计算机制造商协会(ECMA,European Computer Manufactures Association)该协会指定 39 号技术委员会负责将其进行标准化,TC39 来此各大公司以及其他关注脚本语言发展的公司的程序员组成,经过数月的努力完成了ECMA-262——定义了一种名为 ECMAScript 的新脚本语言的标准。
第二年,ISO/IEC(国标标准化组织和国际电工委员会)也采用了ECMAScript 作为标准(即ISO/IEC-16262)。
到这故事就讲完了,有些是自己虚构的情节,不要考量故事的真实性,没意义,能从中学到知识就好,可能有些理解还不到位,要是有高人在可以在留言区补充修改。
B/S和C/S优缺点比较
B/S
C/S