在选择学习Webpack以前,咱们先了解一下前端整个发展历程。javascript
2014年初,我加入互联网开发行业,随没经历前端刀工火种的时态,5年的时间,前端技术的百家齐放非常眼花缭乱。我也从套页面后端工程师、jquery写效果到如今的小程序、node、vue转变成一个纯前端。如今回顾一下前端到底发生了哪些历史变化。html
互联网发展早期,前端只负责写静态页面,纯粹的展现功能,JavaScript的做用也只是增长一些特殊效果。这种静态页面不能读取数据库,为了使Web更加充满活力,以PHP、JSP、ASP.NET为主的动态语言相继诞生。
这使页面可以获取数据并不断更新,是先后端混合开发模式开端,全部的前端代码和前端数据都是后端生成的,随着后端代码的庞大和逻辑愈来愈复杂,相继的MVC发展起来。这时后端大多采用MVC模式开发,前端只是后端MVC中的V(视图);
从web的诞生到2005,一直处在_后端重前端轻_的状态。前端
2004年AJAX技术的诞生改变了前端的发展历史。以Gmail和Google地图这样革命性的产品出现,使得开发者发现,前端的做用不单单是展现页面,能够管理数据和用户互动。解决一些糟糕的用户体验,前端页面要想获取后台数据须要刷新整个页面。
依稀记得前几年,依托强大的Jquery,一页面的javascript代码使用ajax发送请求渲染DOM的情景。
前端开始慢慢向后端靠拢。vue
2009年Ryan Dahl利用Chrome的V8引擎打造了基于事件循环的异步I/O框架。
NODE的诞生,使javascript在服务端的无限可能,更重要的是它构建了一个庞大的生态系统。java
2010年1月,NPM做为node的包管理系统首次发布。开发人员能够依照规范编写nodejs模块,发布到npm上,供其余开发人员下载使用。截止目前2019年6月8日,NPM包数量有1,003,262,是世界上最大的包模块管理系统。node
Node.js 给开发人员带来了无穷的想象,JavaScript 大有一统天下的趋势。jquery
随着 HTML5 小程序 的流行,前端不再是人们眼中的小玩意了,应用功能开发逐步迁移到了前端,前端的代码逻辑逐渐变得复杂起来。
2010年10月Backbone MVP架构发布。
2010年10月Angular MVC->MVVM
2013年05月React开源 MVVM
2014年07月Vue MVVMgit
随着这些 MV* 框架的出现,网页逐渐由 Web Site 演变成了 Web App,最终致使了复杂的单页应用( Single Page Application)的出现。
随着 SPA 的兴起,2010年后,前端工程师从开发页面(切模板),逐渐变成了开发“前端应用”(跑在浏览器里面的应用程序)。github
随着 iOS 和 Android 等智能手机的普遍使用,移动浏览器也逐步增强了对 HTML5 特性的支持力度。web
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(英文)