首先申明,我对Javascript 认识很浅,这方面算个入门新手,所以我的认识不一定正确,但是这也应该代表了一些新手普遍思想,如果有精通的朋友提出看法,那相当感谢。
说实话,以前是瞧不起Javascript 认为这个东西比较初级,而且无设计可言、代码无规范、调试困难,是个小技。但最近机缘巧合,开始看Couchdb
,这个东西和Javascript 关联挺深,于是也看了看Javascript 发现以前的认识实在很片面、浅薄,原来Javascript也可以有很好的设计,而且其强大的功能和应用领域,也是自己没有想到的。
看Javascript 的第一步,是在论坛里Web 前端技术版里,潜水了一天,大概知道了猪是怎么跑的,接下来可以找猪肉吃了。
因为我比较懒,于是直接使用框架吧,但是使用框架,有一个非常烦人的事情,就是框架不止一个,你怎么选?根据潜水的了解,认为Jquery 和Mootools 比较适合自己的情况。
接下来谈谈自己对这两个框架的看法吧:
no code say hammer:
$(document).ready(function() {
// generate markup
var ratingMarkup = ["Please rate: "];
for(var i=1; i <= 5; i++) {
ratingMarkup[ratingMarkup.length] = "<a href='#'>" + i + "</a> ";
}
// add markup to container and applier click handlers to anchors
$("#rating").append( ratingMarkup.join('') ).find("a").click(function(e) {
e.preventDefault();
// send requests
$.post("rate.php", {rating: $(this).html()}, function(xml) {
// format result
var result = [
"Thanks for rating, current average: ",
$("average", xml).text(),
", number of votes: ",
$("count", xml).text()
];
// output result
$("#rating").html(result.join(''));
} );
});
});
这段Jquery 代码,让人觉得,真是省事,如果自己拿Javascript 来写,会麻烦很多。
再看一段mootools 代码:
var gallery = $('gallery');
var addImages = function(images) {
images.each(function(image) {
var el = new Element('div', {'class': 'preview'});
var name = new Element('h3', {'html': image.name}).inject(el);
var desc = new Element('span', {'html': image.description}).inject(name, 'after');
var img = new Element('img', {'src': images_path + image.src}).inject(desc, 'after');
var footer = new Element('span').inject(img, 'after');
if (image.views > 50 && image.views < 250) footer.set({'html': 'popular', 'class': 'popular'});
else if (image.views > 250) footer.set({'html': 'SUPERpopular', 'class': 'SUPERpopular'});
else footer.set({'html': 'normal', 'class': 'normal'});
el.inject(gallery);
});
};
$('loadJson').addEvent('click', function(e) {
e.stop();
var request = new Request.JSON({
url: demo_path + 'data.json',
onComplete: function(jsonObj) {
addImages(jsonObj.previews);
}
}).send();
});
这两段代码其实并不全面,比如Jquery 的强大的选择器,以及庞大的插件数量。
我觉得,这两个框架的代码风格是最大的区别,
比如这句:
$("#rating").append( ratingMarkup.join('') ).find("a").click(function(e)
很多事一行代码就搞定了,非常简单。
而Mootools 就用了另一种做法,是全部基于对象的,比如一个DOM元素是选择器返回的一个对象,对点击链接的响应,不是直接.click 而是,在调用元素对象的addEvent()方法。
最后,对DOM 进行生成,也是采用了new Element() 创建元素对象,然后使用对象的inject()方法对元素进行组合。对Ajax 请求的发送,也是比较漂亮的写法。
作为一个老的Java ,新的Ruby 编程人员,我的肯定是看Mootools 的代码更加舒服,符合我的思维习惯,而且我觉得我可以慢慢利用面向对象的设计能力,将代码重构复用,甚至能比Jquery 更加简单。
这个让我想起了很多年前,对ORM 的处理,以前大家都是在jsp 或servlet 里写sql 查询,然后处理resultset 的,当时有一大批sql 高手,放到现在都可以当DBA 呵呵。ORM 一出来,大家也不理解,这个要处理成对象,太别扭了,以前很简单就能做到的事,现在很麻烦,一点都不爽。当然后来ORM 还是慢慢占了上风,但直接写sql 也是可行的方案。
总结:
个人:如果你是个纯粹的前端开发人员,以前没有什么面向对象语言(Java、Ruby 等)和设计的基础,那请使用Jquery。否则,请使用Mootools
企业:如果希望能够快速见到效益,在乎成本,也不打算在技术上大的投入,请使用Jquery ,如果有一定素质的面向对象设计人才,希望企业能够在长期有一个技术优势,请使用Mootools
分享到:
相关推荐
然而,原生JavaScript的API庞大且不统一,为了简化开发,社区创造了一系列的框架,其中jQuery、MooTools和Prototype是三个非常著名的JavaScript库。这些框架提供了一致的接口,增强了DOM操作,简化了事件处理,并...
四种时兴的框架jQuery,Mootools,Dojo,ExtJS的对比
在Web开发中,处理日期和时间是常见的需求,jQuery和MooTools作为JavaScript库,都提供了丰富的功能和插件来简化这一过程。本篇文章将深入探讨名为"jquery_mootools_date_plugn"的项目,它是如何将jQuery的灵活性与...
Prototype、jQuery和MooTools是三个非常流行的JavaScript库,它们都旨在简化JavaScript编程,提高开发效率。下面将对这三个库进行详细介绍。 Prototype是最早的JavaScript库之一,由Sam Stephenson于2005年创建。它...
### 四种流行的AJAX框架对比分析:jQuery, Mootools, Dojo, ExtJS #### 一、jQuery **主页**: <http://jquery.com/> **设计思想**: - **简洁性**: 几乎所有操作都始于选择DOM元素,并对其进行操作(支持Chaining...
### 浅析JQuery框架及其插件应用 #### 一、jQuery框架概述 JQuery,一个由美国程序员John Resig创建的JavaScript库,自诞生以来迅速成为全球开发者钟爱的工具之一。它以“写得少,做得多”(WRITELESS,DOMORE)的...
标题中的"jquery,mootools,ext3,prototype对class选择符速度比较"指的是对四个流行的JavaScript库——jQuery、MooTools、EXT3和Prototype——在处理CSS类选择器时的性能进行的比较测试。这些库在Web开发中广泛用于...
【Mootools和JQuery的比较】 Mootools和JQuery是两个著名的JavaScript库,它们在Web开发中被广泛用于简化DOM操作、事件处理、动画效果和Ajax交互。虽然两者都旨在提高前端开发效率,但它们的设计理念和实现方式存在...
`jQuery`和`MooTools`都是流行的JavaScript库,它们提供了丰富的功能,包括方便的表单验证。本文将深入探讨表单验证的概念,以及如何使用`jQuery`和`MooTools`来实现这一功能。 首先,让我们理解表单验证的基本概念...
标题 "300+Jquery, CSS, MooTools 和 JS的导航菜单" 涵盖了四个关键领域:jQuery、CSS、MooTools以及JavaScript,这些都是网页开发中的核心技术。这些技术用于创建动态、交互式的网站导航菜单,为用户提供更丰富的...
以下是关于如何在jQuery、mootools和Dojo中使用编程别名的一些知识点: 1. jQuery中的别名使用: jQuery是一个非常流行的JavaScript库,它提供了一套简洁的方法来进行DOM操作和AJAX调用等。在使用jQuery时,一个...
一个简单的斑马纹表格,通过IE6/7/8、firefox、opera等浏览器测试。如果页面上有大量的表格数据时,隔行变色的...提示, jquery 与mootools存在一定的冲突,jquery与mootools混合的环境未测试过,不一定保证可正常使用
**Mootools与jQuery是两种流行的JavaScript库,它们极大地简化了网页动态效果的实现和DOM操作,提高了开发效率。** **Mootools** Mootools是一个面向对象的JavaScript框架,以其模块化、高性能和对浏览器的广泛兼容...
在Web开发领域,JavaScript库如jQuery和MooTools是开发者的重要工具。这两个库都提供了丰富的API,简化了DOM操作,事件处理,动画效果,以及AJAX交互。下面将详细探讨jQuery和Mootools的相关知识点。 **一、jQuery*...
MooTools是一款强大的JavaScript库,它提供了一套优雅的面向对象的编程接口和实用的工具集,便于开发者创建高效、可维护的Web应用程序。MooTools 1.4中文PDF手册与MooTools-Core-1.5.1.js是学习和使用MooTools的核心...
在给定的标题"JavaScript libraries--->jQuery, Prototype, Mootools, YUI, Extjs, Dojo"中,提到了五种著名的JavaScript库:jQuery、Prototype、Mootools、YUI和ExtJS。这些库都有各自的特性和优势,下面将详细介绍...
mootools.js可以生成较为复杂的、动态的网页交互效果,和jquery一样强大。。Mootools从Prototype.js中汲取了许多有益的设计理念,语法也和其极其类似。但它提供的功能要比Prototype.js多,整体设计 也比Prototype.js...
3. **事件处理**:MooTools的事件系统允许绑定和解绑事件,同时支持事件冒泡和事件委托,方便地处理用户交互。 4. **动画效果**:通过Fx子模块,MooTools提供了强大的动画功能,可以实现平滑的CSS属性变化、过渡和...