Xajax
From Wikipedia, the free encyclopedia
| Xajax | ||
|---|---|---|
| Información general | ||
| Licencia | GPL (0.2x) / BSD (0.5/0.6) | |
| Versiones | ||
| Última versión estable | 0.6 beta 1 (26 de enero de 2009) | |
| Enlaces | ||
Xajax es una biblioteca código abierto de PHP capaz de generar aplicaciones Web con tecnología AJAX.
Xajax utiliza una forma de trabajo de funciones, designando qué funciones de código PHP se convierten en funciones AJAX.
AJAX se ha convertido en una de las tecnologías más populares para la creación de aplicaciones Web dinámicas. Por tal razón hay una gran cantidad de bibliotecas y frameworks que nos permiten hacer uso de esta tecnología de una manera sencilla y cómoda. Algunos de ellos son Prototype, script.aculo.us, Google Web Toolkit (GWT), Xajax entre otros. En este artículo se realizará una comparación entre las Web Tradicionales y la introducción de la tecnología AJAX en las mismas, pero principalmente se centrará en la implementación de AJAX utilizando la biblioteca Xajax.
Web Tradicional y la implementación de AJAX
Uno de los inconvenientes más comunes a la hora de diseñar una interfaz de aplicación Web es que una vez que la página se ha descargado en el cliente, la conexión con el servidor se corta. Cualquier intento de dinamismo en la interfaz por parte del cliente requiere una comunicación con el servidor para la recarga (proceso que tiende a convertir la aplicación poco elegante y lenta).
En el modelo tradicional de aplicaciones Web el usuario envía una petición al servidor requiriendo una página, la cual es construida y enviada al navegador. Esta página incluye un formulario HTML para capturar datos del usuario. Una vez que el usuario reenvía los datos al servidor, la siguiente página será generada y enviada dependiendo del valor de dichos datos, y así el proceso continúa. Supongamos una aplicación de escritorio para el registro de un número de serie. Según convenga, puede plantearse de diversas formas, una vez hemos terminado de rellenar los correspondientes cuadros de texto con los caracteres del código, podríamos hacer aparecer un tick verde a la derecha indicando que hemos introducido un código válido. Tan pronto como se introduce el código, la aplicación puede comprobar su validez y responder.
En contraste con el ejemplo anterior pero esta vez orientado en una interfaz Web. Por supuesto, todos los cuadros de textos donde introducir el código serán idénticos, pero al rellenarlos, el usuario tendrá que enviar esos datos al servidor para que este valide el código. Una nueva página será entonces cargada informando del éxito o fracaso de la operación, y en caso de fallo, el usuario tendrá que volver atrás e intentarlo de nuevo cuantas veces sea necesario. Una solución a estos problemas se presenta con el objeto XMLHttpRequest. Este objeto, ahora disponible como objeto nativo tanto en Firefox como en otros navegadores existentes, permite a JavaScript realizar peticiones al servidor remoto sin la necesidad de recargar la página. En esencia, pueden realizarse peticiones y recibir respuestas HTTP completamente en segundo plano y sin que el usuario experimente ninguna interrupción visual.
Con la introducción de AJAX (Ashyncronous JavaScript And XML) en aplicaciones Web el manejo del objeto XMLHttpRequest se hace mucho más sencillo. Cuando el usuario interactúa con la Web y genera un suceso, se crea y configura un objeto XMLHttpRequest, que posteriormente realiza una llamada al servidor solicitando el manejo de ese evento. La petición se procesa en el servidor y retorna una respuesta que puede ser un documento XML, texto plano, JavaScript, etc. que contienen el resultado de dicha petición. Luego el objeto XMLHttpRequest llama a la función callback() para procesar el resultado y finalmente se actualiza el DOM (Documen Object Model) de la página con la petición dependiendo del resultado devuelto.
De esta manera AJAX permite que la velocidad de navegación y dinamismo incrementen notablemente, dando como resultado aplicaciones Web rápidas y fáciles de usar.
Biblioteca Xajax
Xajax es una biblioteca de código abierto para PHP que permite crear de manera fácil y simple aplicaciones Web basadas en AJAX usando además HTML, CSS, y Javascript. Las aplicaciones desarrolladas con Xajax pueden comunicarse asíncronamente con funciones que se encuentran del lado del servidor y así actualizar el contenido de una página sin tener que recargarla nuevamente, su última versión es la 0.5 Final que cambia ligeramente comparado con las versiones anteriores 2.5.x y anteriores.
En un principio se crea una instancia de objeto Xajax (xajax object). Este objeto manejará todo el procesamiento a través de Xajax. En segundo lugar debemos registrar todas las funciones que hemos definido previamente en el objeto Xajax, esto se puede hacer usando el método xajax->register(). Finalmente todas las respuestas serán procesadas utilizando el método xajax->processRequest().
$objAjax = new xajax(); $objAjax->register(XAJAX_FUNCTION,'mi_funcion_1'); $objAjax->register(XAJAX_FUNCTION,'mi_funcion_2'); $objAjax->processRequest();