怎么选择Javascript框架(Javascript Framework)

Ajax的兴起,给 Javascript带来了新的生机,大量的javascript框架(Javascript Framework)层出不穷,一些框架来至于开发人员项目经验的总结和提炼,也有一些框架来至于商业公司,同时以开源和商业两种方式发布。借助这些框 架,可以大大加速Ajax项目的开发速度,但同时也面临不同的学习曲线,以及架构扩展性等等问题。如何选择Javascript框架,成为开发人员和架构 师头痛的一个问题。如果你正面临这样的问题,希望下面的几个建议对你在选择javascript框架上会有所帮助。

你的项目需求是什么
首先要问自己这是一个什么项目,具体的需求是什么,是一个普通类型的网站还是一个在线的web应用程序,是否需要处理大量的键盘和鼠标事件,是否需要给用户 各类高级的ajax特性,还是说只要实现一个简单的异步页面刷新和一些简单dom操作,如果是后者,则可以选择一个相对简单的javascript框架, 封装基本的xmlhttprequest操作和dom操作就足够了。

浏览器的支持情况
不同的框架兼容的浏览器会有所不同,尤其是一些高级的javascript框架,对低版本的浏览器都不支持,还有一些框架只支持ie和firefox,对其 他浏览器如opera、safari不支持。所以在框架的选择上还要考虑到系统的目标用户,如果目标用户都只使用ie6.0以上浏览器,那么在框架的选择 上余地就更大了。

框架后面是否有一个核心的开发团队
很多框架往往都是个人在业务时间开发的,随时可能停止更新,而如果后面有一个团队,则可以在一定程度上保准代码的更新,对bug和一些问题的及时响应,同时在代码质量上也相对有保准。

框架的成熟度
如果一个新的框架刚刚发布,使用的人往往不多,如果你贸然采用,在使用过程中遇到问题,可能要找个能帮你解决问题的人或者在网上找资料都显的很难。所以在这方面也要有所考虑。

框架的发布更新频率
一个框架有很高的发布更新频率说明新的功能在不断加入或者bug被fix的速度很快,反之一个框架半年都不出一个版本,基本可以说明这个框架已经不被开发者重视,很难得到新的发展。

文档的友好性
一个框架尤其是相对比较复杂的框架,如果没有充分和友好的文档,学习曲线会比较高,使用者在使用过程中往往需要通过阅读代码和其他外部的文章来学习怎么使用和解决一些问题。所以文档也是很重要的一个因素。

是否有个活跃的社区
一些成功的开源框架背后往往有一个社区在支撑,大家在里面交流使用经验,互相帮助解决使用过程中遇到的问题。任何问题,只要在这类社区中寻求帮助,往往很快就可以得到他人的帮助。这样的框架,即使一开始不是很成熟,也会很快发展起来。

框架的扩展性
在 实际的项目过程中,往往一个特定的框架是很难直接满足你的所有需求的,这就要求你需要去做一些定制和扩展的工作,如果一个框架没有很好的扩展性,则你可能 在项目后期为了实现某个特定的需求,不得不采用另一个新的框架,大大加大了项目的成本。所以选择一个有很好扩展性,如支持plugin等机制的框架,对你 今后系统的扩展会有很大的帮助。

性能和网络环境
不同的系统在性能和功能的侧重上 会有所不同,比如一个基于互联网的项目,可能考虑更多的是要求在保准性能的前提下,再来讲功能,很多高级的javascript框架往往在性能上不能让人 满意,一部分原因是封装了太多功能,导致js文件会非常大,在互联网环境下,下载这个js文件就会耗去不少时间,还有就是为了保准如框架的扩展性,往往做 了多层封装和抽象,在某种程度上其实是以牺牲部分性能为代价的。所以这样的框架可能更适合一些intranet内部的项目,而不是基于互联网的项目。

(0)

相关推荐

  • JavaScript框架编程第1/2页

    使用JavaScript框架 在讲述 window 对象的时候,我们提到过,一个框架内的网页也是 window 对象,也就是说,Frame 对象也是 window 对象.用最容易理解的话说,每一个 HTML 文件占用一个 window 对象,包括定义框架的网页("框架网页").在 IE 里用"<iframe>"标记在文档中插入的框架也是 window 对象,但是用"包含网页"的方法(在 HTML 中显示为"<!--we

  • javascript框架设计之框架分类及主要功能

    从内部架构和理念划分,目前JavaScript框架可以划分为5类. 第一种是以命名空间为导向的类库或框架,如果创建一个数组用new Array(),生成一个对象用new Object(),完全的java风格,因此,我们以某一对象为跟,不断为它添加对象和二级对象属性来组织代码,如金字塔般垒起来,早期代表YUI,EXT(so,不是有活力的公司都还用它们) 第二种是以类工厂为导向的框架.著名的有Prototype,还有mootools.Base2.Ten,它们基本上除了最基本的命名空间,其它模块都是一

  • brook javascript框架介绍

    brook引用了UNIX下的pipe概念,轻松把所有的处理都串联起来以共同完成任务.前一个处理的输出作为后一个处理的输入来完成参数的传递.通过brook你可以以MVC的方式来写你的javascript程序. http://hirokidaichi.github.com/brook/ brook 我们下载brook框架使用namespace库用于模块的组织. 这里再次用例子说明一下namespace的使用方法: 复制代码 代码如下: // 定义一个sample命名空间 Namespace('sam

  • 10个新的最有前途的JavaScript框架

    1. SproutCore SproutCore 苹果对SproutCore的解释为"开源,平台无关,类Cocoa的JavaScript框架,用于创建具有桌面应用程序外观和操作感的Web应用程序." SproutCore demonstrations: Photos, Sample Controls 2. Spry Spry 是Adobe 的 Ajax framework. Spry的目的是成为实现Ajax的一种简单方式,对HTML.CSS和JavaScript体验据有入门级水平的设计

  • javascript框架设计读书笔记之模块加载系统

    模块加载,其实就是把js分成很多个模块,便于开发和维护.因此加载很多js模块的时候,需要动态的加载,以便提高用户体验. 在介绍模块加载库之前,先介绍一个方法. 动态加载js方法: 复制代码 代码如下: function loadJs(url , callback){ var node = document.createElement("script");       node[window.addEventListener ? "onload":"onre

  • JavaScript框架(iframe)操作总结

    框架编程概述 一个 HTML页面可以有一个或多个子框架,这些子框架以<iframe>来标记,用来显示一个独立的HTML页面.这里所讲的框架编程包括框架的自我控制以及框架之间的互相访问,例如从一个框架中引用另一个框架中的JavaScript变量.调用其他框架内的函数.控制另一个框架中表单的行为等. 框架间的互相引用 一个页面中的所有框架以集合的形式作为window对象的属性提供,例如:window.frames就表示该页面内所有框架的集合,这和表单对象.链接对象.图片对象等是类似的,不同的是,这

  • javascript框架设计读书笔记之种子模块

    1.命名空间: js里面的命名空间就是使用对象的属性来扩展的.比如,用户定义一个A对象,A对象下面有B属性和C属性,同时B属性和C属性又是对象.因此A={B:{},C:{}},这时用户就可以在B对象和C对象中定义一样的方法,属性了.因此B和C就属于不同的命名空间.我们调用B,C对象里面的方法,就可以通过A.B.like(),A.C.like()调用了.当然A属于window对象中的属性. 但是有一种情况,比如:boke.jsp页面引入了jquery.js以及prototype.js(他们都会在w

  • javascript框架设计读书笔记之数组的扩展与修复

    1.indexOf和lastIndexOf方法: 因为IE7在数组对象上使用indexOf会报错,所以需要重写一个兼容性的. 复制代码 代码如下: Array.prototype.lastIndexOf(item,index){ var n = this.length,i = (index==null||index>n-1)?n-1:index; if(i < 0) i = n+i; for(;i>=0;i--) if(this[i] === item)   //全等判断,indexOf

  • 16个最流行的JavaScript框架[推荐]

    1. jQuery – Javascript Framework jQuery 是最流行的 JavaScript 框架,它简化了HTML 文档遍历.事件处理.动画和Ajax交互. 2. Dojo Javascript Framework Dojo强大的核心使Web开发更加敏捷,它拥有出色的UI工具库,号称 Unbeatable JavaScript Tools. 3. Sencha Ext JS4 Javascript Framework 官方介绍说是最先进的JavaScript框架,用于构建下

  • 详细介绍8款超实用JavaScript框架

    1. Hammer.jsHammer.js是被广泛使用的轻量级JavaScript框架,它提供了常用触摸操作的规范,比如收缩.拖放.双击和删除等等.它支持大多数移动平台像iOS,Windows Mobile, Android 和 BlackBerry. 2. jQuery UIjQuery UI非常适合那些用jQuery JS 库开发App的用户.提到jQuery UI,就不得不提到跟它非常相似的Kendo UI.Kendo UI可帮助创建原生的移动和桌面应用,对性能和易用性方面都做了大量优化,

  • 2014 年最热门的21款JavaScript框架推荐

    下面,我们将会介绍 2014 年最火的 21 款JavaScript 框架,专为前端开发者准备的哦:)众所周知, JavaScript 框架是 JavaScript编程语言最棒的特性之一. JavaScript 框架是预先编写好的 JavaScript 库,为基于 JavaScript 的应用提供更简单的开发方式.这些 JavaScript框架提供大量的函数,帮助你改善网站任务.现在网络上有着各种各样繁杂的JavaScript 框架,这里我们列举 2014年最火的 21 款JavaScript

  • javascript框架设计读书笔记之字符串的扩展和修复

    1.repeat方法:将一个字符串重复自身n次.比如:repeat("chaojidan",2)   -> chaojidanchaojidan 方法1: 复制代码 代码如下: function repeat(str,n){ return Array.prototype.join.call({length:n+1},str);  //在类数组{length:n+1}上下文下执行join方法,并传入str.也就是用str来分隔类数组的选项,类数组是空,所以就有n个str分隔n+1个

  • javascript框架设计之种子模块

    种子模块也叫核心模块,是框架中最先执行的部分.即便像jQuery那样的单文件函数库,它的内部也分很多模块,必然有一些模块执行时在最前面立即执行,有一些模块只有用到才执行.有的模块可有可无,存在感比较弱,只有在特定的浏览器下才运行. 种子模块就是其中的先锋,它里边的方法不一定要求个个功能齐全,设计优良,但一定要极具扩展性,常用,稳定. 扩展性是指通过他们能给将其它模块包含进来:常用是指绝大多数的模块都能用到它们,防止做重复工作.稳定是指在版本迭代时不轻易被新方法替代. 参照许多框架和库的实现,我们

随机推荐