前端发展史

332 阅读5分钟

前端发展简史

web1.0时代(静态网页、简单的网页交互)

  • 1989年CERN(欧洲粒子物理研究所)的英国计算机科学家蒂姆·伯纳斯·李发明了万维网并申请了知识产权。当时蒂姆·伯纳斯·李为了方便科学家们之间看文档、传论文,创造了万维网,他被称为万维网之父。并建议在文档中嵌入其他文档的链接。(web原型)
  • 1994年10月万维网联盟,又称W3C理事会在麻省理工学院计算机科学实验室成立,建立者是万维网的发明者蒂姆·伯纳斯·李,网景推出了第一版Navigator浏览器、蒂姆·伯纳斯·李的好基友也设计了css、同年html也发布了第二代版本。(该年被称为前端历史的起点)
  • 1995年网景工程师花了10天时间设计出JavaScript,实现了客户端的计算任务(如表单验证),发明者是Brendan Eich(布兰登·艾奇)。
  • 1996年微软发布了Jscript(与JS有一些差异),同时拉开了Navigator与Internet ExpLorer浏览器的序幕(到2002年IE完胜,占据了96%的市场份额)。同年微软推出了iframe标签,实现了异步的局部加载。
  • 为了让各大浏览器统一编程规范,1997年6月ECMA(欧洲计算机制造商协会)以JavaScript为基础制定了ECMAScript规范ECMA-262(ES2),从此浏览器厂商都是按照此规范来开发自己的浏览器产品。(不过微软并没有完全履行该规范,只是一部分遵从该规范,一部分使用了Jscript语法)。IE6/7/8兼容性问题的根源。
  • 1999年12月ES3发布。
  • 2011年ES5发布,(2007年ES4夭折,改动太大,而且改动的不完善),ES3占据了10年历程,也是JS的语言基础。CSS也发布了第三代版本。
  • 2014年10月HTML发布了第五代版本,此时前端基础技术栈也就稳固下来。
  • 2015年ES6发布,因为之后规定每一年发布一个版本所以后改名为ES2015,(因为ES2015新增加了很多东西比如:let、const、Class、Module、Promise、Iterator、G enerator等等,但这些都不是很完善)2016年6月对ES2015版本增强的2016版本(正式版本)发布,此后相继有ES2017,ES2018。

web2.0时代(动态网页)

  • 1995年以前,JS只用来做一些DOM的修改,WEB页面都是静态的(显示都是静态文本与图片),为了让WEB页面更有活力(例如:动态展示数据),1995年PHP诞生,1996年JSP诞生,1996年JSP诞生,2002年ASP.NET诞生,这些服务器端页面技术实现了WEB页面的动态化,从此WEB2.0时代到来。

弊端:同步非异步刷新; 服务器端压力大;后台开发任务量大(网页制作的任务量小),代码过于臃肿,很难实现两种角色同时开发,

Ajax时代 ,前后端分离的雏形,异步渲染大显神通

  • 在web最初发展的阶段,前端页面要想获取后台信息,需要刷新整个页面,这是很糟糕的用户体验。Goole分别在2004年与2005年先后发布了两款重量级的web产品:Gmail与Goole Map,这两款产品都大量使用了AJAX技术,不需要刷新页面就可以使得前端与服务器进行网络通信,所以Ajax技术是一项革命性的技术,颠覆了用户体验。
  • 到2013/2014年,随着移动端H5的崛起,高性能的WEB体验是重中之重,国内大部分的项目,都已经改为“前后端分离的模式”,这也奠定了前端开发二分天下的局面。导致到后期,跨域策略请求方案(JSONP、IFRAME、CORS、DOMAIN、PROXY、SCOKET...)以及FETCH等新通信方案不断的崛起。

前端侵占移动端APP市场

  • 2013年之前APP都是原生APP(Native APP),技术栈跟前端毫无关系,安卓APP使用Java-native,ios使用object-c,app安装在操作系统中,
  • 1.好处:性能好,功能强大(可以调用手机软件硬件);
  • 2.弊端:不能跨平台,开发人员分IOS版本App开发人员,安卓App开发人员,成本大;不能同步。
  • 2013年以后Web App (本质是H5页面,运行在浏览器中=>响应式布局开发),
  • 1.好处:跨平台,成本低;能够及时更新,直接更新服务器资源。
  • 2.弊端:性能相对不好,功能没有那么强大,比如想调摄像头、通讯录要根据浏览器的支持,比如H5页面的摇一摇,要调用手机的重力感应器
  • 目前99.99999% 是HybridApp (用原生开发APP壳子,分享/支付/调摄像头功能放在这个壳子做,自带webview[webkit内核,不叫浏览器的浏览器]),H5运行在webview当中。
  • 目前比较火的是React-Native,Flutter,uni-app. (1)React-Native:只需用Js写要实现的功能后,一键生成安卓与IOS APP代码。(2)Flutter做出来的东西不是安卓与IOSAPP但实现效果一样。(3)uni-app只需用Js写要实现的功能后,一键生成安卓与IOS,百度小程序、阿里小程序、微信小程序。PC端项目、H5项目。

来源:哔哩哔哩网站--珠峰培训视屏