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,低代码

参考

  1. 简单总结
  2. js历史
  3. 知乎上说的SSR挺好的
  4. 这个里面总结的似乎更好
  5. 听别人说前端方向