Top 5 Javascript 框架

来源:互联网 发布:网络与信息安全技术 编辑:程序博客网 时间:2024/05/02 19:24
) Yahoo! UI(YUI)库

Yahoo! UI(YUI)库是一套用JavaScript写的功能和控制器的集合,结合DOM脚本、DHTML和AJAX等技术,常被用来构建交互性网络富应用。YUI库也包括了多个的核心CSS资源。YUI库的所有组件都是在BSD许可下开源的,对所有使用都是免费的。

特点:

现有两种不同类型的组件可用:功能(utilities)和控制器(controls)。YUI功能(utilities)简化了那些依赖于跨浏览器的DOM脚本的浏览器应用开发,就像用DHTML和AJAX特性开发web应用程序一样。YUI库的控件(controls)为你的网页提供了高度交互性的可视化设计元素,这些元素完全是在客户端创建并管理的,不需要网页的刷新。

可用功能:

  • 动画: 通过使页面元素的位置、尺寸、不透明度等其他特征具有动画效果,能在你的网页上创建“影片效果”。这些效果能增强用户对页面上正在发生的变化的感觉。
  • 浏览历史管理:互联网富应用的开发者们希望书签不但能标记页面,而且希望能够标记页面的状态,他们还希望浏览器的后退按钮在应用程序中的操作具有意义。浏览历史管理(Browser History Manager)为互联网富应用提供了书签和后退按钮的控制功能。
  • 连接管理(Connection Manager): 此功能以跨浏览器的方式协助管理XMLHttpRequest(通常叫做AJAX),包括对表单提交的整合支持、错误处理和callback。连接管理也支持文件上传.
  • 数据源功能(DataSource Utility): 数据源提供了一个从数组、XHR(XMLHttpRequest)服务和自定义函数接受数据的接口,并带有整合的缓存和连接管理支持。
  • DOM集合:DOM功能是一个总括的对象,由很多种用于常见DOM脚本任务的有用方法组成,包括元素布局和CSS样式管理。
  • 拖拽: 创建可在页面上任意拖动的可拖拽对象。比如你要写一个代码来完成对象相互作用时触发的过程(如当被拖拽的目标遇到另外一个时),这个功能能帮你完成所有的事务,并可在所有支持的浏览器中流畅运行。

可用的控件:

  • 自动完成(AutoComplete): 自动完成控制器可以让你简化与文本输入有关的用户交互;以多种的数据源格式为基础,此控制器提供了输入建议列表和预输入功能,还能通过 XMLHttpRequest支持服务器端的数据源。
  • 按钮控制器: 按钮控制器提供了复选框、单选按钮、提交和菜单按钮等UI元素,这比浏览器内置的表单组件更有视觉效果,也更具有可编程性。
  • 日历: 日历控制器是一个用于选择日期的动态的、图形控制器。
  • 容器: 控制器的容器家族支持很多种DHTML的窗口模式,包括工具提示(Tooltip)、面板(Panel)、对话框和简单对话框。Module和Overlay控制器提供了实现另外的自定义DHTML窗口模式的平台。
  • 数据表控件: 数据表(DataTable)大大补充了HTML表格的语意标记,使得HTML表格可以实现排序、调整列的尺寸、数据域的在线编辑等等。
  • 记录器(Logger): YUI记录器提供了一种快速且容易的方式,将日志信息输出到控制台屏幕、Firefox的FireBug插件或者Safari的JavaScript控制台上。Logger将YUI组件与输出信息整合起来,方便你调试程序。
  • 菜单(Menu): 利用菜单控件,几行代码就可以写出一个应用程序风格的飞出菜单。菜单可以完全用JavaScript产生,也可以放置在无序列表上方。

下载和更多信息: 这里

4) Prototype

Prototype是一个旨在减轻动态网络应用开发的JavaScript框架。

作为类驱动的开发一个独特易用的的工具包 ,并且是最好的Ajax库,Prototype很快成为了各地网络应用开发者的代码库的选择。

特点

  • 容易部署ajax应用: 除简单请求之外,此模块也能以聪明的方式处理服务器返回的JavaScript代码,并提供了轮询(polling)所用的辅助类。
  • DOM 扩展: 为$()函数返回的元素增添了许多有用的方法:例如,你可以用$(’comments’).addClassName(’active’).show() 来获得ID为comments的元素,为之增加一个类名并显示之(如果之前是隐藏的话)。
  • 利用了 JSON (JavaScript Object Notation):  JSON是一个轻量级且快速的数据交换格式。在Ajax请求中,JSON是除了XML之外的另一个选择。

下载和详细信息: 这里

3) Rico

用于互联网富应用的创建。

特点

  • 动画效果: 提供了具有平滑效果和切换的有响应动画,比传统的网络应用更能以丰富的方式传递变化。与大多数效果不同的是,Rico 2.0 动画可以被打断、暂停、继续, 或者其他可以应用的效果使得用户不必继续等待。
  • 样式:  除了简单界面中的简单视觉样式效果, Rico 还提供了许多影片效果.
  • 拖拽: 桌面应用程序已经在界面中使用拖拽来简化用户交互很久了。Rico  提供了一种最简单的接口来实现web应用中的拖拽。 仅仅需要将一个HTML元素或JavaScript对象注册为可拖动的,再将其他任何HTML元素或JavaScript对象注册为可拖到的区域,剩下的事情就教给Rico去做了。
  • AJAX支持: Rico提供了非常简单的接口来将Ajax请求句柄、HTML元素或JavaScript对象注册为Ajax响应对象。一个Ajax请求可以更新多个元素和/或对象。

下载和详细信息: 这里

2) Qooxdoo

qooxdoo是最全面且最革新的开源多用途AJAX框架之一,基于LGPL/EPL许可。它包括对专业的JavaScript开发、艺术级别的GUI工具包和高水平的客户端/服务器端通信的支持。

特征

  • 客户端检测: qooxdoo知道正在使用的是什么浏览器,并将其告知于你.
  • 浏览器抽象层:  qooxdoo包含一个浏览器抽象层,它努力将所有浏览器的细节抽象成一个共同的“标准”。这样就简化了无穷无尽的对象的编码,使你能将精力集中于“你想要什么”而不是“如何得到它”。这个浏览器抽象层还附带了创建GUI时常用到的基本函数。比如,你的文档中的每个元素的运行时样式或定位(在多重关系中:页面、客户端和屏幕)
  • 高级属性的实现:  qooxdoo支持对象的“真实”属性。这意味着任何类都可以定义真实世界中的事物应有的属性。addProperty句柄还增加getter和setter函数。你唯一所需要添加的是一个用于修改的函数。
  • 事件管理:    qooxdoo带有它自己的事件接口,包括事件的注册和反注册功能。此外,还可能在任意对象的上下文中调用目标函数(默认的是那个定义监听者的对象)。事件系统将浏览器间的差别进行了归一化,包括对鼠标滚轮、双击和其他奇特事物的支持。qooxdoo还带有一个高级的捕捉特性,这使得当用户拖拽某个东西的时候你可以捕捉所有的事件。

下载和详细信息: 这里

1) Dojo

利用Dojo,你可以容易地为你的网页或其他任何支持JavaScript的环境增加动态能力。你可以利用Dojo提供的组件使得你的网站变得更有可用性、响应能力和更多的功能;你可以利用Dojo的低层次APIs和兼容层写出轻便的JavaScript并可简化复杂的脚本。Dojo的事件系统、I/O APIs和通用语言增强形成了一个强有力的编程环境的基础。你可以利用Dojo构建工具为你的JavaScript代码写命令行的单元测试。通过将文件分组并通过profile来重利用,Dojo的构建过程能帮你优化你开发的JavaScript代码。

特点

  • 多点入手: 设计Dojo的一个基本理念就是“多点入手”。这句话的意思是Dojo尽力保证,用户应该能在他们最舒适的层次上开始使用Dojo。
  • 解释器无关性:   Dojo尽力确保其核心系统能在尽可能多的JavaScript平台上得到支持。这使得当在客户端、服务端和桌面编程间迁移时,JavaScript程序员可以将Dojo作为一个“标准库”来使用。
  • 多个代码库的联合: 基于多个贡献的代码库 (nWidgets, Burstlib, f(m)).

下载和详细信息:这里

--------------------------------------

(Author:Justin Silverton) 

英文原文:http://www.whenpenguinsattack.com/2007/04/24/top-5-javascript-frameworks/

版权由原作者所有,经其许可翻译。

 
原创粉丝点击