目前流行的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 相关文章推荐
用javascript实现的支持lrc歌词的播放器
May 17 Javascript
小型js框架veryide.librar源代码
Mar 05 Javascript
javascript Base类 包含基本的方法
Jul 22 Javascript
window.returnValue使用方法示例介绍
Jul 03 Javascript
javascript创建对象、对象继承的实用方式详解
Mar 08 Javascript
解析javascript图片懒加载与预加载的分析总结
Oct 27 Javascript
Vue+axios 实现http拦截及路由拦截实例
Apr 25 Javascript
JavaScript实现计算圆周率到小数点后100位的方法示例
May 08 Javascript
javascript中this的用法实践分析
Jul 29 Javascript
详解vue-property-decorator使用手册
Jul 29 Javascript
解决layui laydate 时间控件一闪而过的问题
Sep 28 Javascript
Vue全局使用less样式,组件使用全局样式文件中定义的变量操作
Oct 21 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
一个ftp类(ini.php)
2006/10/09 PHP
PHP+DBM的同学录程序(1)
2006/10/09 PHP
解析php中获取url与物理路径的总结
2013/06/21 PHP
PHP curl CURLOPT_RETURNTRANSFER参数的作用使用实例
2015/02/07 PHP
php实现TCP端口检测的方法
2015/04/01 PHP
PHP session会话操作技巧小结
2016/09/27 PHP
PHP微商城开源代码实例
2019/03/27 PHP
javascript new一个对象的实质
2010/01/07 Javascript
JS中的this变量的使用介绍
2013/10/21 Javascript
js判断设备是否为PC并调整图片大小
2014/02/12 Javascript
nodejs导出excel的方法
2015/06/30 NodeJs
jQuery实现的淡入淡出二级菜单效果代码
2015/09/15 Javascript
浅析JavaScript函数的调用模式
2016/08/10 Javascript
ES6新特性之变量和字符串用法示例
2017/04/01 Javascript
vue 粒子特效的示例代码
2017/09/19 Javascript
webpack多入口文件页面打包配置详解
2018/01/09 Javascript
vue 实现的树形菜的实例代码
2018/03/19 Javascript
JS数组push、unshift、pop、shift方法的实现与使用方法示例
2020/04/29 Javascript
python函数缺省值与引用学习笔记分享
2013/02/10 Python
python之wxPython菜单使用详解
2014/09/28 Python
深入了解Python数据类型之列表
2016/06/24 Python
python利用sklearn包编写决策树源代码
2017/12/21 Python
python 实现调用子文件下的模块方法
2018/12/07 Python
Python mutiprocessing多线程池pool操作示例
2019/01/30 Python
Python list列表中删除多个重复元素操作示例
2019/02/27 Python
python属于软件吗
2020/06/18 Python
解决pycharm导入numpy包的和使用时报错:RuntimeError: The current Numpy installation (‘D:\\python3.6\\lib\\site-packa的问题
2020/12/08 Python
全面解析CSS Media媒体查询使用操作(推荐)
2017/08/15 HTML / CSS
HTML5不支持标签和新增标签详解
2016/06/27 HTML / CSS
巴西美妆购物网站:Kutiz Beauté
2019/03/13 全球购物
高中综合实践活动总结
2014/07/07 职场文书
学习十八届四中全会精神思想汇报
2014/10/23 职场文书
家长高考寄语
2015/02/27 职场文书
2016预备党员培训心得体会
2016/01/08 职场文书
学校运动会开幕词
2016/03/03 职场文书
解决sql server 数据库,sa用户被锁定的问题
2021/06/11 SQL Server