【搜集整理】web前端技术开拓简史
1. HTML
超文本标记语言,诞生于1991年,并于1993年中期发布第一个规范,是一种用于创建网页的标准标记语言,是构建网站的基石。
最初的浏览器名为WorldWideWeb,发行于1991年,据说,直到 1992年11月,世界上只有仅仅26个网站。
而最初流行的浏览器,名为NCSA Mosaic,于1993年发布,并推出了一个叫做What’s New的页面,几乎每天都会提供给大家一个全新网站的链接,推动了网站爆炸性的成长,到了1995年8月网站数量已经超过了一万个,1998年达到了数百万个网站数量。
紧随其后流行的浏览器名为Netscape Navigator,其市场占有率曾一度达到90%,后来这个浏览器带来了最初的js技术,并与微软的IE开启了第一场浏览器大战。
HTML2,于1995年发布。
HTML3.2,1997年1月发布,是首个完全由W3C开发并标准化的版本。
HTML4.0,1997年12月发布,并于1999年12月发布HTML4.01。
1.1 W3C,万维网联盟,于1994年创立。
1.2 XML
XML是从1995年开始有其雏形,并向W3C提案,而在1998年发布XML1.0规范。
是为了解决HTML的部分缺陷,而基于SGML精简制作出来的。
1.3 XHTML
XHTML是以HTML4根据XML标准重组而成的,是语法更严格的HTML。
2. CSS
是一种用来为结构化文档添加样式的计算机语言,必须于与XML之类的标记技术一起协同工作。
于1994年提出,1996年完成CSS1。
1998年5月,W3C发表了CSS2,并随后发表了CSS2.1,修改了CSS2中的一些错误。
3. JavaScript
诞生于1995年底,嵌入到Netscape Navigator 2浏览器中发行。
JS推出后在浏览器上大获成功,微软公司在不久后(1996年8月)就为IE3推出其"仿制"的JScript,但与Netscape Navigator 2中的JS并不完全兼容。
1996年11月,提交了JS语言标准。
*1997年6月Navigator 4.0发布,内置了JS 1.2 ,结果与后来ES标准不兼容。
*1997年9月 IE4发布,与ES1标准也不兼容。
1997年6月,ECMA 以 JavaScript 语言为基础制定了 ECMAScript 标准规范 ECMA-262 的第一版。
一般来说,完整的javascript包括以下几个部分:
*ECMAScript,描述语法和基本对象
*文档对象模型DOM,描述处理网页内容的方法和接口
*浏览器对象模型BOM,描述与浏览器进行交互的方法和接口
由于 IE4 和 NN4 分别支持不同形式的DHTML (DOM 0级) ,W3C决定制定DOM标准,但未决定制定BOM标准。
1998年6月,ECMAScript 2.0 版发布。格式修正,以使得其形式与 ISO/IEC16262 国际标准一致,并没有真正的改变。
1998年10月,DOM 1级成为推荐标准,由两个模块组成,DOM核心(XML) 和 DOM HTML(扩展) 。后来DOM 2级3级进行了不同程度的扩展。
1999年12月,ECMAScript 3.0 版发布,成为JavaScript的通行标准,得到了广泛支持。
2000年W3C发布了DOM2规范,2004年发布了DOM3规范。
4. IE浏览器
采用Trident(win)、Tasman(mac)作为排版引擎
Jscript(IE2-IE8)、Chakra(IE9-IE11)作为JS引擎。
IE1发布于1995年
Mac和Unix版 的最后版本为 IE5(1999)
IE6 发布于2001年,直到2006年才发布IE7
5. Flash技术
诞生于1996年,在2000前后流行成为许多网站动画和交互的实现。
6. SVG
是一种基于XML,用于描述二维矢量图形的图形格式,由 W3C 制定,是一个开放的标准。
SVG 于1999年开始开发,2001年9月发布 1.0 ,2003年1月发布 1.1
7. Firefox
一个跨平台的浏览器 ( Win、Mac、Linux、Android ),最初的版本发布于2002年,2004年11月发布1.0版本。
采用Gecko排版引擎,SpiderMonkey作为JS引擎。
8.Safari
是由苹果公司所开发的浏览器,发布于2003年1月。可运行于Mac、Win ( 于2012年停止开发Win版 ) 和 iOS
最初基于 KHTML 和 KJS 内核,后来发展自己的版本并开放其源代码,就是大名鼎鼎的 webkit内核 。
webkit内核的渲染引擎名为 webcore 、JS引擎名为 JavaScriptCore 。
于2008年宣布重写了 JavaScriptCore,称为 SquirrelFish,又名 Nitro
9. Canvas
Canvas API(画布)是在HTML5中新增的标签用于在网页实时生成图像,并且可以操作图像内容,基本上它是一个可以用JavaScript操作的位图(bitmap)
最初诞生于safari1.3中,而后Firefox 1.5 和 Opera 9 都跟随了 Safari 的引领,最后进入了HTML5规范中。
10.Ajax
是一种异步的js与XML技术。
最初发展于1998年,但直到2004年才被广泛使用。
AJAX 不是指一种单一的技术,而是有机地利用了一系列相关的技术。虽然其名称包含XML,但实际上数据格式可以由 JSON 代替,进一步减少数据量,形成所谓的 AJAX 。
11. JQuery
于2006年发布,目的是简化兼容各浏览器的 DOM 操作。
12. iOS系统
是运行在 iPhone 和 iPad 中的操作系统,于2007年发行。
iOS系统的内置浏览器为Safari,而由于苹果公司的限制,别的应用程序只能通过 调用系统提供的 Webview 实现浏览网页的功能。
iOS提供的 Webview 有两种:uiwebview 和 wkwebview ( iOS 8开始提供,开启了 Nitro 作为JS的引擎)
13. Android系统
是一个基于 Linux 内核的开放源代码移动操作系统,于2008年发行。
安卓上的浏览器有以下几种:
1. 预装内置浏览器
2. 调用系统webview的浏览器功能接口
3. 用户安装的浏览器(可以是各种各样的浏览器和内核)
在 Android4.4 以前,webview 是 Android webkit 浏览器内核
从 Android4.4 起,变成了 chromium 内核。
14. Chrome和Chromium
Chrome浏览器发布于2008年,而 Chromium 则是 Chrome 的开源版。
采用 webkit 作为排版引擎,自研的 V8 作JS引擎。
于2013年的v28,开始使用自主的 Blink 排版引擎(基于webkit的一个分支 )
15. Opera
一个跨平台的浏览器,最初的版本发布于1996年 ( 仅有Win版 ),2000 年发布 4.0 版本 ( 实现跨平台 )。
采用 presto 排版引擎,Linear (4-9.2)、Futhark (9.5-10.2)、Carakan (10.5-12.1) 作为JS引擎
后来于V15版(2013年) 开始启用谷歌的 Blink 引擎。
16. Nodejs和npm
Node.js 是能够在服务器端运行 JavaScript 的开放源代码、跨平台 JavaScript 运行环境。
采用V8引擎运行JS代码,于2009年写成。
2010年1月,一款名为 npm 的软件包关系系统诞生,并内置进了 nodejs 中。
17. Webpack
Webpack 是一个开源的前端打包工具,发布于2012年。Webpack 提供了前端开发缺乏的模块化开发方式,将各种静态资源视为模块,并从它生成优化过的代码。
18. HTML5
HTML5是HTML最新的修订版本,由万维网联盟(W3C)于2014年10月完成标准制定
HTML5实际上是一套规范的集合
19. CSS3
CSS3是CSS(层叠样式表)技术的升级版本,于1999 年开始制订,2001年5月W3C完成了 CSS3 的工作草案。
CSS 演进的一个主要变化就是 W3C 决定将 CSS3 分成一系列模块。浏览器厂商按 CSS 节奏快速创新,因此通过采用模块方法,CSS3 规范里的元素能以不同速度向前发展。
20. ES6
也称为ES2015,于2015年发布,从此以后ECMAScript每年发布一个新的标准,并用年号作为命名。
21.前端三大MVC框架
AngularJS 诞生于2009年,由Misko Hevery 等人创建,后为Google所收购。是一款优秀的前端JS框架
React 起源于 Facebook 的内部项目,于2013年5月开源
Vue.js 是一套构建用户界面的渐进式框架,发布于2014年
22. 代理浏览器
指在服务器做排版渲染的引擎,可以减少压缩流量。
例子: Opera Mini、 UC Mini
23. 国内各种内核(基于webkit改造)
UC的 U3/4 内核
腾讯的 X5 内核
百度的 T5 内核
24. Edge浏览器
是一款微软研发的浏览器,用于取代IE称为win10的默认浏览器,于2015年发布。
使用名为edgeHTML的排版引擎,js引擎为chakra。
但于2020年更换为采用chromium核心。
25. 手机端套壳APP技术
有多种技术,可以供网站JS调用原生app的能力,比如 Cordova、5+ Runtime、wap2app 。
26. 混合开发技术
用原生app组件和 webview 组件混合渲染组成app的技术。
有 react-native、uniapp等等
27.小程序
微信团队于2017年正式推出了微信小程序功能。
随后各家巨头也推出了各种小程序:
支付宝小程序
QQ小程序
百度小程序
头条小程序
...
28. Flutter
Flutter 是谷歌的移动UI框架,可以快速在 iOS 和 Android 上构建高质量的原生用户界面。
参考资料:
维基百科
百度百科
《移动WEB手册》
关于手机webview内核、默认浏览器、各家小程序的渲染层浏览器的区别和兼容性
浙公网安备 33010602011771号