ExtJS4: Las novedades

SenchaSegún una entrada en el blog oficial de Sencha, ExtJS4 está a la vuelta de la esquina con grandes novedades, siendo la que se anuncia en dicha entrada el nuevo sistema de clases.

Historicamente, ExtJS utilizó un esquema de clases basado en herencia simple (un objeto tiene un único padre) que se ajusta más a lenguajes oop típicos (Java y C# por nombrar algunos) que a JavaScript, donde la flexibilidad del lenguaje permite implementar soluciones mucho más potentes y sencillas.

Con ExtJS4 parece haber un gran giro de timón al respecto, en el que complementan la herencia simple con un sistema de mixins en el que las “clases” bases toman características de múltiples fuentes.

/*
 * Se define una composición de objetos, heredando directamente de
 * Sample.Person e implementando distintos mixins
 */
Ext.define('Sample.Musician', {
    extend: 'Sample.Person',

    mixins: {
        guitar: 'Sample.ability.CanPlayGuitar',
        compose: 'Sample.ability.CanComposeSongs',
        sing: 'Sample.ability.CanSing'
    }
});

Este tipo de implementaciones permiten al desarrollador generar sus propios componentes con la libertad de definirlo de acuerdo a sus necesidades y no a la aproximación de un objeto (como suele darse con la herencia simple).

Mixins en accion

Mixins en accion

Aprovechando esta nueva característica, se incluye un sistema de dependencias que cubre un gran vacío existente actualmente en ExtJS: la modularidad.
Hoy por hoy, ExtJS se sirve en un gran archivo concatenado al cual se le suman unas pocas dependencias externas que suelen ser plugins o archivos muy específicos (caso de los archivos locale). Con el nuevo sistema, se realizará la carga bajo demanda para los modulos requeridos (incluso recursivamente para los que requiera el modulo en cuestión).

// requerimos el archivo
Ext.require('Ext.Window', function() {
    // y asincronicamente realizamos la tarea
    new Ext.Window({
        title : 'Loaded Dynamically!',
        width : 200,
        height: 100
    }).show();
});

A estos cambios se le suma la no menos importante reducción significativa del markup de los widgets (que hoy por hoy puede alcanzar niveles de anidamiento alarmantes) lo cual impactará directamente en el rendimiento, permitiendo tener grillas de alta performance, uno de los puntos más flacos de ExtJS en relación a otras librerías (SlickGrid por ejemplo).

Leer más:



Discussion has just started! Join in...



Pings to this post

  1. [...] ExtJS4: Las novedades (Aijoona) Tags: ExtJS Frameworks Javascript Respond Trackback Comments RSS [...]


Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos necesarios están marcados *

Comment

You may use these tags : <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>