web前端发展史
背景
偶然看到一片说前端发展史的文章,就拿来摘抄一下.
了解历史,当代青年才能在浩荡的浪潮中,明确自己的历史使命,做更有意义的事情.
主要构成
- 浏览器
- 语言
- html
- css
- javascript
上古时代
1994年,Ntscape公司开发出第一款浏览器NCASMosaic,
原本是为了方便共享资料.大多数页面也是静态的图片.
但发展很快,数据嵌入到网页的工作立马有了进展
- PHP被开发出来,使用MVC模式,主导将数据嵌入模板
- Java阵营则是jsp
- APS则是用ASPX在html中嵌入C#代码
铁器时代
1995年,当时的人们希望网页是可以显示数据的,可以交互的.
但市面上有名的Java语言又太重,需要一种轻量的脚本语言.
大佬Brendan Eich靠着lisp的雄厚积累,只用10天就完成了一个借鉴众多语言的,函数式编程语言.
出于商业原因最终起名JavaScript.
同时期百家争鸣,脚本语言没有标准,其影响之深远,导致今天还有人在处理浏览器兼容问题.
1998年Ajax出现,js可以独立向服务器请求数据,然后更新页面,
这让后端开始专注与数据的处理,促进了前后端分离,让web1.0迈向web2.0.
(直观感受,不需要刷新整个页面就能更新状态)
动态网页,富交互的生态环境已经显现.
2006年出了个jQuery,交互更加方便.
信息时代
2003年以后,浏览器呈现的数据越来越多,交互需求也越来越多.
一方面,js频繁操作DOM,页面会卡,需要提升性能了.
另一方面,前端也在谋求真正的应用化(不要依赖后端处理路由).
2008年谷歌发布V8引擎
2009年AngularJS诞生
2011年ReactJS诞生
2014年VueJS诞生
这些前端框架采用MVVM结构,着眼于减少DOM操作,优化了网页性能.
不过后期产生了分歧,
- SPA单页应用(显得有隔断)
- SSR服务器端渲染(利于SEO,可以防止用户进入第一个页面很慢等等)
全能时代
人们的设备在变多,手机,平板等等,一套代码多平台运行的迫切性也慢慢展现.
人们的设备也在变强,js的性能也和原生代码的差距越来越小.
前端语言除了处理交互以外也开始进行一些简单的逻辑处理(数据运算,调用系统接口等).
2009年的Node,后来的React-Native,Electron,微信的小程序等等,都是此中之一.
Node也被认为是Ajax之后又一次飞跃.
关于Node写跨平台的一种看法:
至少Node可以,让前端写好的数据校验代码,在后端再次校验时能够复用一下.
前端方向
- 传统方向(中后台)
- 互动技术 eva
- 可视化技术 antv
- 前端智能化 imgcook
- 音视频 wasm
- 跨端 kbone, rax
- 工程化 serverless,低代码