一、前端到底是个什么?
简单点说,浏览器呈现出来的页面,给用户看的、操作的就是前端(客户端);你看不到的,类似一些游戏数据、应用数据之类的就是后端(服务端)。
那么再简单点就可以说,前端指的就是浏览器端,后端指的就是为浏览器提供服务和数据的服务器端。
这是比较准确的描述,如果往大了讲,你所有看到的一切,网页、移动端网页、小程序、甚至某些APP,都是属于前端的范畴。
二、前端的起源
世界上第一台计算机
背景:二战时期,美国军方为了计算炮弹弹道,让一些科学家造出了这世界上的第一台计算机“ENIAC”。
1946年2月14日,世界上第一台计算机“ENIAC”(埃尼阿克)在美国宾夕法尼亚大学诞生。这是一群科研人员共同努力的成果,但是起到最关键作用的是其数学家冯 · 诺依曼的设计思想,所以其被称为“现代计算机之父”。
意义:标志着电脑时代的开始。
想不到吧!!This Big Boy就是我们现在电脑的祖先!!↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓
(图源来自:百度图片)
互联网的前身
背景:二战时期,美国军方为了防止部分网络被摧毁后失去通信。
1969年,美国国防部的高级研究计划局(ARPA)建立了军用网叫“阿帕网”(ARPnet)。阿帕网就是互联网的前身。
1983年,APRA和美国国防部通信局研制了用于异构网络(本文不做讲解)的TCP/IP协议,后该协议在社会上流行起来,因此诞生了真正的Internet。
Internet和计算机的诞生,为前端技术的开始奠定了基础。
前端发展将近20年,也算是一个比较漫长的发展过程,大致可以分为以下几个阶段:
三、洪荒时代(1990~1995年)
这个时代最重大的几件事有:WWW的诞生(1990)、浏览器的诞生(1992)、W3C理事会成立(1994)、JavaScript的诞生(1995);
- 1990年,WWW(万维网)诞生。全称:World Wide Web。
- 1992年,NCSA研发了第一个浏览器:Mosaic,可以窗口浏览网页。随后新一代浏览器:Netscape Navigator(网景浏览器),于1994年诞生;隶属于Netscape(网景)公司,下文统称为网景公司。
- 1994年,Tim Berners - Lee创建了W3C理事会。蒂姆 · 伯纳斯 · 李被称为”万维网之父“,南安普顿大学、麻省理工大学教授。W3C理事会主要负责HTML的发展路径,其宗旨是通过促进通用协议的发展;成员机构:美国麻省理工大学、欧洲数学与信息学研究联盟、日本庆应大学、中国北京航空航天大学。
- 1995年,待这一切就绪后,JavaScript应运而生!发明者是Brendan Eich(布兰登 · 艾奇)。
- JavaScript主要语言特征:借鉴了C语言的基本语法;借鉴了Java语言的数据类型和内存管理;借鉴了Scheme语言;借鉴了Self语言,使用基于原型的继承机制;
(1994年,Netscape Navigator网景浏览器截图,图源来自百度图片)
四、铁器时代(1995~2005年)
这个时期的浏览器五花八门,互相竞争激烈。IE浏览器、网景浏览器、火狐浏览器、谷歌浏览器是这个时期的主角!
虽然当时已经有了比较统一的ECMA(JavaScript规范文档)标准和W3C(HTML、CSS规范文档),但是浏览器先于标准在市场上流行,成为了事实标准。所以这就导致了我们现在在开发项目的时候还要去处理一些浏览器兼容性问题(大家最遇到的IE兼容问题)。
随着1998年,AJax的出现,前端开发从Web1.0升级到了Web2.0,从纯内容的静态页面,发展到了动态网页,富交互、前端数据处理的新时期。在这一时期,比较知名的两个富交互动态的浏览器产品是:Gmail(2004年)、Google地图(2005年)。
由于动态交互、数据交互的需求增多,还衍生出了JQuery(2006年)这种跨浏览器的JS工具库,主要用于DOM操作,数据交互。
2005~2009年的前端发展历程就涉及到小作者的知识盲区啦~~还请有意的大佬们补充,给小白们科普科普嘻嘻!
五、JQuery时代(2009~2016年)
2006年,jQuery发布,它当时的竞争对手很多,也很激烈基本持平。直到2009年,Sizzle选择器引擎研发成功,jQuery才取得了压倒性的优势。
这个时期,前端面对的主要是浏览器的兼容性问题,而jQuery在处理DOM兼容性问题上有这大量的解决方案。
jQuery的流行间接带来以下的发展:
- 促使人们对CSS1~CSS3选择器的学习
- 促进了浏览器原生选择器引擎document.querySelectorAll、Element.matches的诞生
- 提高人们对domReady的认识
- 促进了Promise与requestAnimateFrame 的诞生
- 降低前端门槛,前端工程师的队伍越来越壮大。
这个时期涌现了大量jQuery-like的库,其中最著名的是Zepto.js。Zepto的出现也标志着我们进入移动互联网时代。
JQuery时代以RequireJS的诞生为起点,以RN的出现结束。JQuery的出现让前端开发更加轻松,假如工程师想实现一个功能,现搜索出一个jQuery插件来实现。
下一篇将为大家继续带来三大框架时代的发展史,还有前端现状以及未来的发展趋势哈~敬请期待啦!