js框架的利弊

今天面试,问到这样一个问题:

用js框架有什么好处?

当时想都没想:高效开发,替我们解决兼容性问题。

还有么?

额。。。

后来查了下相关的资料,又结合自己再仔细思考、群内童鞋们讨论,我觉得答案可能还是:高效开发。

但现在理解的高效开发可能跟之前理解的就不一样了,网上有这么一篇文章,短小,不过我觉得还是很中肯的。

谈谈js框架的利弊

2010 十月 26

by admin

在全职做前端之前,有很长一段时间是在做.net开发,对“框架”这个词还是挺有体会的。从.net framework2.0开始接触,一直到3.5,现在应该到4.0了吧没怎么关注了。.net框架配上vs集成开发环境,可以说在快速开发企业用户的地位是其它没法超越的。一般做.net的有三种人:利用IDE的便捷直接拖控生成项目,或者纯粹当c#语言来用;我最欣赏的是第三种:研究.net的原理、生命周期,利用它的一些优秀特性去构建适合自己的框架。

同样前端也有许多框架,jquery,ext,yui…当然也有css framework。目前在公司项目中我都是用jquery框架,与其说框架不如说是一个JS的DOM操作库,事实上jq谈不上框架,而jquery ui库又显得有点笨重。对jq我的看法是:轻量,易扩展,接口友好;但其本身的实现代码谈不上优雅,选择器用的也是开源Sizzle(由jQuery中诞生,独立出来的一个开源的项目)。

用框架的好处:快速开发,更多关注业务逻辑的实现,不用过分关心浏览器兼容等问题。

弊端:不良依赖,忽略基础特性。

我的看法:选一种适合自己项目的JS框架,充分了解它的优势和劣势,读源码,了解每个核心功能的实现。实现自己的UI库和组件库,在高效与通用之间做平衡与适当妥协,毕竟我们不完全是为写库而写库。

若说JS框架,那就不得不说现在业界的几种主流框架和类库,JQ,mootools,prototype,YUI EXT,dojo,包括国内的淘宝的kissy,百度的七巧板等。他们各自都有各自的特点,百花争艳,各展千秋。

我自己认为框架的优劣只有在具体的项目中才能体现出来,在实际使用中才能比较其利弊。

比如,如果我们只是写一个简单的页面效果,图片滚动,一般情况下自己写就可以了,如果这时候用一个JQueryUI就显得臃肿了。当然,如果新手为了提高开发效率而用JQ,那也是有好处的。那么最终JS框架是否有好处或者坏处,就得在具体环境中具体考虑。

当然,如果除却环境原因,在各方面需求都非常均衡的情况下选择框架,个人认为可以从易用性,高性能,功能性,多浏览器兼容,跨平台,可扩展性等方面考虑。

考虑简单易用,貌似JQ的$远远领先了其他框架。

高性能上,上次看了个主流框架选择器性能测试,JQ在这方面也是出于领先地位。其他的性能测试我这里没有数据,如果各位兄台谁有相关的测试数据,希望能共享一下,非常感谢。

功能上,包括UI和其他方面。现在各个框架基本都有自己的UI,不过EXT在这方面更强一些。

多浏览器兼容和跨平台现在已经成框架的最基本要求了,基本上每种框架都会跨浏览器。

可扩展性方面,没怎么了解过,希望有了解的兄台多多指点。

 

补充:希望自己在以后使用和编写框架的过程中能有更多体会,再来与大家分享~

posted @ 2011-10-28 17:10  像阳光一样  阅读(5158)  评论(12编辑  收藏  举报