image.png
2014年初,我加入互联网开发行业,随没经历前端刀工火种的时态,5年的时间,前端技术的百家齐放很是眼花缭乱。我也从套页面后端工程师、jquery写效果到现在的小程序、node、vue转变成一个纯前端。现在回顾一下前端到底发生了哪些历史变化。

静态页面 1990~2005

互联网发展早期,前端只负责写静态页面,纯粹的展示功能,JavaScript的作用也只是增加一些特殊效果。这种静态页面不能读取数据库,为了使Web更加充满活力,以PHP、JSP、ASP.NET为主的动态语言相继诞生。
这使页面能够获取数据并不断更新,是前后端混合开发模式开端,所有的前端代码和前端数据都是后端生成的,随着后端代码的庞大和逻辑越来越复杂,相继的MVC发展起来。这时后端大多采用MVC模式开发,前端只是后端MVC中的V(视图);
从web的诞生到2005,一直处在_后端重前端轻_的状态。

AJAX阶段 2005

2004年AJAX技术的诞生改变了前端的发展历史。以Gmail和Google地图这样革命性的产品出现,使得开发者发现,前端的作用不仅仅是展示页面,可以管理数据和用户互动。解决一些糟糕的用户体验,前端页面要想获取后台数据需要刷新整个页面。
依稀记得前几年,依托强大的Jquery,一页面的javascript代码使用ajax发送请求渲染DOM的情景。
前端开始慢慢向后端靠拢

NODEJS 的爆发 2009

2009年Ryan Dahl利用Chrome的V8引擎打造了基于事件循环的异步I/O框架。
NODE的诞生,使javascript在服务端的无限可能,更重要的是它构建了一个庞大的生态系统。

2010年1月,NPM作为node的包管理系统首次发布。开发人员可以依照规范编写nodejs模块,发布到npm上,供其他开发人员下载使用。截止目前2019年6月8日,NPM包数量有1,003,262,是世界上最大的包模块管理系统

Node.js 给开发人员带来了无穷的想象,JavaScript 大有一统天下的趋势

前端MV**架构阶段 2010

随着 HTML5 小程序 的流行,前端再也不是人们眼中的小玩意了,应用功能开发逐步迁移到了前端,前端的代码逻辑逐渐变得复杂起来。
2010年10月Backbone MVP架构发布。
2010年10月Angular MVC->MVVM
2013年05月React开源 MVVM
2014年07月Vue MVVM

随着这些 MV* 框架的出现,网页逐渐由 Web Site 演变成了 Web App,最终导致了复杂的单页应用( Single Page Application)的出现。
随着 SPA 的兴起,2010年后,前端工程师从开发页面(切模板),逐渐变成了开发**“前端应用”**(跑在浏览器里面的应用程序)。

前端开发App阶段 至今

随着 iOS 和 Android 等智能手机的广泛使用,移动浏览器也逐步加强了对 HTML5 特性的支持力度。

Web APP,即移动端的网站。一般泛指 SPA(Single Page Application)模式开发出的网站。将页面部署在服务器上,然后用户使用各大浏览器访问,不是独立APP,无法安装和发布。

Hybrid App,即混合开发,也就是半原生半Web的开发模式,有跨平台效果,实质最终发布的仍然是独立的原生APP。

React Native App,Facebook发起的开源的一套新的APP开发方案,使用JS+部分原生语法来实现功能。

May 7, 2019谷歌发布 Flutter for web,正式宣布 Flutter 成为全平台框架,支持手机、Web、桌面电脑和嵌入式设备。现在学跨平台应用开发,第一个要看的可能不是 React Native,而是 Flutter。

image.png
今天的前端已经不再是网页诞生之初的样子,每天都有新的技术框架涌现。
GitHub + NPM/BOWER + ES6/ES7/Babel/TypeScript + HTML5 + CSS3/SASS/LESS/PostCSS + React/Vue/Angular + Webpack/Browserify/Gulp/Grunt + Node.js/Express/KOA + Hybrid

这就是今天的前端。

参考:
前端发展简史
全平台框架 Flutter(英文)