首页 > 其他分享 >几款JS 框架介绍和比较

几款JS 框架介绍和比较

时间:2022-12-05 12:37:31浏览次数:34  
标签:dojo 框架 JS js 缺点 MochiKit prototype 几款


 目前来看 , JS 框架以及一些开发包和库类有如下几个: Dojo 、 Scriptaculous 、 Prototype 、yui-ext 、 Jquery 、 Mochikit 、 mootools 、 moo.fx 。

 

Dojo ( JS  library  and  UI component )
Dojo 是目前最为强大的 j s 框架,它在自己的 Wiki 上给自己下了一个定义, dojo 是一个用 JavaScript 编写的开源的 DHTML 工具箱 。 dojo 很想做一个 “ 大一统 ” 的工具箱 , 不仅仅是浏览器层面的,野心还是很大的。 Dojo 包括 ajax, browser, event, widget 等跨浏览器 API ,包括了 JS 本身的语言扩展 , 以及各个方面的工具类库 , 和比较完善的 UI 组件库 , 也被广泛应用在很多项目中 , 他的 UI 组件的特点是通过给 html 标签增加 tag 的方式进行扩展 , 而不是通过写 JS 来生成, dojo 的 API 模仿 Java 类库的组织方式。 用 dojo 写 Web OS 可谓非常方便 。 dojo 现在已经 4.0 了 , dojo 强大的地方在于界面和特效的封装 , 可以让开发者快速构
建一些兼容标准的界面。
优点 : 库相当完善 , 发展时间也比较长 , 功能强大 , 据说利用 dojo 的 io.bind() 可以实现 comet , 可见 其功能强大非一般,得到 IBM 和 SUN 的支持
缺点: 文件体积比较大, 200 多 KB ,初次下载相当慢,此外, dojo 的类库使用显得不是那么易用, js 语法增强方面不如 prototype 。


Prototype ( JS  OO  library )
是一个非常优雅的 JS 库,定义了 JS 的面向对象扩展, DOM 操作 API ,事件等等, 以prototype 为核心,形成了一个外围的各种各样的 JS 扩展库,是相当有前途的 JS 底层框架 ,值得推荐,感觉也是现实中应用最广的库类( RoR 集成的 AJAX JS 库 ) ,之上还有Scriptaculous 实现一些 JS 组件功能和效果。本人用的最多的也是这个。
优点 : 基本底层 , 易学易用 , 甚至是其他一些 js 特效开发包的底层 , 体积算是最小的了。
缺点: 如果说缺点,可能就是功能是他的弱项

Scriptaculous( JS UI component  based  on  prototype )
Scriptaculous 是基于 prototype.js 框架的 JS 效果。包含了 6 个 js 文件,不同的文件对应不同的 js 效果 , 所以说 , 如果底层用 prototype 的话 , 做 js 效果用 Scriptaculous 那是再合适不过的了,连大名鼎鼎的 digg 都在用他,可见不一般
优点: 基于 prototype 是最大的优点,由于使用 prototype 的广泛性,无疑对用户锦上添花,并且在《 ajax in action 》中就拿 Scriptaculous 来讲述 js 效果
缺点: 刚刚兴起,需要时间的磨练

yui-ext ( JS UI   component )
基于 Yahoo UI 的扩展包 yui-ext 是具有 CS 风格的 Web 用户界面组件能实现复杂 的Layout 布局 , 界面效果可以和 backbase 媲美 , 而且使用纯 javascript 代码开发 。 真正的可编辑的表格 Edit Grid , 支持 XML 和 Json 数据类型 , 直接可以迁入 grid 。 许多组件实现了对数据源的支持,例如动态的布局,可编辑的表格控件,动态加载的 Tree 控件、动态拖拽效果等等。 1.0 beta 版开始同 Jquery 合作,推出基于 jQuery 的 Ext 1.0 ,提供了更多有趣的功能 。
优点: 结构化,类似于 java 的结构,清晰明了,底层用到了 Jquery 的一些函数 , 使整合使用有了选择,最重要的一点是界面太让让人震撼了。
缺点: 太过复杂,整个界面的构造过于复杂。

Jquery
jQuery 是一款同 prototype 一样优秀 js 开发库类,特别是对 css 和 XPath 的支持,使我们写 js 变得更加方便!如果你不是个 js 高手又想写出优秀的 js 效果, jQuery 可以帮你达到
目的!并且 简洁 的语法和高的效率一直是 jQuery 追求的目标 。

优点: 注重 简洁 和高效, js 效果有 yui-ext 的选择,因为 yui-ext 重用了很多jQuery的函数
缺点: 据说太嫩,历史不悠久。

Mochikit 
MochiKit 自称为一个轻量级的 js 框架。 MochiKit 主要受到 Python 和 Python 标准库提供的很多便利之处的启发,另外还缓解了浏览器版本之间的不一致性。其中的MochiKit.DOM 尤其方便,能够以比原始 JavaScript 更友好的方式处理 DOM 对象。MochiKit.DOM 大部分都是针对 XHTML 文档定制的,如果与 MochiKit 和 Ajax 结合在一起,使用 XHTML 包装的微格式尤其方便。 Mochikit 可以直接对字符串或者数字格式化输出,比较实用和方便。它还有自己的 js 代码解释器
优点: MochiKit.DOM 这部分很实用,简介也是很突出的
缺点: 轻量级的缺点

mootools 
MooTools 是一个简洁 , 模块化 , 面向对象的 JavaScript 框架 。 它能够帮助你更快 , 更简单地编写可扩展和兼容性强的 JavaScript 代码 。 Mootools 跟 prototypejs 相类似 , 语法几乎一样 。 但它提供的功能要比 prototypejs 多 , 而且更强大 。 比如增加了动画特效 、 拖放操作等等 。
优点: 可以定制自己所需要的功能,可以说是 prototypejs 的增强版。
缺点: 不大不小,具体应用具体分析

moo.fx
moo.fx 是一个超级轻量级的 javascript 特效库( 7k ) , 能够与 prototype.js 或 mootools 框架一起使用。它非常快、易于使用、跨浏览器、符合标准,提供控制和修改任何 HTML 元素的 CSS 属性,包括颜色。它内置检查器能够防止用户通过多次或疯狂点击来破坏效果。moo.fx 整体采用模块化设计,所以可以在它的基础上开发你需要的任何特效。
优点: 小块头有大能耐
缺点: 这么小了,已经不错了

标签:dojo,框架,JS,js,缺点,MochiKit,prototype,几款
From: https://blog.51cto.com/u_11295556/5911876

相关文章

  • 使用Sencha Touch框架开发Twitter搜索应用
    目前,Android和iphone两大主流手机的应用开发吸引了大批开发人员的眼光。而开发人员最期望的是能尽可能运用旧有的技术知识,去设计这些新的应用,因此出......
  • 小米AI推理框架MACE介绍
    MACE是小米公司自研的移动端深度学习框架MobileAIComputeEngine,2017年12月15日于公司内部正式发布。2018年6月28日,在“2018(第十三届)开源中国开源世界高峰论坛”上,小米......
  • 利用jsjiami保护我们的代码成果
    前言之前看到某程序员因为公司的业务需求作为驱动力而开发的一款工具,可以将json转换为sql语句。只看了个标题和demo,没细致看,估计大致实现流程如下。将json串转化为json对象,......
  • 制作nodejs镜像
    DockerfileFROMubuntu:22.04#wgethttps://nodejs.org/dist/v16.17.0/node-v16.17.0-linux-x64.tar.gz#wgethttps://github.com/yarnpkg/yarn/releases/download/v......
  • js中filter过滤用法总结
    定义和用法filter()方法创建一个新的数组,新数组中的元素是通过检查指定数组中符合条件的所有元素。注意:filter()不会对空数组进行检测。注意:filter()不会改变原始数组......
  • vs 使用第三方库配置jsoncpp
    https://blog.csdn.net/hml111666/article/details/127227992?spm=1001.2101.3001.6650.1&utm_medium=distribute.pc_relevant.none-task-blog-2%7Edefault%7EBlogCommendF......
  • 《重构》、《js高级程序设计》一些笔记知识点
    《重构(第2版):改善既有代码的设计》1.函数命名:以它“做什么”来命名,而不是以它“怎么做”来命名。 一个改进函数名字的好方法:先写一句注释描述这个函数的用途,再把这......
  • Threejs:创建文字
    1.DOM+CSS2.将文字绘制到画布中,并将其用作Texture(纹理)如果你希望在three.js的场景中的平面上轻松地绘制文本,请使用此方法。3.在你所喜欢的3D软件里创建模型,并导......
  • js多个(N)个数组的的元素组合排序算法,多维数组的排列组合或多个数组之间的排列组合
    现在有一批手机,其中颜色有['白色','黑色','金色','粉红色'];内存大小有['16G','32G','64G','128G'],版本有['移动','联通','电信'],要求写一个算法,实现[['白色','16G','移动'......
  • 用最少的代码打造一个Mini版的gRPC框架
    在《用最少的代码模拟gRPC四种消息交换模式》中,我使用很简单的代码模拟了gRPC四种消息交换模式(Unary、ClientStreaming、ServerStreaming和DuplexStreaming),现在我们更近......