当前位置: 首页 > Web前端 > HTML

前端风云三十年,从无到有,从单一到五光十色,技术从未停歇!

时间:2023-04-02 16:45:07 HTML

前端在浏览器诞生的那一刻就诞生了。经过不断的探索,如何将复杂晦涩的底层数据以人们更易理解的形式展现出来,从一开始的好用到易用,从单调到丰富多彩,用户体验越来越受到重视,前端作为计算机层面最接近用户的一层,必须改革和发展。接下来,从30年前HTML被提出的那一天开始,让我们看看前端在这30年里经历了哪些变化和发展,才走到今天这般花花绿绿的模样。1989年,伯纳斯-李在一份备忘录中提出基于互联网的超文本系统,并于1990年底记录编写浏览器和服务器软件。同年,伯纳斯-李和欧洲核子研究中心的数据系统工程师罗伯特卡里奥,联合申请了该项目的资助,但并未得到CERN(欧洲核研究中心)的正式批准,可见伟大的第一步并不是那么顺利。1990年,第一个超文本语言HTML被发明。最原始的网络浏览器WorldWideWeb是在NeXT计算机上发明的,也被称为“所见即所得”浏览器。1991年底,伯纳斯-李提到了一份名为“HTML标签”的文档,首次公开描述了HTML一词。此时的HTML一共有18个元素,设计也比较简单。1992年6月,HTMLDTD的第一个非正式草案被提出,随后进行了七次修订(7月15日、8月6日、8月18日、11月17日、11月19日、11月20日、11月22日),其中HTMLDTD1.1定为11月的初稿,但不是正式草案。1993年年中,互联网工程任务组(IETF)发布了第一个HTML规范提案:“超文本标记语言(HTML)”互联网草案。美国国家超级计算机应用中心(NationalCenterforSupercomputerApplications)基于HTML开发了名为Mosaic的浏览器,于1993年4月发布。*1994年7月,HTML2.0规范发布。9月,互联网工程任务组(InternetEngineeringTaskForce)成立了HTML工作组。11月,Mosaic浏览器的开发者发布了MosaicNetscape1.0beta浏览器,后更名为Navigator。年底,以蒂姆为首的万维网联盟(W3C)成立,标志着万维网正式诞生。这个时候网页主要是HTML,是一个纯静态的网页。网页是“只读”的,信息流只能从服务器到客户端单向流动。至此,世界进入了Web1.0时代。而CSS也开始走进人们。CSS的最初建议最初是由哈坤李在芝加哥的一次会议上提出的。同年,“世界上最好的语言”PHP也出现了。起初,一个名叫RasmusLerdorf的加拿大人创建了PHP来维护他的个人网站。PHP的原意是PersonalHomePage,标语是HypertextPreprocessor(超文本处理器)。此时PHP实现了与数据库的交互以及用来制作动态页面的模板引擎,是Web领域最主流的服务器端语言。1995年是前端技术发展最快的一年,从CSS到JavaScript。Netscape推出了JavaScript,一直延续至今,实现了客户端具有计算能力。起初这种脚本语言叫做Mocha,后来更名为LiveScript,后来为了借助Java语言创造良好的营销效果,又改名为JavaScript。Netscape将这种脚本语言嵌入到Navigator2.0中,使其能够在浏览器中运行。CSS在今年的W3C会议上再次被提出。CSS的所有创意成员都成为了W3C工作组,全力以赴负责CSS标准的制定。层叠样式表的开发终于走上了正轨。HaKun、Persi等人是该项目的主要技术负责人。HTML3.0被提议作为IETF标准,但直到提案在五个月后到期才采取进一步行动。它包含Raggat的HTML+提案的许多功能,例如支持表格、围绕数据的文本流以及复杂数学公式的显示。W3C开始开发自己的Arena浏览器作为HTML3和层叠样式表的测试平台,但HTML3.0并不成功。1996年3月,Navigator2.0内置了JavaScript1.0,微软也发布了VBScript和JScript。JScript是JavaScript的逆向工程实现,内置于InternetExplorer3中。但是,JavaScript和JScript的实现存在差异,这使得程序员开发的网页不能同时兼容Navigator和InternetExplorer浏览器。InternetExplorer开始从Netscape手中夺取市场份额,这导致了第一次浏览器大战。12月,W3C推出CSS1.0规范,CSS(CascadingStyleSheetsLevel1)第一个正式标准(CascadingstyleSheetsLevel1)完成,成为w3c的推荐标准。1997年6月,ECMA制定了基于JavaScript语言的ECMAScript标准规范ECMA-262。JavaScript是ECMAScript规范最著名的实现之一,此外,ActionScript和JScript也是ECMAScript规范的实现语言。此后,浏览器厂商逐渐实施了ECMAScript规范。HTML4.0作为W3C推荐标准发布。1998年5月,CSS发布了第二版规范。6月,ECMAScript2规范发布,正式国际标准ISO/IEC16262由ISO生成。*1999年12月,ECMAScript3规范发布。在之后的十年间,ECMAScript规范基本没有变化。ECMAScript3成为当今主要浏览器最广泛使用和实施的语言规范的基础。同年,AJAX开始进入失业状态。微软推出了用于异步数据传输的ActiveX,随后各大浏览器厂商纷纷效仿并实现了XMLHttpRequest。动态网页技术JSP由Sun公司倡导,并有多家公司参与。它旨在创建一个技术标准,使软件开发人员能够响应客户端请求并动态生成HTML、XML或其他格式文档的网页。这时,JSP技术是基于Java后端语言的。2000年,W3C采取了一项大胆的计划,将XML引入到HTML中。XHTML1.0作为W3C推荐标准发布,开始定义JSON格式数据。至此,前后端的数据交互不能再使用冗余信息,需要来回解析。XML,并使用JavaScript原生支持的JSON格式数据。2001年,W3C发布了CSS3.0规范草案。2002年,Mozilla项目发布了其浏览器的第一个版本,后来命名为Firefox,也就是我们今天使用的浏览器。2003年,苹果立即进入浏览器市场,迅速开发并发布了第一版Safari浏览器。*2005年初,Ajax(异步JSON和XML)技术开始广泛应用,实现了对网站的部分数据操作,Web世界又向前迈进了一大步。2006年,一代王者JQuery诞生。JohnResig发布了第一个版本的JQuery工具库。这个刀库一出世就风靡全球,一直延续到现在。它是前端史上最成功的JS库。2000年由W3C标准提出的XHTML2.0,最终还是被放弃了,看来这个标准的权威性也没有那么强了。2007年10月,ECMAScript4.0版草案发布,对3.0版进行了大幅度升级,预计次年8月发布正式版。草案发布后,由于4.0版本的目标过于激进,各方在是否通过该标准的问题上产生了严重分歧。以雅虎、微软、谷歌为首的大公司反对JavaScript的大升级,提倡小改动;由JavaScript的创造者BrendanEich领导的Mozilla坚持当前的草案。2008年1月,W3C发布了HTML5作为工作草案。尽管HTML5的语法与SGML非常相似,但它放弃了任何成为SGML应用程序的尝试,除了另一种基于XML的HTML5序列,它明确定义了自己的“HTML”序列。7月,由于各方分歧太大,下个版本应该包含哪些功能的争论过于激进,ECMA在一次会议上决定暂停ECMAScript4.0的开发(即废除此版本),并对现有功能进行一小部分改进。它的一部分作为ECMAScript3.1发布,其他激进的想法被扩展并放入以后的版本中。由于会议的气氛,这个版本的项目代号被命名为Harmony(和谐)。会后不久,ECMAScript3.1更名为ECMAScript5,看来大佬们为了坚持自己的观点,不惜打破和谐,这是技术进步的要素。同年12月,Chrome浏览器发布,JavaScript执行引擎V8编译器也在此时诞生。这是谷歌为Chrome浏览器开发的。它的特点是让JavaScript运行得非常快。它提高了JavaScript的性能,促进了语法的完善和标准化,改变了外界对JavaScript的不良印象。并且V8是开源的,任何想要快速嵌入式脚本语言的人都可以使用V8,从而扩展了JavaScript的应用领域。2009年,W3C正式宣布XHTML2.0不再延续,宣告死亡。大名鼎鼎的Node.js开始由莱恩·达尔(RyanDahl)编写,12月,ECMAScript5.0版本正式发布。AngularJS也是诞生于2009年,由MiskoHevery等人创建,后来被谷歌收购,并被应用于谷歌的众多产品中。同年,样式层的变化也开始出现,AlexisSellier发明的Less被提出。*2010年1月,诞生了名为“npm”的包管理系统。还有BackboneJS和RequireJS,它们都标志着JavaScript模块化开发的时代。可视化方向也开始落下,发布three.js第一个版本。2011年5月,工作组将HTML5推进到“LastCall”阶段。6月,ECMAscript5.1版发布,成为ISO国际标准(ISO/IEC16262:2011)。流行的Bootstrap创建于今年年中,并由twitter开源。2012年10月微软发布TypeScript公开版,2012年12月W3C指定HTML5为候选推荐阶段。开源前端打包工具Webpack第一期发布。Bootstrap2也在今年发布。该版本增加了十二列网格布局和响应式组件,并修改了许多组件。在风格上,Less开始正式发布和使用。可视化方向由国内IT巨头百度开源Echarts1.0正式发布,一直流行至今。到年底,所有主流浏览器都支持ECMAScript5.1的所有功能。2013年3月,ECMAScript6草案被冻结,没有添加新功能,新的功能思想将被放入ECMAScript7。5月,Facebook发布了UI框架库React,引入了新的JSX语法,使UI层可以使用组件开发。6月,TypeScript0.9正式版发布。Bootstrap3于8月19日发布,开始以移动设备为第一方针,开始使用扁平化设计。12月,发布了ECMAScript6草案。百度开源Echarts2.0发布。2014年2月,Vuejs发布,作者尤玉玺在HackerNews、EchoJS和Reddit的/r/javascript版块发布了最早的版本。10月28日,W3C正式发布了HTML5.0推荐标准。ReactDeveloperTools成为了ChromeDeveloperTools的扩展。*2015年4月23日,MarkOtto宣布正在开发Bootstrap4。6月,ECMAScript6正式发布并更名为“ECMAScript2015”。这是因为TC39委员会计划在未来每年发布一个版本的ECMAScript,下一个版本将在2016年发布,称为“ECMAScript2016”。同样在今年,在React.js大会上,Facebook发布了ReactNative的第一个版本。阿里巴巴使用React开发的样式库antDesign第一版发布。广受欢迎的Redux于今年由DanAbramov和AndrewClark发布。10月27日,Vuejs正式发布1.0.0。在Flutter开发者大会上发布了第一个支持Android操作系统的Flutter版本,名为“Sky”。语法转换工具babel5.0和6.0相继发布。2016年1月,百度可视化库Echarts3.0对外发布,获得一致好评。6月,阿里巴巴移动端基于Preact/React/ReactNativeUI组件库mobile.ant.design正式发布。Vue2.0版本于10月完成。2017年,ECMAScript2017正式发布。11月,所有主流浏览器都支持WebAssembly,这意味着任何语言都可以编译成JavaScript并在浏览器中运行。2018年1月,百度EFE团队正式发布了其知名开源产品ECharts的最新4.0大版本。2月,Webpack继续推动更简单、更快的构建,声称有98%的改进,Webpack4正式发布,选择合理的默认设置,无需插件即可处理更多开箱即用的功能,并且不再需要开始使用配置文件。8月,Babel官博在4000次投稿和50多个预览版发布后,宣布Babel7.0正式上线。2019年2月,React16.8发布了与这个稳定版本的钩子。8月,Angular8.0正式发布。Vue3.0已经在开发中,预计将在今年发布。*三十年,前端从远古的静态网页时代发展到以后端为载体的MVC时代,再到AJAX兴起后的单页应用时代,再到最流行的MVVM时代到现在。时间还在继续,技术从未停止发展,前端从无到有,从单一到五光十色,越来越丰富,前端的未来发展越来越精彩和美丽。