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在这方面更强一些。

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

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

摘要: 今天群里有人问到这样一个问题: 1: var fn = function(){} 2: if(!!fn){} 3: if(fn){}这两种判断方式有什么区别,自己以前还真没有仔细关注个这个问题,!!(第一种)这种方式对fn进行两次运算,第一次显式将对象转为bool,第二次将false转为true。而if(fn)(第二种)的方式是直接隐式转换为bool,理论上后面一种应该比前面...阅读全文
posted @ 2011-10-29 09:10 像阳光一样 阅读(658) | 评论 (2) 编辑
 
摘要: 今天面试,问到这样一个问题: 用js框架有什么好处? 当时想都没想:高效开发,替我们解决兼容性问题。 还有么? 额。。。 后来查了下相关的资料,又结合自己再仔细思考、群内童鞋们讨论,我觉得答案可能还是:高效开发。 但现在理解的高效开发可能跟之前理解的就不一样了,网上有这么一篇文章,短小,不过我觉得还是很中肯的。 谈谈js框架的利弊 2010 十月 26 by admin 在全职做前端之前,有...阅读全文
posted @ 2011-10-28 17:10 像阳光一样 阅读(2046) | 评论 (12) 编辑
 
摘要: javascript脚本执行过程中会中断页面加载,直到脚本执行完毕,此操作阻塞了页面加载,造成性能问题。——《高性能javascript》脚本位置和加载顺序:如果将脚本放在head内,那么再脚本执行完毕之前,显示给用户的始终是一片空白,用户只能傻傻的看着屏幕等待脚本执行完毕。而且,如果页面引入多个脚本,那么后面的脚本文件必须等待前面的脚本文件下载完毕并且执行完毕之后才能开始下载并运行。不过IE8,FF,SAFARI,CHROME已经允许脚本文件可以同时下载,不过尽管如此,javascript脚本仍然会阻塞其他脚本下载进程,页面仍旧要等待所有javascript脚本下载并执行完毕之后才可以开始加阅读全文
原文地址:https://www.cnblogs.com/Leo_wl/p/2228977.html