不会真的有人以为C/S是拿枪干的吧?

开发 前端
C/S又称 Client/Server 或客户/服务器模式。需要做客户端服务器端 。服务器通常采用高性能的 PC 、工作站或小型机,并采用大型数据库系统,如 Oracle 、Sybase 、Informix 或 SQL Server 。客户端需要安装专用的客户端软件。

[[375526]]

本文转载自微信公众号「见贤思编程」,作者泰斗贤若如  。转载本文请联系见贤思编程公众号。

软件开发两大巨头

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

 

责任编辑:武晓燕 来源: 见贤思编程
相关推荐

2020-08-05 14:28:32

编程程序员代码

2021-08-04 08:31:10

MySQL数据库日志

2021-09-07 11:20:02

binlogMySQL数据库

2021-08-06 06:17:52

Chrome浏览器Google

2017-11-29 15:45:13

开发敏捷转型

2021-08-08 21:53:40

Arthas指令表达式

2021-01-06 09:51:19

类加载器双亲委派模型

2023-11-27 16:26:20

mainC语言

2021-12-08 08:30:55

Java AQS机制 Java 基础

2018-03-19 10:39:28

Java序列化对象

2022-03-04 06:52:02

恶意软件病毒iPhone

2020-10-14 09:04:18

Kafka系统通信

2022-06-15 08:14:40

Go线程递归

2019-01-23 11:17:22

电脑程序员工作

2020-12-02 08:31:47

Elasticsear

2019-12-26 09:56:34

Java多线程内部锁

2022-10-28 09:51:18

PrintfLinux开发

2017-07-14 13:07:03

大数据用户画像

2015-12-31 13:38:59

创新大公司

2023-11-16 15:10:39

RustJavaZig
点赞
收藏

51CTO技术栈公众号