mayo 28, 2006

Cómo funciona y por qué usar AJAX?

No hace mucho tiempo me enteré de una nueva tecnología que aprovecha a XML y javascript para hacer a nuestras aplicaciones WEB más responsivas y en la web encontré lo que a continuación expreso.

El Web y Ajax

Problema: La recarga de una vista o página anteriormente cargada cuando lo único que se va a modificar entre request y request son sólo datos. La vista sigue siendo la misma. Es decir de evita el rearmado de la vista con los nuevos datos y el viaje de la misma desde el servidor.

Causas: La coomunicación entres el cliente y el servidor es a través de request -peticiones- Y se deja que le servidor genere una nueva vista, pero con los nuevos datos cargados para que el cliente los visualice, cuando en realidad la misma sigue igual, sólo modifica sus datos.

Solución: Separar los datos de la vista. Mediante el uso de un pequeño controlador invoker del lado del cliente dentro de la vista, que administre los datos. Mediante el uso del modelo de objetos del navegador y scripting del lado del cliente se realiza la carga y manejo de datos sobre la vista anteriormente solicitada sin necesidad de realizar un request cuando es posible con los datos actuales. Y al momento de necesitar una acción del servidor para obtener más datos, se realiza la misma evitando la recarga de la vista que continuo siendo la misma.

Ventajas:
1) Solución simple de implementar.
2) Permite obtener datos bajo demanda y luego visualizarlos sin recargar las vistas.
3) Las vistas no se ven afectadas en cuanto a tamaño y éstas pueden ser cacheadas por el navegador ya que las mismas no expirarían continuamente ya que sus datos son manejados independientemente de la presentación.
4) Las vistas no son reescritas por el servidor por lo que separa más la vista en si de los datos, permitiendo un mejor manejo por los diseñadores.

Desventajas:
1) Utiliza frames ocultos.
2) Utiliza más scriptting del lado del cliente

Resumen: Con Ajax se evita la recarga de las vistas cunado no es necesario cambiarla, sino que busca los datos y carga a los mismo en la vista.

No hay comentarios.: