31 Mayo 2008

Comentarios y ejemplo con xajax - PHP Class Library

XAJaX es una librería de clases de código abierto elaborada en PHP que permite utilizar Ajax en aplicaciones web sin tener que programar directamente en JavaScript. Esto no significa que no se pueda utilizar JavaScript en una aplicación que esté utilizando XAJaX.

El programador simplemente elabora en PHP las funciones que actualizan el contenido de un objeto HTML (un DIV o un INPUT por ejemplo) y XAJaX se encarga de generar el código Javascript AJaX correspondiente a esas funciones en el momento de cargar la página.

En mi caso específico, he tenido la oportunidad de trabajar con esta librería y me ha gustado el hecho de no tener que elaborar el código Javascript para AjaX. En ocasiones he tenido que elaborar funciones que no actualizan contenido HTML sino más bien realizan únicamente operaciones en base de datos.

Para consultar información más detallada de esta librería, la página oficial del proyecto es: http://www.xajaxproject.org

Vamos a realizar un ejemplo sumamente sencillo de cómo puede utilizarse esta librería para actualizar dinámicamente el contenido de un objecto INPUT y de un objeto DIV.

El primer paso consiste en descargar la librería XajAx desde la página oficial (para este ejemplo se utilizó la versión 0.5 beta4 Compiled) y descomprimirla en una subcarpeta llamada xajax en la raíz donde vamos a ubicar los archivos de nuestro ejemplo. Los archivos que vamos a elaborar para nuestro ejemplo son: index.php (archivo principal que contiene los objetos HTML) y entorno_xajax.php (archivo con las funciones y el entorno XAJaX). La estructura de directorios y archivos de nuestro ejemplo sería la siguiente:

Primeramente vamos a crear nuestro archivo principal index.php que contiene los objetos HTML a ser actualizados dinámicamente:

Seguidamente vamos a crear el entorno de XAJaX (entorno_xajax.php) con las funciones encargadas de actualizar los contenidos de los objetos HTML (Archivo entorno_xajax.php):

Este ha sido un ejemplo muy sencillo de la utilización de XAJaX. Sin embargo, hay más cosas que se pueden llevar a cabo con esta librería (tema que está más allá del alcance de este artículo).

Descargar acá el ejemplo completo: ejemplo_xajax.zip



28 Mayo 2008

AJAX Libraries API

Las Bibliotecas AJAX API es una red de distribución de contenido y una arquitectura de carga de las bibliotecas más populares de JavaScript. Al utilizar el método google.load() la aplicación pude tener un acceso de alta velocidad (disponible globalmente) a las siguientes bibliotecas:

Google se encarga de administrar y aceptar las versiones estables más recientes, lo que aliviana el trabajo del programador por un lado para que se despreocupe de esta tarea.

Una ventaja de rendimiento es que si un usuario utiliza varios sitios que referencian al mismo javascript entonces la versión en caché beneficia a todos los sitios y a la experiencia del usuario en general. Sin embargo esto es discutible ya que tendría que ocurrir que la mayoría de los sitios comiencen a utilizar a google como su repositorio de código javascript.

Mas información en: AJAX Libraries API



3 Mayo 2008

¿Qué es WAI-ARIA? ¿Cómo hacer un sitio web en Ajax y que sea accesible?

Existe una tendencia fuerte en el mundo web 2.0 a realizar cada vez más aplicaciones basadas en Ajax, Javascript, etc; esto representa una dificultad para las personas con discapacidad visual que utiliza lectores de pantalla, o en algunos casos para aquellas personas que no pueden utilizar un mouse por discapacidades motoras.

Ante esta necesidad, nació el proyecto WAI- ARIA (Accessible Rich Internet Applications), como un esfuerzo para encarar el problema, y lograr que los desarrolladores de sitios web podamos crear aplicaciones con contenido dinámico, basadas en Ajax incluso, sin dejar de lado el hacer un proyecto totalmente accesible para personas con este tipo de discapacidad.

El proyecto está avanzado y ya existe una especificación técnica como parte de lo que se lleva de este trabajo, la cual tiene fecha de febrero 2008. Los fabricantes de navegadores prestan atención a esta iniciativa, e incluso Microsoft anunció que contará con soporte para esas especificaciones en su Internet Explorer 8.

Más información:

http://www.w3.org/WAI/intro/aria
http://www.w3.org/WAI/guid-tech.html