HTML、CSS、Javascript 的历史
1980年,欧洲核子研究中心(CERN)工作的物理学家蒂姆·伯纳斯 - 李(Tim Berners-Lee)提出了原型 INQUIRE,这是一个供欧洲核子研究中心研究人员使用和共享文件的系统。 1989年,伯纳斯 - 李写了一份备忘录,提出了一个基于互联网的超文本系统。Berners-Lee 在1990年对 HTML 进行了描述,并编写了浏览器和服务器。在1990年的个人笔记中,他列出了“一些能使用超文本的领域”并首先放入了百科全书。
Tim Berners-Lee第一个公开提供的 HTML 描述是1991年末 Tim Berners-Lee 在互联网上提到的一个名为“HTML 标签”的文档。除了超链接标记,它们受到 SGML 风格的强烈影响,SGML 是 CERN 内部基于标准通用标记语言的文档格式。1993年中期出版了第一个 HTML 规范提案。在 HTML 和 HTML + 草案于1994年初到期之后,IETF(Internet Engineering Task Force,互联网工程任务组)创建了一个 HTML 工作组,该工作组在1995年完成了“HTML 2.0”,这是第一个 HTML 规范,旨在作为未来实现应该基于的标准。
随着 HTML 的发展,它开始涵盖更广泛的风格功能,以满足 Web 开发人员的需求。这种演变使设计师能够以更复杂的 HTML 为代价更好地控制网站外观。 由 Tim Berners-Lee 开发的浏览器/编辑器具有硬编码到程序中的样式表。但样式表不能链接到网络上的文件。欧洲核子研究中心的 Robert Cailliau 希望将结构与演示文稿分开,以便不同的样式表可以描述不同的打印,基于屏幕的演示文稿和编辑的演示文稿。改进网络演示功能是网络社区中许多人感兴趣的主题,在给出的提案中,有两个对 CSS 成为特别有影响力:级联 HTML 样式表和基于流的样式表提案(SSP)。 Håkon Wium Lie (CSS 的发明者,Tim Berners-Lee 的同事)与 Yves Lafon 合作,在 Arena 浏览器中实现 CSS。Bert Bos 在 Argo 浏览器中实施了自己的 SSP 提案。后来,Lie 和 Bos 共同开发了 CSS 标准。
Håkon Wium LieLie 的提议于1994年在伊利诺伊州芝加哥举行的“Mosaic and the Web”会议(后来称为 WWW 2)上提出,并于1995年再次与 Bert Bos 一同提出。大约在这个时候,W3C 已经建立,并且对 CSS 的开发感兴趣。它组织了一个由 Steven Pemberton 主持的研讨会。这导致 W3C 将 CSS 工作添加到 HTML 编辑审查委员会(ERB)的可交付成果中。到1996年底,CSS level 1 于12月官方发布。
1993年,伊利诺伊大学的国家超级计算应用中心(NCSA)发布了 NCSA Mosaic,这是第一个流行的图形 Web 浏览器。 1994年,一家名为 Mosaic Communications 的公司在加利福尼亚州成立,并聘请了许多 NCSA Mosaic 原始开发团队的工程师创建 Mosaic Netscape。该公司浏览器的内部代号为 Mozilla,代表“Mosaic 杀手”,因为该公司的目标是取代 NCSA Mosaic 成为世界第一的网络浏览器。第一个版本的 Web 浏览器 Mosaic Netscape 0.9 于1994年底发布。在四个月内,它已经占据了浏览器市场的四分之三,并成为20世纪90年代互联网的主要浏览器。为避免 NCSA 的商标所有权问题,该浏览器于同年更名为 Netscape Navigator,该公司也改名为 Netscape Communications。 Netscape 公司意识到 Web 需要变得更加动态。该公司的创始人 Marc Andreessen 认为 HTML 需要一种“胶水语言”,Web 设计人员和兼职程序员可以轻松地使用它来组装图像和插件等组件,其中代码可以直接在 Web 页面中编写标记。
1995年,Netscape Communications 招聘 Brendan Eich,目标是将 Scheme 编程语言嵌入到 Netscape Navigator 中。在他开始之前,Netscape Communications 与 Sun Microsystems 合作,在 Netscape Navigator Sun 中使用更为静态的编程语言 Java,以便与微软竞争用户采用 Web 技术和平台。然后 Netscape Communications 决定他们想要创建的脚本语言将补充 Java,并且应该有类似的语法,排除采用其他语言,如 Perl,Python,TCL 或 Scheme。Eich 于1995年5月花了10天时间实现了一种语言 Mocha。公司觉得这么名字不够霸气,在1995年9月首次发布 Netscape Navigator 2.0 测试版时正式改为称为 LiveScript。当时 Java 作为后端语言很火,在12月份部署在 Netscape Navigator 2.0 beta 3 中时,LiveScript 它被重命名为 JavaScript。这样会让普通人误以为 JavaScript 和 Java 是近亲。幻想一下,现在有 Node.js,假设有人出个 NodeScript,不明真相的吃瓜群众肯定以为是下一代 Node。
Brendan Eich浏览器大战
技术和产品的诞生是鸡生蛋蛋生鸡的关系,讲 HTML、CSS、JavaScript 的起源不得不提到浏览器大战。
到1992年底,已经出现了不少浏览器,这些浏览器大都是 基于 libwww 库,尽管这些浏览器往往是简单的 HTML 查看器,依靠外部帮助应用程序来查看多媒体内容,但它们为浏览器和平台上的用户提供了选择。
1993年更多浏览器发布,其中最有影响力的是前面提到的 Mosaic,它是 NCSA 开发的 多平台图形界面浏览器。到1994年10月,Mosaic 成为浏览器人气王。
Mosaic 的其中一位开发者 Marc Andreessen,作为联合创始人创立了 Mosaic Communications 公司,开发了一款名为 Mosaic Netscape 的新浏览器。
按照当时的说法,互联网有两个时代 :Mosaic 之前和 Mosaic 之后。Tim Berners-Lee 的 Web 协议 提供端到端的链接,Marc Andreesen 的 Mosaic 浏览器 提供舒适的图形界面。事实证明这两种组合产生的效果是爆炸性的。仅仅24个月,互联网从从未知到无处不在。
后来为解决 NCSA 的法律问题,该公司更名为 Netscape Communications 公司,产品也更名为 Netscape Navigator 浏览器。 Netscape 浏览器改进了 Mosaic 的可用性和可靠性,并能够在加载时显示页面。到1995年,由于它可以免费用于非商业用途,浏览器主导了新兴的万维网。
第一次浏览器大战——棋逢对手
到1995年中期,万维网在大众文化和大众媒体中受到了极大的关注。 Netscape Navigator 变成使用最广泛的网络浏览器。但是狼来了。
微软获得 Mosaic 的授权,创建 Internet Explorer 1.0,它已作为 Microsoft Windows 95 的一部分于8月打包发布。而此时微软已经成为最受欢迎的桌面系统。
三个月后,Internet Explorer 2.0 以免费下载的形式发布。与 Netscape Navigator 不同,它可供所有 Windows 用户 免费 使用,甚至是商业公司。微软的行为也迫使其他浏览器公司只能跟随并免费提供他们的浏览器。
1997年10月,Internet Explorer 4.0 发布。Internet Explorer 4 改变了浏览器之战的潮流。它被 集成 到 Microsoft Windows 系统中,导致份额暴涨。
这时候,第一次真正出现了 浏览器兼容 的问题。在不同版本中,Web 设计人员通常会显示“在 Netscape 中查看最佳”或“在 Internet Explorer 中查看最佳”徽标。这些图像通常标识特定的浏览器版本,并且通常链接到可以从其下载所述浏览器的源。然而,大多数主流网站都将 Netscape 或 IE 中的一个指定为首选浏览器,同时尝试支持最小功能。开发者和用户不干了,标准统一迫在眉睫。
大战的解决显而易见,微软大获全胜。
第二次浏览器大战——新秀崛起
Navigator 在第一次浏览器大战的中间阶段就预测了大战的结局。于是在公司开始衰落之初,Netscape 开源 了他们的浏览器代码,后来委托给新成立的非营利性 Mozilla 基金会——一个主要由社区驱动的项目,给 Netscape 保留香火。之后 Netscape 作为两个分支来开发,一个是 Netscape,一个是 Firefox。开发持续了几年,但人气一直很弱,直到后来 Mozilla Firefox 1.0 的发布(2004年11月)。之后 Firefox 开始慢慢在浏览器市场中获得越来越大的份额,直到2010年达到顶峰。
Opera 在浏览器大战中一直是一个小玩家,该浏览器引入标签式浏览和鼠标手势等创新功能,以及 轻量级 但 功能丰富 而著称。 2006年6月,Opera Software 发布了 Opera 9,之后发布一款口碑还不错的移动浏览器 Opera Mini。
微软于2001年发布了 IE6,一直流行了10年。2006年10月 IE7 发布,内置于 Windows Vista 系统中。2009年发布 IE8,内置在 windows 8 系统中。2011年发布 IE9,没内置系统,IE9 只支持 Windows Vista SP2 及 Windows 7。15年发布 Edge,成为 windows10 的默认浏览器。
2006,Mozilla 发布了 Mozilla Firefox 2.0。2008发布了 Firefox 3.0。 Firefox 3.5 于2009年6月30日推出。
Apple 在2002年创建了开源 KHTML 和 KJS 布局以及 JavaScript 引擎的分支。最终的布局引擎被称为 WebKit,它被整合到最初随 Mac OS X v10.3 一起提供的 Safari 浏览器中。
谷歌于2008年12月发布了适用于 Microsoft Windows 的 Chrome 浏览器,使用与 Safari 相同的 WebKit 渲染引擎和一个名为 V8 的更快的 JavaScript 引擎。不久之后,以 Chromium 的名义发布了 Windows,OS X 和 Linux 平台的开源版本。
“第三次浏览器大战”——移动纷争
移动端浏览器:Android 内置浏览器、iPhone 内置浏览器、Chrome 浏览器、微信浏览器、其他浏览器等。
HTML、CSS、JavaScript 版本
HTML 版本
- 1991年10月,HTML 列出了18个 HTML 标签,在公开场合被提到的
- 1995年11月24日,HTML 2.0 发布,增加了如基于表单的文件上传等功能
- 1995年4月,HTML 3.0 被提议作为 IETF 的标准,但失败了。原因:太过复杂、浏览器大战
- 1997年1月14日,HTML 3.2 作为 W3C 推荐标准发布,这是由 W3C 独家开发和标准化的第一个版本
- 1997年12月18日,HTML 4.0 作为 W3C 推荐标准发布
- 1999年12月24日,HTML 4.01 作为 W3C 推荐标准发布,在 HTML5 之前大家学的 HTML 都是这个版本
- 2014年10月28日,HTML5(2016年 HTML5.1, 2017年 HTML5.2)作为 W3C 推荐标准发布
Javascript 的发展
- 1994年12月, Netscape 公司发布了 Navigator1.0 版,市场份额一举超过90%
- 1995年12月4日,Netscape 公司与 Sun 公司联合发布了 JavaScript 语言
- 1996年3月,Navigator 2.0 浏览器正式 内置 了 JavaScript 脚本语言
- 1996年11月,Netscape 公司决定将 JavaScript 提交 给国际标准化组织 ECMA
- 1997年7月,ECMA 组织发布 ECMA-262 的第一版,规定了浏览器脚本语言的标准,并将这种语言称为 ECMAScript
- 2011年6月,ECMAscript 5.1 版发布,并且成为 ISO 国际标准
- 2015年6月,ECMAScript 6 正式发布,并且更名为 ECMAScript 2015
CSS 的发展
- 1996年 CSS level 1 发布
- 1998年 CSS level 2 发布
- 1999年 CSS level 3 提起草案
前端的发展
~ 1998 原始社会
大多数网站都基于完整的 HTML 页面。 每个用户操作都要求从服务器加载完整的新页面。 用户体验反映出这个过程 效率低下:所有页面内容都消失了,然后出现了新页面。 每次浏览器因部分更改而重新加载页面时,即使只有部分信息发生了变化,也必须重新发送所有内容。 这给服务器带来了额外的负担,并使带宽成为性能的限制因素。
1998~2004 奴隶制社会
各种浏览器纷争、各种不兼容。夹杂少量创新,如一些浏览器对 异步加载数据 各种不规范实现(Microsoft Outlook Web App)。
2004~2005 Ajax 问世
以 Gmail 和 Google Map 为标志的大量使用异步数据渲染的技术的产品问世。2005年 Jesse James Garrett 在一篇文章中正式提到 Ajax 这个词。2006年 W3C 发布 XMLHttpRequest 的标准化草案。
封建社会 2006~2009(2012)
以 jQuery 的出现为标准,进入 jQuery 一统天下 的时代。同时期出现 Prototype、YUI、Dojo 、Extjs 等占山为王,SPA 的产品越来越多出现在视野。
在这个阶段不得不提的工具是:网页开发三剑客
2009年 Node.js 诞生
创始人为 Ryan Dahl,前端开始涉足后端。Node 生态衍生出各种框架和工具集。
2009(2012) ~ 2012 工业社会
- UI 框架 如 Bootstrap(2011)
- CommonJS 规范到 AMD 规范(Requere.js、Sea.js)
- SPA 的流行:Backbone.js
- 移动端 的流行:Zepto.js
- 前端工程化 工具的出现:Grunt(2012)、Gulp(2013)
2012~现在
- 2010年, Google 发布 Angular.js
- 2012年, Webpack 发布
- 2013年,Facebook 发布 UI 框架库 React.js
- 2015年 Facebook 发布了 React Native 项目,将 React 框架移植到了手机端,可以用来开发移动端 App
- 2014年 尤雨溪发布了 Vue.js
- more...
网友评论