Teniendo un reto de una semana de hacer una pagina web para el centro cultural de mi universidad me tope con muchas cosas nuevas entre las que me impacto mucho es Ajax:
La cual es una herramiente muy util para desarrollares Web en la cual desean no perder mucho tiempo al actulizar la pagina , cuando por ejemplo solo queremos actualizar una sección de una pagina.Como casi todos los programdores novatos e inexpertos pensariamos en hacer dos plantillas y que una llame a la otra, pero antes de cometer una pequeña dosis de perdida del tiempo para el usuario, descubri Ajax.
Ajax significa segun la web :
AJAX, acrónimo de Asynchronous JavaScript And XML (JavaScript asíncrono y XML), es una técnica de desarrollo web para crear aplicaciones interactivas o RIA (Rich Internet Applications).
Éstas se ejecutan en el cliente, es decir, en el navegador de los usuarios y mantiene comunicación asíncrona con el servidor en segundo plano[muy importante para el desarrollo de nuestra pagina que querramos].
De esta forma es posible realizar cambios sobre la misma página sin necesidad de recargarla. Esto significa aumentar la interactividad, velocidad y usabilidad en la misma.
AJAX es una combinación de cuatro tecnologías ya existentes:
* XHTML (o HTML) y hojas de estilos en cascada (CSS) para el diseño que acompaña a la información.
* Document Object Model (DOM) accedido con un lenguaje de scripting por parte del usuario, especialmente implementaciones ECMAScript como JavaScript y JScript, para mostrar e interactuar dinámicamente con la información presentada.
* El objeto XMLHttpRequest para intercambiar datos asincrónicamente con el servidor web. En algunos frameworks y en algunas situaciones concretas, se usa un objeto iframe en lugar del XMLHttpRequest para realizar dichos intercambios.
* XML es el formato usado comúnmente para la transferencia de vuelta al servidor, aunque cualquier formato puede funcionar, incluyendo HTML preformateado, texto plano, JSON y hasta EBML.
Como el DHTML, LAMP o SPA, AJAX no constituye una tecnología en sí, sino que es un término que engloba a un grupo de éstas que trabajan conjuntamente.
Pero en si deque se trata, veamos un ejemplo.
¿Qué es AJAX?
Imaginemos que estamos haciendo un formulario web de registro de
clientes que tiene cuarenta campos. Tres de esos campos son combos
para “departamento”, “provincia” y
“distrito”. Al seleccionar un “departamento”,
el combo “provincia” se debe actualizar con el contenido
correspondiente. De igual manera, al seleccionar una “provincia”:
sus distritos correspondientes deberán aparecer en su
respectivo combo. Para implementarlo tenemos dos maneras:
* Colocar en el evento “onchange” de los combos un
submit() para que se envíe el formulario actual al
servidor, y éste devuelva el mismo formulario (sin perder los
valores de los demás campos) sólo para que actualice
las opciones de los combos afectados. Como se puede predecir, se
estaría desperdiciando el ancho de banda enviando todo un
formulario sólo para cambiar uno o dos campos. Eso, sin
contar que la programación de los submit() en el
lado del servidor debe estar contemplada para saber que lo que hizo
fue cambiar un combo o se presionó en el botón
“guardar”
* Cargar en javascript todos los
departamentos (26 opciones, considerando a Callao), todas las
provincias (195) y todos los distritos (1680), programar en
javascript, y actualizar los combos según convenga. En este
caso, se estaría enviando todas las opciones a elegir al
cliente sólo para que seleccione tres de todos ellos.
¿Por qué no combinamos ambas formas?
AJAX es una técnica en desarrollo web que consiste en la
mezcla de tecnologías existentes:
* XML / XSLT para el envío de datos en XML del servidor
al cliente (aunque también puede ser texto plano).
* DOM + Javascript para la manipulación de los datos
enviados del servidor.
* HTML / XHTML + CSS que
involucra a la presentación en lado del cliente.
La técnica consiste en pedir al servidor sólo lo
necesario para que nos devuelva tan sólo lo necesario. Si bien
el formulario – o cualquier página – presentada
por el servidor se hizo una vez, pueden haber partes de esa misma
página que se actualicen después y en cualquier
momento; de ahí el nombre AJAX: Asynchronous Javascript And
XML (Javascript y XML asíncronos).
Por ejemplo, cuando se va a redactar un correo electrónico
desde Yahoo! Mail, se puede escribir parte de la dirección,
nombre o alias del destinatario e irá apareciendo un listado
de los posibles nombres tomados de la lista de contactos.
A continuación, se mostrará cómo implementar
AJAX en nuestras aplicaciones Web. Primero, de una manera nativa.
Después, utilizando Ajax-Tags, una potente biblioteca de tags
disponible en
http://ajaxtags.sourceforge.net/.
Conociendo AJAX
Nuestro ejemplo consiste en listar nombres de tipos de producto en
un select. Al seleccionar uno de estos, se mostrarán
sus productos asociados en otro select.
Primero, debemos describir la forma cómo se van a recibir
los productos de un determinado tipo. Podemos utilizar el formato
text/plain, pero, a todas luces, el más recomendable es el XML
ya que podemos enviar en un sóolo archivo varios datos
estructurados.
Entonces, haremos un Servlet que devolverá un XML con los
productos de un determinado tipo enviado por parámetro. Por lo
tanto, utilizaremos el esquema MVC para recuperar la información
de una base de datos. Pero, para evitarnos problemas en la
configuración y llenado de información de la base de
datos, utilizaremos listas bajo el patrón DAO.
mas ejemplos |
diesil-javaFuentes
code.googlewikipediaajaxtags
diesil-java