5个JAVASCRIPT框架详细的比较


框架比较

表1对本文中讨论的五个框架提供详细的比较

  Prototype jQuery YUI ExtJS MooTools
Latest Version 1.6.1 1.4.1 3.00 3.1 1.2.4
License MIT MIT & GPL BSD Commercial & GPL v3 MIT
      Browser Compatibility    
IE Support 6.0+ 6.0+ 6.0+ 6.0+ 6.0+
Firefox Support 1.5+ 2.0+ 3.0+ 1.5+ 2.0+
Safari Support 2.0.4+ 3.0+ 4.0+ 3.0+ 2.0+
Opera Support 9.25+ 9.0+ 10.0+ 9.0+ 9.0+
Chrome Support 1.0+ 1.0+ Not verified Not verified Not verified
      Core Features    
Ajax Support Yes Yes Yes Yes Yes
DOM Manipulation Yes Yes Yes Yes Yes
DOM Traversal Yes Yes Yes Yes Yes
Event Handling Yes Yes Yes Yes Yes
JSON Yes Yes Yes Yes Yes
Selectors Yes Yes Yes Yes Yes
      UX/UI Enhancements    
Accordion No jQuery UI No Yes MooTools More
Animation scriptaculous Yes Yes Yes Yes
Auto Completion scriptaculous No Yes Yes No
Browser History scriptaculous No Yes Yes No
Calendar No jQuery UI Yes Yes No
Charting No No Yes Yes No
Drag and Drop scriptaculous jQuery UI Yes Yes MooTools More
Grids No No Yes Yes MooTools More
Progress Bar No jQuery UI Yes Yes No
Resizing No jQuery UI Yes Yes No
Rich Text Editor No No Yes Yes No
Slider scriptaculous jQuery UI Yes Yes MooTools More
Tabs No jQuery UI Yes Yes No
Themes No jQuery UI Yes Yes MooTools More
Tree Views No No Yes Yes No

其他值得注意的框架

为了简洁,本文只讨论五个比较流行的框架,这并不意味着这是最流行的、最好的、功能最丰富的。

其它的一些框架也值得一提、值得一看。

  • Cappuccino
  • Dojo
  • Glow
  • GWT
  • MochiKit
  • Qooxdoo
  • Rialto
  • Rico
  • SproutCore
  • Spry
  • UIZE

回顾

在本文中,你已经了解到JavaScript框架的概念,知道它在网站和网络应用发展中的好处。对这些框架的共同功能有一个总体描述,并用实例说明了它的应用。同时你也了解到五个框架的一个或一些用户体验和用户界面。最后,你得到了一份直观的表格,突出显示每个框架具有或不具有的特色。有了这些信息,在为你或你的团队作出明智选择之前,你可以进一步研究这些框架。

资源

  • build Ajax-based Web applications.
  • Learn about Dojo.
  • Read the articleDojo concepts for Java developers(developerWorks, October 2008) to bridge the gap from Java code to Dojo so that you can get up to speed quickly and use the toolkit when developing your applications.
  • Read Part 1: Build the Web services client
    (developerWorks, October 2005) to learn how to implement a Web browser-based
    SOAP Web services client using the Ajax design pattern.
  • security threats for Ajax applications
    (developerWorks, June 2007) discusses the
    threats associated with Ajax technologies and gives you some best
    practices to avoid them.
  • Ajax, Part 1: Introduction to Ajax
    (developerWorks, December 2005) explains how HTML,
    JavaScript, DHTML, and DOM work together to make extremely efficient Web
    development an easy reality.
  • Simplify Ajax development with jQuery
    (developerWorks, April 2007) examines the jQuery
    philosophy, explains its features and functions, and gives you some common
    Ajax tasks.
  • Using Ajax with DB2
    (developerWorks, August 2007) shows how the IBM Information
    on Demand 2006 Conference Personal Planner uses Ajax to work with
    DB2®.
  • To listen to interesting interviews and
    discussions for software developers, check out developerWorks podcasts.
  • developerWorks technical events and webcasts:
    Stay current with developerWorks technical events and webcasts.

获得产品和技术

  • Download the Dojo toolkit. Dojo toolkit.
  • Get the Prototype Javascript framework.
  • Get jQuery.
  • The jQuery User Interface provides
    abstractions for low-level interaction and animation, advanced effects and
    high-level, themeable widgets, built on top of the jQuery JavaScript
    Library.
  • Get script.aculo.us.
  • Get MooTools.
  • Download and
    learn about the Yahoo! YUI Library.
  • Get ExtJS.
  • Innovate your
    next open source development project with IBM trial software,
    available for download or on DVD.
  • Download IBM product evaluation versions,
    and get your hands on application development tools and middleware
    products from DB2, Lotus®, Rational®, Tivoli®, and
    WebSphere®.

关于作者

Joe Lennon is a 24-year-old software developer from Cork, Ireland. Joe is author of the forthcoming Apress book Beginning CouchDB, and has contributed several technical articles and tutorials to IBM developerWorks. In his spare time, Joe likes to play football (soccer), tinker with gadgets and work on his Xbox 360 gamer score.

转载地址:http://www.denisdeng.com/?p=736

原文地址:http://www.ibm.com/developerworks/web/library/wa-jsframeworks/index.html

摘要:现代网站和web应用程序趋向于依赖客户端的大量的javascript来提供丰富的交互。特别是通过不刷新页面的异步请求来返回数据或从服务器端的脚本(或数据系统)中得到响应。在这篇文章中,你将会了解到javascript框架如何更快、更方便的创建互动性强、响应快得网站和web应用程序。

导言:JavaScript是一种面向对象的脚本语言,一直以来用作Web浏览器应用程序客户端脚本接口的选择。JavaScript允许Web开发人员编程与网页上的对象的工作,为凭空操作这些对象提供了一个平台。当JavaScript最初推出时,它通常用来提供一些微不足道的功能,如时钟、在浏览器状态栏中滚动文本。另外一个常用特色就是“rollover link”,即当用户的鼠标滑过对象时,其文本的颜色或背景图片发生改变。然而,近年来Ajax为网络编程带来了全新的互动,JavaScript几经发展变得更加有用。在Ajax之前,任何服务器端处理或数据库访问都需要整页面被“刷新”或由浏览器呈现新的页面。这不仅缓慢,令用户失望,而且也浪费了带宽和资源。

Ajax就是异步的JavaScript和XML,虽然引用XML不在有效,但是Ajax能对除了XMl的其它几种格式的数据作出响应,如JSON(JavaScript对象表示法)。 Ajax的工作原理是,以异步的方式提交一个 HTTP请求提交到web服务器,不刷新也不呈现整个页面,仅呈现响应的内容。相反,开发人员通常使用DOM(文档对象模型)操作修改网页的一部分,HTTP响应返回的数据将反映这些改变。

什么是JavaScript框架?

JavaScript本身是一种非常强大的语言,你不需要任何额外的框架就可以创建由它支持的富互联网应用系统(RIA)。但是,使用JavaScript并不是一件容易的事,主要是因为在试图提供多种浏览器支持时各种并发症的出现。和HTML和CSS一样,不同的浏览器的JavaScript执行方式不同,那么确保您的JavaScript代码跨浏览器兼容可以说是一个恶梦。

一个JavaScript框架或库实际上是一系列工具和函数,它能更容易产生跨浏览器兼容的JavaScript代码。每个库在许多流行的最新版本的Web浏览器经过了严格测试。因此,您完全可以相信,使用这些框架中的任何一个,您的基于JavaScript的RIA在不同的浏览器和平台中将大体一致。

除了浏览器兼容性问题外,JavaScript框架可以更容易地编写代码去获取、遍历及操纵DOM元素。它们不仅能提供一个快捷的函数来获取一个DOM元素的引用,而且还允许菊花式的DOM遍历函数链查找父母、子女或任何深度的兄弟节点元素。最后,框架提供了一系列的函数,使其更容易的操纵这些对象,允许其内容更改、添加、删除,或者操纵class的样式而影响元素的外观。

JavaScript框架的另一个重要特色就是能更好的支持事件处理。由于浏览器之间的不同实现,跨浏览器事件处理可以说是一个恶梦。因此,JavaScript框架通常将浏览器事件包装起来,并提供一系列有用的跨浏览器函数来处理它们。一些框架也提供了标准化的代表键盘键码系列的事件(如Esc键、Enter键、光标等等)。

所有这些功能是非常有用的,JavaScript框架已在其最近流行Ajax应用中起重要作用。和JavaScript其他方面一样,每个Web浏览器倾向于支持以不同的方式Ajax,使Ajax支持所有的浏览器将是很繁重的工作。几乎所有的JavaScript框架都包括一定形式的Ajax库,通常是提供Ajax请求和响应对象,在对响应作出评价后,更新DOM元素,轮询一个特定的请求。

一个JavaScript框架的典型特征

现在让我们看看大多数JavaScript框架都具有的一些功能。这些特色有:

  • 选择器
  • DOM遍历
  • DOM操作
  • 实用函数
  • 事件处理
  • Ajax

为了更好的诠释这些特色,我将从下面一个或多个JavaScript框架中列举一个例子:Prototype, jQuery, YUI,ExtJS和 MooTools。虽然每个框架的执行情况和语法不同,但其概念大致相同。每个框架有一个详细的API参考,你可以参考它决定如何使用这些特定库的特色功能。



相关阅读:
了解Linux新一代安装包格式Autopackage
centos5 源码安装Nginx + mysql + apache + php的方法
Palm采用Linux内核 将推第二代操作系统
本地ISO或光盘作Fedora软件源进行软件管理
为什么我的 Mysql 不支持中文查询?
JAVA Servlets简介
正则表达式学习笔记
带你进入Windows7系统的安全模式
PHP模拟SQL Server的两个日期处理函数
JavaScript触发器详解
使用组件和对象
CSS实现简单的图片防盗链代码
如何从一个php文件向另一个地址post数据,不用表单和隐藏的变量的
SQL的简单查询
快速导航

Copyright © 2016 phpStudy |