MooTools 1.2

Desarrollo de software, Web June 18th, 2008

Por fin salió la nueva versión de MooTools, la versión 1.2 que promete ser una mejora completa de toda la librería de JavaScript.

Como he mencionado anteriormente he tenido buenas experiencias con esta librería, sería muy interesante volver a trabajar con ella un proyecto para estudiar esta nueva versión.

La gente de MooTools ha rediseñado también su página para el lanzamiento de la nueva versión incluyendo la página de la documentación y de las demostraciones.  La descarga del paquete se puede realizar desde una versión preconstruída o construír su propia distribución de core eligiendo que componentes agregar, ahora también con los módulos extra por separado.

Para la paz mental de los desarrolladores y facilitar la migración de proyectos de la versión 1.1 a la 1.2 han publicado dos scripts de compatibilidad para los componentes de core y lo adicionales.

Tantas cosas por aprender en tan poco tiempo.

Tags: ,

Manipulación fácil del DOM de una tabla con MooTools

Desarrollo de software, Web May 29th, 2008

Como mencioné anteriormente, he utilizado MooTools en algunos de los proyectos que he realizado con la Fundación donde trabajo. Una de las funcionalidades que frecuentemente se requiere implementar es la de permitir agregar y remover dinámicamente filas o registros a una tabla, para esto utilizamos JavaScript. El diseño que mas utilizamos es la mas simple de todas: manipular el DOM de la tabla localmente en el cliente y dejarle el trabajo a la aplicación del lado del servidor de manejar el almacenamiento de los registros.

Históricamente realicé una primera versión de esta funcionalidad utilizando las funciones de manipulación del árbol DOM de JavaScript pero no tenía experiencia con ellas y apenas estaba aprendiéndolas por lo que su diseño poco eficiente con una implementación terrible. Después conocí las librerías de JavaScript e hice una segunda versión utilizando MooTools; el resultado fue algo mejor, sin embargo no muy eficiente: debía crearse funciones JavaScript (implementación incluída) por cada tabla que se fuera a manipular :-|. Aún no conocía el buen uso de las funciones $ y $$.

Ahora he creado una nueva versión que como lo que me gusta ... es muy simple. Permite agregar y remover filas de cualquier tabla e inclusive permite manejar varias tablas en la misma página que se identifican con su atributo id a través de un único conjunto de funciones que se incluyen a través de una etiqueta <script>.

En el script se definen dos funciones: TDAgregarRegistro(tablaId) y TDRemoverRegistros(tablaId) que permite agregar y remover filas (seleccionadas) de una tabla respectivamente.

El usuario deberá por su parte definir las siguientes funciones para determinar comportamiento de las funciones base.

  1. obtEstructuraRegistro(tablaId): determina la estructura de las filas o registros de la tabla.
  2. obtPropiedadesCampo(tablaId): determina las propiedades o atributos de un campo de la tabla.
  3. obtPropiedadesFila(tablaId): determina las propiedades o atributos de una fila de la tabla.

Cada una de estas funciones recibe el id de la tabla a la cual se hace referencia, con este valor la función deberá determinar su respuesta, la cual es un arreglo asociativo. Por la simplicidad requerida por la solución, por ahora se soportan dos tipos de campos: de texto y de selección.

Enlaces:

Artículo relacionado: Manipulación fácil del DOM de una tabla con Prototype.

Tags: ,

Introducción a MooTools

Desarrollo de software, Web May 7th, 2008

MooTools es una librería de JavaScript que promete abstraer un nivel mas la generación de código en este lenguaje facilitando el desarrollo rápido e independiente de navegador. Incluye además soporte para efectos visuales, manipulación del árbol DOM, AJAX y JSON entre otras cositas interesantes.

Valerio Proietti, el desarrollador de MooTools lo define de las siguiente manera en su página web.

Object-Oriented JavaScript framework designed for the intermediate to advanced JavaScript developer. It allows you to write powerful, flexible, and cross-browser code with its elegant, well documented, and coherent API.

MooTools code respects strict standards and doesn't throw any warnings. It's well commented and has meaningful variable names: a joy to browse and a snap to understand.

MooTools is compatible and fully tested with Safari, internet explorer 6 and 7, Firefox (and its mozilla friends), Opera and Camino.

Hasta ahora no le he dado un uso extenso a la librería pero me ha parecido interesante y útil, lo suficiente para incluírla en dos de los proyectos que desarrollo en la Fundación.

A mi manera de ver esta librería tiene dos problemas que contrastan contra sus múltiples ventajas.

  1. Es el producto de un desarrollador versus el producto de una comunidad entera como sucede con otros proyectos de código abierto.
  2. La cantidad y calidad de la documentación que se encuentra en Internet es baja si se compara con otras librerías como Prototype.

Con respecto al segundo punto, mas allá del API, los demos y el Mootorial de CNET no he encontrado documentación oficial o elaborada. Hacen falta publicaciones y tutoriales completos y elaborados que permitan conocer de manera concisa y rápida a esta librería.

La excepción del comentario es el sitio de Jourmoly en el cual hay algunos artículos de MooTools que me fueron muy útiles hace un par de meses cuando estaba apenas aprendiendo y que aún me remito a ellos cuando entre tantos lenguajes y librerías se me olvidan algunos detalles.

Actualmente el sitio tiene publicados artículos acerca de los siguientes temas.

Tags: ,