<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Frogx.Three &#187; 10 razones de porque mooTools ha crecido tanto...</title>
	<atom:link href="http://www.frogx3.com/2007/09/04/10-razones-de-porque-mootools-ha-crecido-tanto/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.frogx3.com</link>
	<description>Blog de diseño con recursos para diseño y desarrollo web - Tutoriales, tips, snippets, iconos, recursos, plantillas</description>
	<lastBuildDate>Thu, 09 Feb 2012 20:00:11 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
<xhtml:meta xmlns:xhtml="http://www.w3.org/1999/xhtml" name="robots" content="noindex" />
		<item>
		<title>10 razones de porque mooTools ha crecido tanto</title>
		<link>http://www.frogx3.com/2007/09/04/10-razones-de-porque-mootools-ha-crecido-tanto/</link>
		<comments>http://www.frogx3.com/2007/09/04/10-razones-de-porque-mootools-ha-crecido-tanto/#comments</comments>
		<pubDate>Tue, 04 Sep 2007 21:52:05 +0000</pubDate>
		<dc:creator>Jorge</dc:creator>
				<enclosure url="" length="32000" type="image/" />
				<category><![CDATA[Ajax]]></category>
		<category><![CDATA[Javascript]]></category>
		<category><![CDATA[Librerías]]></category>
		<category><![CDATA[Open Source]]></category>
		<category><![CDATA[Web 2.0]]></category>

		<guid isPermaLink="false">http://www.frogx3.com/2007/09/04/10-razones-de-porque-mootools-ha-crecido-tanto/</guid>
		<description><![CDATA[Leyendo el blog de Andres veo una interesante traduccion que menciona 10 punto bastante interesantes de porque MooTools[web] es tan famoso, la lista original fue realizada por Christoph , por...]]></description> 
			<content:encoded><![CDATA[<p>Leyendo el blog de Andres veo una interesante traduccion que menciona 10 punto bastante interesantes de porque <strong>MooTools</strong>[<a href="http://www.mootools.net"  target="_blank">web</a>] es tan famoso, la lista original fue realizada por <a href="http://og5.net/wusch/?cat=articles&amp;shout=moo"  target="_blank">Christoph</a> , por mi lado desde el comienzo he utilizado <strong>prototype</strong>[<a href="http://www.prototypejs.org/"  target="_blank">web</a>] sin embargo ultimamente he estado tentado a probar esta libreria ya que he utilizado algunos scripts bastante interesantes y funcionan muy bien y son bastante potentes.</p>
<h3>1. No son solo efectos</h3>
<p>Mucha gente cree que MooTools es únicamente para hacer animaciones, efectos a todo elemento disponible en la página. Y MooTools tiene un montón de cosas más que hacen de este framework una maravilla, drag&amp;grop, manipulación del DOM, Extensión de funciones, Ajax, manipulación de cookies, assets, …</p>
<pre><code>var droppables = $$('div.dropper');
var container = $('containment');
new Drag.Move('dragger', {'container': container, 'droppables': droppables});

droppables.addEvent('over', function(){
	this.setStyle('background-color', '#000');
});

droppables.addEvent('leave', function(){
	this.setStyle('background-color', '#ff3300');
});

droppables.addEvent('drop', function(){
	this.setStyle('background-color', '#face8f');
});</code></pre>
<h3>2. Es modular</h3>
<p><strong>MooTools </strong>no es un solo un framework, es completamente modular y puedes personalizar no que necesitas descargar para ahorrarte peso de javascript. Esto quizas el usuario final no entienda o no le llame la atención, pero para un desarrollador es algo realmente digno de alabar ya que es realmente complicado conseguir un alto de grado de modularidad.</p>
<h3>3. Se lee como un libro</h3>
<p>Leer el código de MooTools es como leer un libro, la versión con código incluido es realmente explicita y simple de entender.</p>
<pre><code>/*
Function: $type
	Returns the type of object that matches the element passed in.

Arguments:
	obj - the object to inspect.

Example:
	&gt;var myString = 'hello';
	&gt;$type(myString); //returns "string"

Returns:
	'element' - if obj is a DOM element node
	'textnode' - if obj is a DOM text node
	'whitespace' - if obj is a DOM whitespace node
	'arguments' - if obj is an arguments object
	'object' - if obj is an object
	'string' - if obj is a string
	'number' - if obj is a number
	'boolean' - if obj is a boolean
	'function' - if obj is a function
	'regexp' - if obj is a regular expression
	'class' - if obj is a Class. (created with new Class, or the extend of another class).
	'collection' - if obj is a native htmlelements collection, such as childNodes, getElementsByTagName .. etc.
	false - (boolean) if the object is not defined or none of the above.
*/

function $type(obj){ ....}</code></pre>
<h3>4.  La comunidad alrededor ayuda</h3>
<p>Esto ocurre con todas las comunidades, así que no me parece un punto muy importante. Pero<a target="_blank" href="http://forum.mootools.net/"  onclick="javascript:urchinTracker('/outgoing/forum.mootools.net/');"> el foro de MooTools</a> no para de recibir preguntas y recibir respuestas.</p>
<pre><strong>Board statistics</strong>
    Total number of registered users: <strong>5056</strong>
    Total number of topics: <strong>5275</strong>
    Total number of posts: <strong>26414</strong></pre>
<h3>5.  Te ayuda a crear código orientado a objetos</h3>
<p>MooTools te permite desarrollar con un código orientado a objetos, esto debido a la capacidad que tiene de extender los objetos nativos del lenguaje.</p>
<pre><code>$('loadJson').addEvent('click', function(e) {
	e = new Event(e).stop();
	var url = 'http://demos.mootools.net/demos/Json.Remote/data.js';
	var request = new Json.Remote(url, {
		onComplete: function(jsonObj) {
			addImages(jsonObj.previews);
		}
	}).send();
});</code></pre>
<h3>6. Esto es todo acerca de $type</h3>
<p>El nativo <code>typeof()</code> de Javascript devuelve cosas similares a “<code>String</code>“, “<code>Number</code>“,… pero con MooTools <code>$type</code> nos lleva a otro nivel.</p>
<pre><code>var Monkey = new Class({
	initialize: function(){
		this.fruits = [];
	},
	giveFruit: function(fruit){
		//The Monkey only loves fruits!
		if($type(fruit)=='fruit')
			this.fruits.push(fruit);
		return this;
	}
});
var Banana = new Class({
	$family: 'fruit'
});

new Monkey().giveFruit(new Banana());</code></pre>
<h3>7. La creación de elementos es muy fácil</h3>
<p>Basta ver el código para ver lo fácil que es crear un elemento con MooTools.</p>
<pre><code>new Element('div', {
	'id': 'myDiv',
	'class': 'someClass',
	'styles': {
		'width': '0px',
		'height': '0px'
	},
	'events': {
		'click': function(){
			alert(this.getText()); //Alerts Hello
		}
	}
}).setText('Hello').injectInside(document.body).effects().start({
	'width': [0, 200],
	'height': [0, 100]
});</code></pre>
<h3>8. Gestores de eventos</h3>
<p>MooTools incorpora su propia gestión de eventos. Puedes gestionar los eventos de todo: Clases, elementos, …</p>
<p>La opción más simple, la de añadir una gestión de eventos sobre un elemento sería algo tan simple como esto:</p>
<pre><code>Element.Events.extend({
	'keyenter': {
		type: 'keyup',
		map: function(e){
			return e.key=='enter';
		}
	}
});

$('myInput').addEvent('keyenter', function(){
	doSomething...
	e.stop(); //Paramos la ejecución del proceso.
});</code></pre>
<h3>9 . Haz que se mueva</h3>
<p>Hacer que los elementos de tu página sean dragables (movibles) es tan fácil como esto:</p>
<pre><code>$('myElement').makeDraggable();</code></pre>
<h3>10. Hay plugins y extensiones mires donde mires.</h3>
<p>En este mismo blog <a target="_blank" href="http://www.anieto2k.com/?s=mootools" >he comentado muchas de las nuevas extensiones y nuevas funcionalidades que MooTools nos ofrece</a>, y gracias a la comunidad de detrás esto irá creciendo y aportando nuevas y valiosas aplicaciones, que harán las delicias de todos.</p>
<p>via <a href="http://www.anieto2k.com/2007/09/03/10-razones-por-las-que-mootools-es-fantastico/"  target="_blank">Anieto2k</a></p>
<!-- SimpleReach Slide Plugin Version: 0.6.0 -->
<script type='text/javascript' id='simplereach-slide-tag'>
    __spr_config = {
      pid: '4e4ae1a5c2b219358b000005',
      title: '10 razones de porque mooTools ha crecido tanto',
      ckw: 'Ajax,Javascript,Librerías,Open Source,Web 2.0',
      chan: '',
      no_slide: '',
      slide_logo: true,
      pub: '2007-09-05 03:52:05',
      url: 'http%3A%2F%2Fwww.frogx3.com%2F2007%2F09%2F04%2F10-razones-de-porque-mootools-ha-crecido-tanto%2F',
      header: 'TAMBIEN TE RECOMENDAMOS'
    };
    var content = document.getElementById('simplereach-slide-tag').parentNode, loc;
    if (content.className){ loc = '.' + content.className; }
    if (content.id){ loc = '#' + content.id; }
    __spr_config.loc = loc || content;
    (function(){
    var s = document.createElement('script');
      s.async = true;
      s.type = 'text/javascript';
      s.src = document.location.protocol + '//d8rk54i4mohrb.cloudfront.net/js/slide.js';
      __spr_config.css = 'document.location.protocol + '//d8rk54i4mohrb.cloudfront.net/css/p/4e4ae1a5c2b219358b000005.css';
      var tg = document.getElementsByTagName('head')[0];
      if (!tg) {tg = document.getElementsByTagName('body')[0];}
      if (tg) {tg.appendChild(s);}
    })();
</script>
]]></content:encoded>
			<wfw:commentRss>http://www.frogx3.com/2007/09/04/10-razones-de-porque-mootools-ha-crecido-tanto/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

