Vamos a ver en plan rápido algunas de las maravillas que se han incluido en esta nueva versión, algunas se pedían a gritos y otras han ido surgiendo según la necesidad.
Utility.js
Ahora tenemos soporte para detectar el navegador del cliente.
//devuelve true
window.ie7
Array.js
Por fin tenemos map, filter y compañia, son una gozada, también han incluido la función $each para poder iterar argumentos.
Element.js
El día que se publico en el foro la gente se emociono, es lógico ya que Valerio la había liado, es cierto que en jQuery ya viene implementado, pero bueno, nosotros también podemos soñar.
La joya es $$, con esta función podemos acceder al contenido y aplicar las funciones de Element sin necesidad de iterar.
//Antes haciamos
$$('.class').each(function(el) {
el.addClass('red');
});
//Ahora
$$('.class').addClass('red');
Event.js
Esto se pedía a gritos y por fin tenemos una clase para manejar los eventos, incluso con soporte para la rueda del ratón.
function myFunction(event){
alert(event.clientx) //returns the coordinates of the mouse..
};
myElement.onclick = myFunction.bindWithEvent(myElement);
or
//si lo queremos usar de otra forma.
myElement.onclick = function(event){
var event = new Event(event);
};
Funtcion.js
Han añadido la función create para poder crear funciones a medida, de paso han metido attempt que es como el Try.These de prototype.
Color.js
Clase para poder crear y manipular los colores, añadir saturación , mezclar, etc.
var black = new Color('#000');
var purple = new Color([255,0,255]);
// mix black with white and purple, each time at 10% of the new color
var darkpurple = black.mix('#fff', purple, 10);
$('myDiv').setStyle('background-color', darkpurple);
Common.js
Aquí también hay un par de maravillas, por un lado tenemos la clase Events, que es para añadir eventos y poderlos dispararlos en las clases, no son eventos como click y tal, sino eventos para las clases, como onStart, onComplete.
var myFx = new Fx.Style('element', 'opacity').addEvent('onComplete', function(){
alert('the effect is completed');
}).addEvent('onComplete', function(){
alert('I told you the effect is completed');
});
myFx.start(0,1);
Luego para acompañar a esta clase han creado Options, que convierte todos las opciones en evento si comienzan por "on". Todo esto se ve muy bien echando un vistazo a Fx.base o XHR.
Dom.js
Ojalá tuviéramos el mismo poder que jQuery. Aunque si no hacemos cosas muy complicadas accederemos al DOM de forma sencilla.
Hash.js
Esto no lo echaba de menos, pero siempre viene bien un manejador para los objetos (poder seleccionar los keys, values
y esas cosas)
var hash = new Hash({a: 'hi', b: 'world', c: 'howdy'});
hash.remove('b'); // b is removed.
hash.set('c', 'hello');
hash.get('c'); // returns 'hello'
hash.length // returns 2 (a and b)
Cosa rápida para ir entrando en calor no?. Aun nos queda la otra mitad del código.