乐趣区

前端历史演变

在选择学习 Webpack 之前,我们先了解一下前端整个发展历程。


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 年后,前端工程师从开发页面(切模板),逐渐变成了开发“前端应用”(跑在浏览器里面的应用程序)。

javascript 开发 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。


今天的前端已经不再是网页诞生之初的样子,每天都有新的技术框架涌现。
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(英文)

退出移动版