代码改变世界

前端框架搭建心得

2013-03-30 17:00  king0222  阅读(807)  评论(0编辑  收藏  举报

前端框架搭建心得

项目开发中我们希望有一个比较完善的框架来保证代码的编写流畅和易于管理维护,对于前端开发而言,无论是做客户端类型还是WEB站点,混乱没有规范的代码让我们在编写的过程中会越来越觉得无法控制以致后期不得不在解决BUG的问题中度过,bug是多么的让人抓狂啊。

对于前端开发来说,jquery自不用说,似乎已经成了一种时尚潮流,多数的前端开发人员都掌握的一种脚本库。但jquery仅仅是帮助我们解决了减少代码量的问题,我们还需要一种技术来实现代码的模块化。

EXT是个不错的库,它也有loader加载机制,可以将具体功能模块化并按需加载,用在客户端类型的项目或者后台的开发上这是一个不错的选择。但是或许我们向往更加自由的编码方式,更加自由的的去控制页面样式,还希望页面的DOM树更加简洁,EXT就显得有些臃肿了。

MVC框架类型的库我们是需要熟悉的,比较流行的是Backbone,当然还有很多其他类似的库,比如knockout,ember,spine什么的,spine原理跟backbone基本上一致。这些库用在移动应用的开发上应该是效果甚好的。

面向对象的开发模式对于前端开发而言是一种比较好的实践,在我们用对象的概念去维护整个项目的时候,会发现代码管理变得更加轻松。我们可以用父对象来操控所有的子对象,子对象之间可以通过父对象的查找来互相操控,这只是其中一种开发模式。或者我们可以像AMD规范一样通过依赖项来操作具体的模块。

网站开发跟应用的开发是有十分不一样的,对此我们需要用不同的框架来维护这两种不同的项目。对于网站的开发,就我个人的开发实践来说,requireJS+jquery+控制器的混合结构是一个非常好的实践,后期的代码优化也十分容易,页面能够进行更多的seo,这也是不选择EXT的原因。当然对于模块化开发,我们除了遵循AMD规范的requireJS,以及自带Loader的EXT之外,我们还有另一选择,就是遵循CMD规范的seaJS,不过个人并不喜欢这种规范。

客户端的开发,我们可以选择EXT,如果希望新手也能在不懂EXT的情况下参与开发,那么EXT的loader+jquery也是一个十分有趣的组合。