来自群内对于前端的呼声

如果把DOM比喻成敌军,那么操作DOM进行干活的API则是我方军队,原生API是难以调教的随时会背后捅刀子的土著军队或叫部落军队,因为每一个浏览器,它们自带的兵源也不一样。

于是有了common.js这样工具集合,进而是类库,再庞大些是框架。这可以看成是自己人的正规军。

早期的这些军队都有一面叫AJAX的旗帜,但都是喙头,没有带着很大的战斗力。但最早拥有庞大特效库支撑的Prototype.js建立了第一个王朝。

后来有了选择器,相当于为这些泥腿子分配了马匹,动机性大大提高,受益于此,jQuery成为了上帝之鞭。Prototype.js的帝国开始解体,mootools成为了拜占庭。

而此时IBM,YUI等大公司开始构建它们的庞大军队,分别叫dojo与YUI。dojo与YUI它们都有加载器,因为它们的框架已经高度模块化,尝式在JS中实现其他语言的include语法。

jQuery继续用它的庞大插件群吸引越来越多信众。宗教的力量是巨大的,就像基督教,总能拼凑出几个战斗力非常惊人的骑士团出来。

从2010年开始,逐渐冒出一些叫MVC的框架出来,起初最出名的基于jQuery的javascriptMVC,接着backbone.js,然后是纯微软血统的knockout.js,不过它是另一个派系,一个叫MVVM的东东。同属此派系的还有ember.js与google血统的angular.js。

无论是MVC也好,MVVM也好,它们都尝试改变javascript的编写方法,让所有代码都有章法可遁。而之前,装备了选择器,或更好的DOM操作方法,只不过让武器更加先进而已,打起来一盘散沙,你打你的,我打我的,误杀率很高。

像什么命名空间,只是让框架管好自己的代码,没有约束使用者如何管好自己的代码。JAVA的三大法宝:Model、Patterns和Framework,早早就解决这问题了。当然前端与后端是不一样,前端需要变更快,因此面临的挑战更严峻些,加之前端高手不断流失,针对界面开发的终极方案最后由后端的人搞出来了——这就是MVVM。window8自带的JS框架winjs就有它的踪影。

MVVM相当于让JS跨进火器时代。不过即便没有火器,EXT在2.3时进入大航海时代了,到4.0时什么按需加载,MVC只是让它成为西班牙舰队。

而对于前端开发来说,或者对于框架推广来说,最有价值的部分就是它的UI库。一个控件是一艘舰艇,整个UI库就是一支舰队。因此EXT也不是不可战胜的,它非常庞大臃肿,因为它维护UI的每个显示属性都是使用落后的手段。假若用MVVM来维护它们,代码量可以减少一半以上。因此我们mass Framework要做的是,建立一支联合舰队,把西班牙舰队击沉!

金牌狙击手

52html5是一个web前端|html5资源平台,为广大html5开发者及爱好者提供html5相关的教程、资讯、html5游戏、html5教程等,并涉及css3、javascript前端知识。