¿QUE ES XAJAX?
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 éste 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
Java Script 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 Java
script. 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 ();
CARACTERISTICAS
En la actualidad se encuentran diversas clases de
bibliotecas y frameworks de AJAX disponibles para los
desarrolladores de aplicaciones Web. Algunas de ellas son Prototype y Script.aculo.us. Sin embargo para optar por estas soluciones los
desarrolladores deben tener un conocimiento, si bien no muy elevado, pero si
sólido de Javascript. Por tal hecho, la mayoría de ellos y sobre todo los que
utilizan PHP, al hacer uso de estos frameworks podrían
encontrar dificultades.
Por otro lado, la biblioteca Xajax es una
biblioteca puramente centrada en PHP. Con la introducción de la misma el manejo
de AJAX en PHP se hace mucho más sencillo y sobre todo solo se necesita
escribir sentencias muy cortas y simples en Javascript, lo que supone, según
sus creadores, una ventaja frente a otras soluciones.
Otras de las características son:
·
Xajax es
compatible con Google Chrome, Mozilla Firefox, Internet Explorer, Opera y Safari
·
Xajax
puede ser usado para actualizar estilos, clases CSS, botones de selección,
casillas de verificación y botones de radio o cualquier otro atributo de un
elemento
·
Cada
función registrada para ser accesible a través de Xajax puede tener distintos
tipos de petición.
FUNCIONAMIENTO
Paso 1: Incluir la biblioteca Xajax
Como primer paso debemos incluir la biblioteca
Xajax de la siguiente manera:
require_once("xajax.inc.php");
Paso 2: Creamos una instancia del objeto Xajax
$xajax = new xajax();
Paso 3: Registramos las funciones PHP que queremos
hacer accesibles desde JavaScript
$xajax->register(XAJAX_FUNCTION,"myFunction");
Paso 4: Escribimos las funciones PHP que vamos a
registrar, no hay que olvidarse de que debemos devolver el XML
Function myFunction($arg)
{
// coge
la variable $arg y haz alguna cosa con ella como realizar
// una
consulta a una base de datos y pone el resultado dentro de otra
//
variable, como $newContent
// Haz
una instancia del objeto xajaxResponse
$objResponse = new xajaxResponse();
// añade
un comando a la respuesta para asignar al atributo innerHTML
// del
elemento con id="SomeElementId" para que cambie su contenido a
$newContent
$objResponse->assign("SomeElementId","innerHTML",
$newContent);
//retorna la respuesta XML generada por el objeto
xajaxResponse
return
$objResponse;
}
Paso 5: Le indicamos a Xajax que procese las
peticiones:
$xajax->processRequest();
Paso 6: Debemos incluir el script Javascript entre
las cabeceras HEAD de nuestro código HTML
<?php $xajax->printJavascript(); ?>
Paso 7: Llamamos a la función desde un evento
cualquiera
Button onclick="xajax_myFunction
(SomeArgument);"



No hay comentarios.:
Publicar un comentario