一、过去时代
1)最原始的方法用原生去写JavaScript
2)JavaScript配合CSS和IE6各种浏览器的兼容作战
3)不用任何的框架引用
4)模块化、MVC还没有诞生
这个时代,基本于原生的JS。相继出来了一些书写前端的一些方法。如,命名空间,封闭空间。你懂的整体代码的规整度是有了一定的进展。可是调用和配合起来很麻烦。
二、JQuery的兴起
JQuery的第一个版本应该是在2006年8月出来,第一个可用的版本在07年,但是在中国火的满大街是JQuery + JQuery UI + Plugin,不折腾就不会死的年代,这个时期:
1)JQuery火可是大家对它的认识处于“工具,工具方法,原生JS函数扩展”
2)程序猿分出了两类:一类说“我是JQuery熟手但是不懂JavaScript”,一类说“如果你来面试说你会JQuery但是不懂JavaScript就滚”
3)IE6终于有了点解药
三、模块化开发
随着前端技术的发展,及前端业务的复杂度的提升,为了解决传统团队合作时产生的代码合并,复用,组件等一系列和性能上的问题,那个时候出现了CommonJS,紧接着又是require.js 和sea.js等模块化框架的流行,相应的一些JS引擎模板如雨后春笋一样出来很多,aiduTemplate(百度)\artTemplate(腾讯)\juicer(淘宝)\doT\ tmpl\ handlebars\ easyTemplate\ underscoretemplate \ mustache \kissytemplate ,一时间前端的技术成了大胖时间,眼花缭乱,到处都是,但是官网当时统计性能最好的应该是 artTemplate\doT \juicer这三个,当时模块化开发+js模板引擎成了主流
四、移动端占据主流+IE6死去+html5的流行
1)IE6死去
随着微软宣布停止主流支持,和国内一线互联网公司放弃IE6时,前端一片沸腾,终于IE6的恶梦结束了,所
以诸多过去不兼容低版本IE6的框架已经没有后顾之忧。
2)HMTL5流行和移动端的占据
移动端已经占居互联网市场的主流,移动端的技术开发已经占居互联互公司的主要业务的百分之六十以上甚
至更多的比例,当iphone宣布不再支持flash时,Adobe宣布停止更新flash时,就知道将来移动端必是
HTML5的未来 ,H5的新起带起来了移动端前端的发展。为以后MV*框架出世做了一定的铺垫。
五、不得不提的Node.js
很多人提到Node.js都会说,跑在服务器端的JavaScript。大家更多关注的是它的能力,而忽视了这种能力对生态系统的影响。
npm包管理工具,推动了其他语言对包管理的重视和工具的改善;用PHP那么多年,直到最近一两年才有了可用的composer包管理工具,Python的pip发展这么多年到现在还远不能和npm相提并论;个人认为,npm也是bower等工具的思想基础
Node.js彻底解放了生产力,基于Node.js的自动化构建工具,测试工具层出不穷,这些工具不但对前端开发,同时也对服务端开发,客户端开发产生了巨大的影响和推动
现在,稍微上规模的项目,不管是任何语言做为你的主力开发语言,你很难看到里面少了Node.js的影子,它无处不在!重要的是,如果你做前端,Node.js可以带给你120%的生产力;如果是做服务端,Node.js生态中的很多思想都值得你去借鉴
六、MVX框架倔起
MVX框架模式:MVC+MVP+MVVM
1.MVC:Model(模型)+View(视图)+controller(控制器),主要是基于分层的目的,让彼此的职责分开。
View通过Controller来和Model联系,Controller是View和Model的协调者,View和Model不直接联系,
基本联系都是单向的。
用户User通过控制器Controller来操作模板Model从而达到视图View的变化。
2.MVP:是从MVC模式演变而来的,都是通过Controller/Presenter负责逻辑的处理+Model提供数据+View负责显示。
在MVP中,Presenter完全把View和Model进行了分离,主要的程序逻辑在Presenter里实现。
并且,Presenter和View是没有直接关联的,是通过定义好的接口进行交互,从而使得在变更View的时候可
以保持Presenter不变。
MVP模式的框架:Riot.js。
3.MVVM:MVVM是把MVC里的Controller和MVP里的Presenter改成了ViewModel。
Model+View+ViewModel。
View的变化会自动更新到ViewModel,ViewModel的变化也会自动同步到View上显示。
这种自动同步是因为ViewModel中的属性实现了Observer,当属性变更时都能触发对应的操作。
MVVM模式的框架有:AngularJS+Vue.js+react.js和Knockout+Ember.js后两种知名度较低以及是早起的框架模式。
现在, Vue 还没有 React (由 Facebook 维护) 或者 Angular 2 (受到 Google 的支持) 流行。不过,许多开发者都已经转向 Vue 了。Laravel 社区也在考虑将它作为可选用的前端框架之一。不管从性能上,难易度上,和一系列的优势,VUE都是前端现时代的首选框架。优势和其他框架的对比在哪 里,接下来会有专门对三个框架的优缺点的对比和分析来得出现在的结论。