目前流行的JavaScript库的介绍及对比


Posted in Javascript onSeptember 29, 2013

为了简化JavaScript的开发,一些JavaScript程序库诞生了。JavaScript程序库封装了很多预定义的对象和使用函数,能帮助使用者轻松地建立有高难度交互的Web2.0特性的富客户端页面,并且兼容各大浏览器。下面是目前集中流行的JavaScript程序库的介绍和对比。

Prototype

Prototype是最早成型的JavaScript库之一,对JavaScript的内置对象(例如String对象、Array对象等)做了大量的扩展。现在还有很多项目使用Prototype。Prototype可以看做是把很多好的,对JavaScript的内置对象(例如String对象、Array对象等)做了大量的扩展。现在还有很多项目使用Prototype。Prototype可以看做是把很多好的、有用的JavaScript的方法组合在一起而形成的JavaScript库、使用者可以再需要的时候随时将其中的几段代码抽出来放进自己的脚本里。但是由于Prototype成型年代较早,从整体上对面向对象的编程思想把握得不是很到位,导致了其结构的松散。不过现在Prototype也在慢慢改进。

Dojo

Dojo的强大之处在于Dojo提供了很多其他JavaScript库所没有提供的功能。例如离线存储的API、生成图标的组件、基于SVG/VML的矢量图形库和Comet支持等。Dojo是一款非常适合企业级应用的JavaScript库、并且得到了IBM、SUN和BEA等一些大公司的支持。但是Dojo的缺点也是很明显的:学习曲线陡,文档不齐全,最严重的就是API不稳定,每次升级都可能导致已有的程序失效,但是自从Dojo的1.0.0版本出现以后,情况有所好转,Dojo还是一个很有发展潜力的库。

YUI

YUI是由Yahoo公司开发的一套完备的、扩展性良好的富交互网页程序工具集。YUI封装了一系列比较丰富的功能,例如DOM操作和Ajax应用等,同时还包括一个核心的CSS文件。该库本身文档及其完备,代码编写得也非常规范。

Ext JS

Ext JS简称为Ext,原本是对YUI的一个扩展,主要用于创建前端用户界面,如今已经发展到可以利用包括jQuery在内的多种JavaScript框架作为基础库,而Ext作为界面的扩展库来使用。Ext可以用来开发富有华丽外观的富客户端应用,能使B/S应用更加具有活力。但是由于Ext侧重于界面,本身比较臃肿,所用使用之前请想权衡利弊。另外,需要注意的是,Ext并非完全免费,如果用于商业用途,需要付费获得授权许可。

MooTools

MooTools是一套轻量、简洁、模块化和面向对象的JavaScript框架。MooTools的语法几乎跟Prototype一样,但是却提供了更为强大的功能、更好的扩展性和兼容性。其模块化思想非常优秀,核心代码只有8KB。无论用到哪个模块都可即时导入,即使是完整版大小也不超过160KB。MooTools完全彻底的贯彻了面向对象的编程思想,语法简洁直观,文档完善,是一个非常不错的JavaScript库。

Javascript 相关文章推荐
XML的代替者----JSON
Jul 21 Javascript
jquery关于图形报表的运用实现代码
Jan 06 Javascript
IFrame跨域高度自适应实现代码
Aug 16 Javascript
javascript打开word文档的方法
Apr 16 Javascript
js实现创建删除html元素小结
Sep 30 Javascript
jQuery自定义动画函数实例详解(附demo源码)
Dec 10 Javascript
基于HTML+CSS,jQuery编写的简易计算器后续(添加了键盘监听)
Jan 05 Javascript
javascript深拷贝的原理与实现方法分析
Apr 10 Javascript
Angular.js 4.x中表单Template-Driven Forms详解
Apr 25 Javascript
8个有意思的JavaScript面试题
Jul 30 Javascript
如何基于javascript实现贪吃蛇游戏
Feb 09 Javascript
JS apply用法总结和使用场景实例分析
Mar 14 Javascript
Javascript实现视频轮播在pc端与移动端均可
Sep 29 #Javascript
从jquery的过滤器.filter()方法想到的
Sep 29 #Javascript
jQuery 借助插件Lavalamp实现导航条动态美化效果
Sep 27 #Javascript
jquery $.each 和for怎么跳出循环终止本次循环
Sep 27 #Javascript
jquery ajax 调用失败的原因示例介绍
Sep 27 #Javascript
写得不错的jquery table鼠标经过变色代码
Sep 27 #Javascript
模拟jQuery中的ready方法及实现按需加载css,js实例代码
Sep 27 #Javascript
You might like
实现PHP+Mysql无限分类的方法汇总
2015/03/02 PHP
Laravel 5框架学习之表单
2015/04/08 PHP
超详细的php用户注册页面填写信息完整实例(附源码)
2015/11/17 PHP
php生成HTML文件的类方法
2019/10/11 PHP
HTML中事件触发列表与解说
2007/07/09 Javascript
JAVASCRIPT keycode总结
2009/02/04 Javascript
jquery关于图形报表的运用实现代码
2011/01/06 Javascript
jquery图片上下tab切换效果
2011/03/18 Javascript
jquery插件实现鼠标经过图片右侧显示大图的效果(类似淘宝)
2013/02/04 Javascript
js自动生成的元素与页面原有元素发生堆叠的解决方法
2014/09/04 Javascript
SeaJS 与 RequireJS 的差异对比
2014/12/08 Javascript
基于javascript实现最简单的选项卡切换效果
2016/05/16 Javascript
Html中 IFrame的用法及注意点
2016/12/22 Javascript
详解angular路由高亮之RouterLinkActive
2018/04/28 Javascript
基于打包工具Webpack进行项目开发实例
2018/05/29 Javascript
「中高级前端面试」JavaScript手写代码无敌秘籍(推荐)
2019/04/08 Javascript
node 版本切换的实现
2020/02/02 Javascript
微信小程序去除左上角返回键的实现方法
2020/03/06 Javascript
javascript设计模式 ? 享元模式原理与用法实例分析
2020/04/15 Javascript
Javascript生成器(Generator)的介绍与使用
2021/01/31 Javascript
[05:53]敌法师的金色冠名ID"BurNIng",是传说,是荣耀
2020/07/11 DOTA
Python新手们容易犯的几个错误总结
2017/04/01 Python
一个基于flask的web应用诞生 用户注册功能开发(5)
2017/04/11 Python
python中Pycharm 输出中文或打印中文乱码现象的解决办法
2017/06/16 Python
Python函数装饰器实现方法详解
2018/12/22 Python
python如果快速判断数字奇数偶数
2019/11/13 Python
python自动点赞功能的实现思路
2020/02/26 Python
python 绘制正态曲线的示例
2020/09/24 Python
django使用channels实现通信的示例
2020/10/19 Python
澳大利亚墨尔本的在线时装店:LORETA
2018/09/14 全球购物
创意爱尔兰礼物:Creative Irish Gifts
2020/01/29 全球购物
Order by的几种用法
2013/06/16 面试题
shell的种类有哪些
2015/04/15 面试题
部门经理迟到检讨书
2015/02/16 职场文书
高校自主招生自荐信2015
2015/03/04 职场文书
CSS浮动引起的高度塌陷问题
2022/08/05 HTML / CSS