前端的前世今生-上
2017-07-16 本文已影响57人
zhCN_超
2016/07/26
自从我学习前端,发现她是如此的精彩,可以轻易实现我的想法。
我会分上、中、下三篇博客整理我所了解的关于 前端
的前世今生,但涉及到的概念和技术一笔带过,大家自行查阅。
第一部分整理我所认为的 前端三剑客
(HTML,CSS,JavaScript)的发展史。
HTML
WWW和HTML的产生
- 为了使欧洲各国的核物理学家能通过计算机网络及时沟通传递信息进行合作研究,Tim Berners-Lee博士开发出了第一台web服务器和web客户端,并命名为
WWW
(World Wide web,万维网) - 在发明万维网的同时,他也创建了
HTML
(Hyper Text Markup Language,超文本标记语言),并推荐了将近20个用来编写网页的元素,就是我们现在说的标签。但是这种用尖括号包围文本的形式并不是他首创,在此之前,SGML
(Standard Generalized Markup Language,标准通用标记语言)已经开始使用这种标签了
HTML和W3C
- 根本不存在
HTML 1.0
,最早的HTML
官方标准是由IETF
(Internet Engineering Task Force,因特网工程任务组)发布的HTML 2.0
- 之后
W3C
(World Wide web Consortinm,万维网联盟)成为了HTML
后续标准的制定者,这是官网 - 经过多次升级之后,1999年发布了
HTML 4.01
- 之后的修订版本为
XHTML 1.0
,X
表示eXtensible
(可扩展),它与HTML 4.01
的区别是XHTML 1.0
的标签写法要更严格一些,遵循XML
规则 -
XHTML 1.1
的发布则要求写法更加严格 -
W3C
希望web
完全建立在XML
规则上,着手开发XHTML 2.0
,这个版本与之前差别更加巨大,导致与现有的网页都不兼容,甚至与以前版本的HTML
也不兼容
WHATWG和HTML5
- 一股反抗势力在
W3C
组织内壮大,他们希望那些支持创建web
应用的特性能得到更多的关注,并以这个目标来扩展HTML
,2004年他们建立了自己的组织:WHATWG
(web Hypertext Application Technology Working Group,web超文本应用技术工作组),这是官网 -
WHATWG
的大部分工作被分为:web Form 2.0
和web Apps 1.0
,都是基于HTML
规范扩展的,这两个规范被合并之后,简单的称为HTML5
规范
WHATWG和W3C
- 2006年,
Tim
博士承认将web
从HTML
迁移到XML
行不通,之后W3C
成立了HTML
工作组,比较明智的是,他们选择在WHATWG
的研究基础上开发未来版本的HTML
-
W3C
同时拥有两个工作组,分别制定不同的、互不兼容的标记语言:XHTML 2
和HTML 5
(注意,有空格)。还有另一个独立的组织:WHATWG
,在开发HTML5
(注意,无空格)规范,并作为W3C
的HTML 5
语言规范的基础 - 2009年,
W3C
不再开发XHTML 2
,但是规则尚存
最后
因为 HTML5
兼容之前所有标签写法,所以现在我们都可以说在使用 HTML 5
了。
CSS
CSS
(Cascading Style Sheets,层叠样式表)的发展史比较简单,这门语言的主要作用就是为文档中的标签添加大小、颜色、定位等特性。“层叠”的意思是可以多次写一个标签的样式,但是以一定的规则顺序来决定应用哪一句样式语言。
- 在
XHTML 1.0
发展的时期,CSS
被哈坤·利
(这个哥们网上没有留下痕迹-_-!!!)提出,并与Bert Bos一起合作开发,版本1.0
- 1988年版本
2.0
~2.1
-
CSS3
从1999年开始制定,现在还在发展中
JavaScript
这是 前端
技术核心的核心,这个由Brendan Eich经过10天开发出来的语言,如今基于它,催生出无数的框架和工具库,网页从只有一个 a
标签发展到现在各种复杂炫酷的应用。
- 1992年,
Nombas
公司开发了一款名为Cmm
的嵌入式脚本语言,并捆绑在CEnvi
共享软件中,最后更名为ScriptEase
-
Netscape Navigator
(下称NN
)这款浏览器崭露头角时,Nombas
开发了一个能在网页中运行的CEnvi
版本 - 那时我们在网页中的输入框到底有没有输入内容的这个判断需要将整个网页提交到服务器,等待30秒才会知道
-
Brendan Eich
着手为将在1995年发布的NN 2.0
开发名为LiveScript
的脚本语言用于解决上面的问题。Netscape
(网景)和Sun
公司及时完成了开发,就在NN 2.0
发布时,网景借助Java
语言的热度,将LiveScript
更名为JavaScript
(后文简称JS
),版本1.0
-
NN 3.0
搭载了JS 1.1
,此时Microsoft
(微软)进军浏览器,发布了Internet Explorer 3.0
(IE)并搭载了JS
克隆版:JScript
,微软步入web
浏览器领域这一步,之后令其声名狼藉。此时,JS
存在三个版本:NN
的JS
,IE
的JScript
,CEnvi
的ScriptEase
,这门语言急需标准化 - 1997年,
JS 1.1
作为草案提交给ECMA
(European Computer Manufactures Association,欧洲计算机制造联合会)。第39委员会(TC39)被委派来标准化这门语言,来自不同公司对脚本编程感兴趣的程序员组成的TC39
锤炼出了ECMA-262
标准,并定义了名为ECMAScript
的全新标准语言 - 从此,
web
浏览器就开始努力将ECMAScript
作为JS
语言实现的基础
浏览器
浏览器作为 web
的唯一入口,竞争是难以避免的。
- 早期网景和微软的浏览器战争,以微软用
windows
操作系统捆绑IE
的形式取得胜利而告终。而两家公司置W3C
文档标准于不顾,互相不兼容对方浏览器,造成了如今网页开发需要处理棘手的兼容性问题,并让IE
遗臭万年,甚至现代浏览器也存在不同的差异性 - 2008年
Google Chrome
谷歌浏览器的推出,第二次浏览器大战开始,紧接着网景的后代Firefox
火狐浏览器推出,IE
被围杀,又加上高速增长的移动互联网,IE
正在被彻底边缘化
下一节 将介绍浏览器如何处理和 HTML
文档相关的所有资源和兼容性的来源。