jueves, 15 de enero de 2009

Componentes en Javascript

Un recurso poco utilizado a veces desconocido por los desarrolladores es la posibilidad de construir clases en javascript, este es un recurso que de dominarlo nos habre muchas posibilidades debido a que nos proporciona una forma de encapsular la logica de una aplicacion de internet en una clase la cual puede ser instanciada y asu vez facilita la reutilizacion de codigo.

Aunque parezca increible todo en javascript son objetos, desde los tipos de datos, hasta las mismas funciones. Aunque no es muy facil comprender al lenguaje en este aspecto debido a que la sintaxis y la forma como javascript lo implementa es diferente de como estamos acostumbrados, lo que en un principio puede confundirnos.

Para iniciarnos en el tema podemos crear un ejemplo sencillo el cual se refiere a un objeto llamado ferrari, el cual es un vehiculo que tiene propiedades tales como el color, asientos, etc; asi como metodos como pueden ser arranque, apagado, desplazamiento;

var ferrari = new Object({
color : "Rojo",
asientos : 2,
arranque : function(){
alert("Hola Michael!!");
alert("brum, brum");
},
desplazamiento: function(){
alert("Ruuuunnnn");
},
apagar : function(){
alert("Adios Michael!!");
}
});


En el ejemplo estamos creando un objeto instanciandolo de la clase Object la cual les parecera conocida a muchos, de esta manera estamos agregandole a nuestro objeto propiedades y metodos los cuales seran los que utilizemos en el entorno del sistema.

La manera de acceder a las propiedades de nuestro objeto es llamando a nuestro objeto seguido de un punto y a continuacion el nombre de nuestra propiedad y/o evento.


ferrari.color = "Verde";

ferrari.
arranque(); // Hola Michael!!
ferrari.
desplazamiento(); // Nos movemos
ferrari.
apagar(); // Nos hemos detenido

De esta manera JavaScript no da la oportunidad de que podamos crear todo tipo de componentes, encapsulando toda su funcionalidad en clases los cuales nos permiten reutilizarlos en nuestros proyectos de manera sencilla. con los cual no deberiamos de por que sufrir creando funciones y mas funciones independientes que en nada ayudan a la ingenieria de software y que a su vez complican demaciado los futuros mantenimientos asi como la escalabilidad de nuestras aplicaciones.

1 comentario:

  1. Daniel Portales [Dan]16 de enero de 2009, 14:40

    Efectivamente.

    Todos (o casi todos) los frameworks en JS (MooTools, jQuery) utilizan componentes que se basan en ese tipo de objetos basados en clases. En el caso de MooTools el simple uso de su librería CORE permite extender estos objetos para poder aplicar muchas funcionalidades, ya sean funciones de ordenación, conversión de tipos, manejo de arrays, etc.

    Como dice en la documentación de MooTools:
    "Cuando usted entienda como funciona MooTools ya no estará programando en Javascript, estará programando en un lenguaje diferente!" ..Y no está tan lejos de ser cierto.

    Estaré pendiente de este blog en particular debido a mi nula-poca experiencia en ASP.

    ~ Saludos!

    ResponderEliminar

Agradesco todos sus comentarios.