Xajax

Xajax
Xajax

?
Información general
Última versión estable 0.6 beta 1
26 de enero de 2009
Género ?
Licencia GPL (0.2x) / BSD (0.5/0.6)
En español ?

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.

Contenido

Introducción

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 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();

Características

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 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);"

Enlaces externos


Wikimedia foundation. 2010.

Игры ⚽ Поможем написать курсовую

Mira otros diccionarios:

  • Xajax — is an open source PHP class library implementation of AJAX that allows developers to create web based Ajax applications using HTML, CSS, JavaScript, and PHP. Applications developed with xajax can asynchronously call server side PHP functions and… …   Wikipedia

  • Xajax — Ajax Framework Basisdaten Entwickler Open Source A …   Deutsch Wikipedia

  • Xajax — Тип PHP и Javascript библиотека Разработчик Jared White J. Max Wilson ОС Кроссплатформенное программное обеспечение Версия 0.2.5 / 0.5 final (25 января 2009) …   Википедия

  • xajax — Тип PHP и Javascript библиотека Разработчик Jared White J. Max Wilson Операционная система Кроссплатформенное программное обеспечение Последняя версия 0.6 beta 1 (31 августа 2010) Лицензия GPL(0.2.x) / …   Википедия

  • Prototype — Saltar a navegación, búsqueda Prototype es un framework escrito en JavaScript que se orienta al desarrollo sencillo y dinámico de aplicaciones web. Es una herramienta que implementa las técnicas AJAX y su potencial es aprovechado al máximo cuando …   Wikipedia Español

  • List of PHP libraries — This is the present list of all officially documented libraries for the PHP programming language. Apache BCMath Bzip2 Calendars CCVS COM ClibPDF cURL Cybercash DB2 dBase DBM dbx DB++ DOM XML .NET FileMaker Pro FrontBase filePro …   Wikipedia

  • PhpXCore — Infobox Software name = phpXCore caption = latest release version = rev.1148 latest release date = 15 June 2007 developer = operating system = Cross platform genre = content management framework license = GNU GPL website =… …   Wikipedia

  • List of Ajax frameworks — This is a list of notable Ajax frameworks, used for creating web applications with a dynamic link between the client and the server. JavaScriptJavaScript Frameworks are browser side frameworks very commonly used in Ajax development. There are… …   Wikipedia

  • Cadre d'Application AJAX — AJAX n est pas une technologie, c est un ensemble d outils qui permet de construire des pages web dynamiques côté client. Les données sont échangées avec le serveur par des requêtes HTTP générées en Javascript, et le serveur effectue des… …   Wikipédia en Français

  • Cadre d'application AJAX — AJAX n est pas une technique, c est un ensemble d outils qui permet de construire des pages web dynamiques côté client. Les données sont échangées avec le serveur par des requêtes HTTP générées en Javascript, et le serveur effectue des… …   Wikipédia en Français

Compartir el artículo y extractos

Link directo
Do a right-click on the link above
and select “Copy Link”