本文适合1-3年的WEB新用户,也适合3-5年的前端老人。这篇文章是一篇回顾历史,预测未来的文章,所以会以时间轴的形式一步步走来,会有WEB的诞生,会有WEB发展的重大转折。让你清楚地了解网络诞生的历史意义?没有浏览器,人们如何访问信息?为什么预装IE windows的浏览器没有Google的大,等等?
HTML诞生于1991年。

在网络诞生之前,人们相互之间查看信息是极其不方便的。你可以想象使用命令行来浏览你现在正在看的网页。上图是当时用命令行做的纯文字游戏。如果你用过,说明你真的是资深互联网人。
如果能以更直观的形式预习,会很开心。于是蒂姆·伯纳斯·李博士提出了万维网的设计方案,包括浏览器、服务器和网络传输协议。它是1991年发布的,所以1991年是web的破蛋日。
1993年曲奇的诞生
写这篇文章的时候查阅了很多资料,但是大部分都没有谈到cookie。但他的重要性不亚于JS的诞生。Http是无状态的,这意味着无法跟踪用户。没有这一点,网络只是纸质书的替代品。但是有了这个东西,整个网络开始繁荣起来。它不再是单一的交流平台,而是具有双向交流的潜力。他可以更好的服务用户,提供更专属的服务,所以我觉得有必要单独说一下cookie。作为cookie、localStorage和sessionStorage的区别,你应该多加注意。
CSS和JS诞生于1996年。
说到JS,一定要知道几个问题。
1.为什么需要JS?
早期的浏览器纯粹是为了人们浏览信息,最多的交互就是链接。点击弹出新窗口,查看相关介绍。某种程度上,浏览器就像书一样,是查阅信息的。后来有了表单表单浏览器,不仅可以查阅信息还可以接收用户的反馈。但是不能随便反馈,需要加上一些限制,比如字数的长短,填写的格式。此时,所有信息处理都在服务器上进行。如果信息不合格,界面无法保存用户输入的内容。我输入100个字告诉你,你写的有问题,再重写一遍就上气不接下气了。而且当时网络极差,提交一次要几秒钟。所以JS就是为了改善用户体验而诞生的。
2.JS的竞争对手有哪些,为什么最后JS领先了?
JS同时期的强劲竞争对手主要是IE的Jscript和CEnvi的scriptEase。在争夺浏览器脚本时,没有统一的规范,三大浏览器脚本各自发挥相同的功能,编写方式也不一样,就像今天的IOS Android一样。1997年,JS的创始人Brandon Ike向欧洲计算机制造商协会,即ECMA,提交了基于javascript1.1的提案。协会指定第39号技术委员会负责此事。这时候就有了规范。后来,想成为浏览器的人开始根据该规范设计他们自己的出版物,因此ECMA规范变得越来越流行。文章开头提到了IE为什么会被淘汰。目前大众认为它性能差,界面混乱,功能不全。但实际上,根本原因是IE没有很好地支持ECMA规范,这使得程序员很难实现一个功能。如果不能实现,在大众眼里就是功能不全,界面混乱。
3.为什么JS会成为当今浏览器的标准,生命力无穷。
这是由于当时ECMA的先进性。制作第一版时有三个非常重要的原则:
删除所有与浏览器相关的代码,这是javascript1.2与javascript1.1不兼容的主要原因,需求是平台无关的。完全支持Unicode编码,以便将来支持多语言开发。可以看出,js在设计之初就不是客户端语言,所以Js可以在很多平台上使用,比如node.js,甚至可以在很多机顶盒上使用。现在很多人开始叫js ECMAscript。从历史上看,js应该包括ECMAscript,因为一个完整的JS应该包括:
核心文档对象模型浏览器对象模型4。JS为什么像面向对象语言一样支持函数式编程?
不得不说网景,JS的创始人,布伦丹·艾希,布伦丹·艾希。Brendan Eich是函数式编程的信徒,讨厌java,但网景的创始人都是JAVA的信徒。在当时,java作为唯一的跨平台语言充满了魅力。所以Brendan Eich不得不在公司的压力下让JS拥有很多面向对象的特性。为什么说Brendan Eich讨厌JAVA?看下面这句话:
“Java的影响主要是把数据分为基本类型和对象类型,比如字符串和字符串对象,引入了Y2K问题。这真是不幸。”
1998年阿贾克斯的诞生
Ajax很早就诞生了,微软在1998年就实现了。但直到2005年2月,人们才发现它的作用,因此它被广泛使用。现在ajax是一个稀有而常见的东西,它应该就像普通的水一样存在。所以就像人离不开水一样,web也离不开ajax。你可以想想现在用的最流行的框架,Vue,Angular,React,都是用ajax获取内容,然后渲染到页面上。没有ajax,就没有他们。为ajax web前端工程师的诞生创造了条件。

2005年“网络工程师”的诞生
虽然web诞生了这么久,但是直到2005年才出现web工程师。这个概念第一次来自淘宝,是2005年淘宝的一次大规模扩张。极高的用户访问量和并发性使得页面的交互和响应速度极高,因此需要更多了解web的人来提供服务。于是网络工程师诞生了。不再是车兔子,直到今天,web工程师这个职位终于融合,成为一个团队的核心之一。
2006年jQuery的诞生
虽然ECMA提供的标准在1997年就有了,但是各大浏览器厂商并不完全兼容,有些浏览器厂商会实现很多更好的功能来吸引开发者留下来和客户使用。于是战火纷飞,即使在今天,写出来的代码也需要兼容,比如CSS-WebKit-、-O-的前缀,子节点可以获得不同的子节点表示。一组代码和多个ifelses。而且处理和浏览器if判断的差不多,以此来写这个浏览器的代码。目前写一套代码都挺难的,更别说几套了。不翻墙就看不懂数据。就算目前支持Google翻译,这个东西emmmm。
于是jQuery诞生了。浏览器的兼容性问题已经解决了,当时的链结构好得不能再好了,虽然今天看来又找到了破绽。。。
因此,jQuery的诞生大大降低了web开发工程师的门槛,让web焕发出惊人的生命力。
2009年Node的诞生
Node是用v8引擎编译的语言,带有js语法。他的诞生让web工程师有了写服务器端的能力,但从前端的角度来看,我觉得这只是次要的。真正的核心是他赋予前端工程师操纵文件系统的能力。虽然很多语言一直都有这种能力,但是对前端开发者并不友好,学习曲线很高。更何况大部分有这种语言能力的人,工资基本都比前端工程师高。谁愿意高薪而不是低薪?Web工程师比其他任何工程师都清楚自己需要什么,比如babel和css precompiler。各种脚手架,各种打包机。这些java工程师也能做到,但是很少有web工程师能理解他做了什么。然而node不同,他天生的语法优势注定了他的辉煌。单独带上巴贝尔。以前大家都是等到标准分阶段确定之后,各个浏览器厂商才实施。有很多非常有用的功能都要等上几个月甚至一年才能使用。但是有了巴别,就不一样了。可以将新语法打包成当前浏览器支持的语法。让node web成为一个越来越工程化的东西,这也让前端的门槛更高,但却让互联网从业者的门槛更低。
也就是说,基于这个时代,同时剪图和写页面最后是做不到的,web工程师已经广泛流行。
2012年的MVVM时代拉开了序幕。
这一年,谷歌发布了angularjs 1.0。mvvm的时代开始了,随后马上诞生的react和vue开始以自己独特的优势抢占市场。jQuery的时代渐渐远去也是他们的出现。如上所述,jQuery是一个帮助工程师兼容浏览器,大大提高开发效率的巨人。但是随着浏览器的规范,js的发展和统一内核jQuery的历史意义逐渐消失。所以渐渐淡去是必然的。
那么vue,react,angular,它们存在或解决的问题在哪里?他的主要优势有两部分。首先,如前所述,一个完整的js由三部分组成。
核心的文档对象模型,浏览器对象模型,肯定没有一个是好学的,所以他们把三个部分变成了一个部分。相信任何经历过运营DOM时代的人都会深有体会。用尝试同步数据绝对是阻碍web工程师效率的一大难题。
第二,移动互联网的到来,形成了新的信息分享方式,iOS和Android两大阵营诞生。他们极大地影响了web开发工程师。但是他们有一个很大的缺点就是同样的东西需要写两套,而且两个都不容易。所以才显示出js的跨平台性。它可以写一套代码两边运行,但是性能有很大的局限性。所以spa模式的诞生大大提升了性能。
2014年html5 css3的诞生
随着越来越快的网络和更高性能的js引擎,诞生了对UI和交互要求更高的HTML5和CSS3。CSS3提供的旋转,阴影,3D,HTML5提供的视频,localstorage等等。进一步提高web工程师的门槛。
总结和阐明未来

有很多重要的历史节点,比如flash、asp、php、jsp对web的影响。但是对于前端开发者来说意义不大,我就不重点说了。
总结一群人:用户和生产者,我们从每一个重大事件中都能看到,每一个改变都是为这两群人服务的。JS的诞生为用户提供了更友好的交互,HTML5和CSS3为用户提供了更丰富的界面展示。JQuery、Vue、React、Angular大大提高了制作者的开发效率,降低了开发难度,node赋予了制作者更多的能力。可想而知,未来的各大节点也一定会给用户带来更好的服务,给生产者提供更好的工具和更快的开发效率。
二、总结历史意义:jQuery的历史意义在于兼容浏览器。后来兼容性问题逐渐消失,逐渐被取代。Flash为web提供视频体验,但随着html5直接支持视频,flash正逐渐被取代。Php,jsp...已经赋予了编译html的能力,但是vue,angular,react赋予了这种能力更好的前景,所以逐渐被取代。可以看到,web诞生的意义在于为用户提供了一个信息交流的平台。信息交流必须贯穿整个人类历史和未来,所以web的初衷永远不会消失。网络消失的唯一可能是新的替代品。目前PC和手机市场都已经相当成熟,看来web不会被取代。唯一的可能是,VR作为一种新的信息流通工具,前景广阔,不同于PC和手机。VR是以3D场景为载体的。目前的交互方式是基于类似遥控器的手柄。目前有很多成熟的软件和平台。具体语言我还不知道,但是里面没有web使用场景。不过,目前他不会淘汰PC和手机的使用。到了后期,即使他能控制手指,赋予他文字交流的能力,他也有可能淘汰PC,但手机仍然是一个非常强大的产品,网页会被分流但肯定不会被淘汰。
总结发展周期:这可以说是历史规律,也只能说是好久没有发生过了。规则是什么?从零开始,人高人一等,人高人一等,人贱,我就去。可见,web经历了一个从无到有的过程,现在处于人各有所长的阶段。随着网络的发展,从生产者的角度和用户的角度来看,这个阶段仍在上升。用户体验到了一定阶段,除非3D交互来了。所以开始进入人高人一等,我贱的阶段。所以随着前端开发者的涌入,低级从业者的市场价值开始下降,高端的会呈现上升趋势。
文章到此为止。请指出任何错误。后期会有更多高质量的文章并且会连载,不会乱。不想错过他们就关注我吧。您的关注和好评是我开源的动力。毕竟我可以保密。


