Monografias.com > Sin categoría
Descargar Imprimir Comentar Ver trabajos relacionados

Introducción a AJAX (página 2)




Enviado por Pablo Turmero



Partes: 1, 2

Monografias.com

Tipo de Respuesta
Documento XML

Texto
Procesado en el cliente
Mostrado directamente

JavaScript
Evaluado en JavaScript mediante ‘eval()’
JSON, “JavaScript Object Notation”:
Es un formato ligero para el intercambio de datos
Es un subconjunto de la notación literal de objetos de Javascript pero no requiere el uso de Javascript

Monografias.com

EJEMPLO JSON
Definición de barra de menús usando JSON y XML:

Monografias.com

Métodos de XMLHttpRequest
open("method", "URL", syn/asyn): Asigna la URL de destino, el método y otros parámetros opcionales de una petición pendiente

send(content): Envía la petición, opcionalmente se puede enviar una cadena de texto o un objeto DOM

abort(): Detiene la petición actual

getAllResponseHeaders(): Devuelve todas las cabeceras de la respuesta como pares de etiqueta y valores en una cadena

getResponseHeader("headerLabel"): Devuelve el valor de una cabecera determinada

setRequestHeader("label", "value"): Asigna un valor al par label/value para la cabecera enviada.

Monografias.com

Propiedades de XMLHttpRequest
onreadystatechange: El manejador del evento llamado en cada cambio de estado del objeto

readyState: Indica el estado del objeto o la petición

0 = sin inicializar
1 =cargando
2 = fin de la carga
3 = actualizando la información recibida
4 = Operación completada

status: Estado HTTP devuelto por el servidor

404 si la página no se encuentra
200 si todo ha ido bien

Monografias.com

Propiedades de XMLHttpRequest

responseText: Cadena de texto con los datos devueltos por el servidor

responseXML: Objeto DOM devuelto por el servidor

statusText: Respuesta del servidor asociada al status (mensaje de texto)

Monografias.com

XMLHttpRequest
Alternativas:

IFrame oculto
Netscape's LiveConnect
Microsoft's ActiveX
Microsoft's XML Data Islands
Macromedia Flash Player
Java Applets

Monografias.com

Funcionamiento de AJAX
Usuario provoca un evento

Se crea y configura un objeto XMLHttpRequest

El objeto XMLHttpRequest realiza una llamada al servidor

La petición se procesa en el servidor

El servidor retorna un documento XML que contienen el resultado

El objeto XMLHttpRequest llama a la función callback() y procesa el resultado

Se actualiza el DOM de la página asociado con la petición con el resultado devuelto

Monografias.com

Web Tradicional vs AJAX (1)

Monografias.com

Web Tradicional vs AJAX (2)

Monografias.com

Navegadores soportados
Microsoft Internet Explorer 5.0

Navegadores basados en Gecko (versión 7.1): Mozilla, Mozilla Firefox, SeaMonkey, Camino, Flock, Epiphany, Galeon y Netscape

Navegadores con API KHTML (versión 3.2): Konqueror 3.2, Safari 1.2

Opera 8.0

Navegadores disponibles para de teléfonos móviles:

Opera Mobile Browser versión 8.0

Navegador para S60 de Nokia basado en Safari y API KHTML

Monografias.com

Ventajas
Mayor interactividad
Recuperación asíncrona de datos, reduciendo el tiempo de espera del usuario

Facilidad de manejo del usuario
El usuario tiene un mayor conocimiento de las aplicaciones de escritorio

Se reduce el tamaño de la información intercambiada

Portabilidad entre plataformas
No requieren instalación de plugins, applets de Java, ni ningún otro elemento

Código público

Monografias.com

Inconvenientes y Críticas
Usabilidad: Comportamiento del usuario ante la navegación
Botón de volver atrás del navegador
Empleo de iframe ocultos para almacenar el historial)
– Empleo de fragmento identificador del URL (‘#’) y recuperación mediante JavaScript
Problema al agregar marcadores/favoritos en un momento determinado de la aplicación
– Empleo del fragmento identificador del URL (‘#’) y recuperación mediante JavaScript
Problemas al imprimir páginas renderizadas dinámicamente

Tiempos de respuesta entre la petición del usuario y la respuesta del servidor
Empleo de feedback visual para indicar el estado de la petición al usuario

Monografias.com

Inconvenientes y Críticas

JavaScript
Requiere que los usuarios tengan el JavaScript activado en el navegador
En el caso de Internet Explorer 6 y anteriores, que necesita tener activado el ActiveX (En Internet Explorer 7, se implementa como JavaScript nativo)

Como en DHTML, debe comprobarse la compatibilidad entre navegadores y plataformas

Monografias.com

Accesibilidad
Los desarrolladores necesitan proporcionar opciones para usuarios en otras plataformas o navegadores que no utilicen AJAX

Monografias.com

USOS DE AJAX

Validación de datos de formularios en tiempo real
Identificadores de usuario, nº de serie, códigos postales u otro código especial que necesite validación en el lado del servidor antes de ser enviado el formulario.

Autocompletado
Direcciones de correo, nombres, ciudades

Operaciones de detalle
Obtener información más detallada de un producto

GUI avanzadas
Controles en árbol, menús, barras de progreso

Refresco de datos

Notificaciones del servidor

Monografias.com

USOS DE AJAX
Actualizar o eliminar registros

Expandir formularios web

Devolver peticiones simples de búsqueda

Editar árboles de categorías

Monografias.com

Bibliotecas AJAX
Es posible diferenciar dos tipos de bibliotecas:

Javascript: Facilitan únicamente el uso de AJAX. Se trata de una biblioteca de javascript que facilita el intercambio de información con el servidor

Específicas de lenguaje: Genera directamente el JavaScript desde el lenguaje del servidor, de este modo se definen los métodos y se realizan los intercambios de información de forma completamente transparente.

Monografias.com

Bibliotecas AJAX
DOJO Toolkit (http://dojotoolkit.org/)

Biblioteca JavaScript de código abierto

Proporciona un API para el control y manipulación de historial
Proporciona en el lado del cliente para la manipulación de URL y marcadores/favoritos

Widgets:
Ordenar tablas
Validación de formularios
Menus y barras de menús
Google y Yahoo! Maps

Monografias.com

Bibliotecas AJAX
Prototype (http://prototype.conio.net/)

Framework en JavaScript para el desarrollo sencillo y dinámico de aplicaciones web

Proyectos basados en Prototype:
Ruby on Rails (http://www.rubyonrails.com/)
script.aculo.us, Thomas Fuchs (http://script.aculo.us/)
Rico (http://openrico.org/)
Behaviour (http://www.ripcord.co.nz/behaviour/)

Monografias.com

Bibliotecas AJAX
XAJAX (http://www.xajaxproject.org/)

Es una biblioteca PHP de código abierto
Abundante documentación
Fácil de utilizar:
No requiere gran conocimiento de JavaScript
Sencillo de emplear:
Incluir biblioteca en página PHP
Instanciar el objeto ‘xajax’
Implementación de nuevas funciones en PHP
XOAD (http://www.xoad.org/, antes NAJAX)

Biblioteca orientada a objetos basada en PHP
Documentación de las clases y tutoriales sencillos
Emplea JSON y objetos PHP para la comunicación
Soporta eventos del lado del cliente y del servidor

Monografias.com

Ejemplos de Aplicaciones (1)
Gmail:
Gmail (http://gmail.com)
Google Maps (http://maps.google.com/)
Google Suggest (http://www.google.com/webhp?complete=1&hl=en)
Google Calendar(http://www.google.com/calendar/)

Microsoft:
Windows Live Mail (http://mail.live.com)
Windows Local Live(antes MSN Virtual Earth, http://local.live.com)

Amazon Maps (http://maps.a9.com/)
Amazon: (http://www.a9.com)

HousingMaps (http://www.housingmaps.com/), con Google Maps

Nuevo Yahoo! Mail

Monografias.com

Ejemplos de Aplicaciones (2)
Aplicaciones de Escritorio:

Suite de oficina
gOffice (http://www.goffice.com/)
Thinkfree(http://online.thinkfree.com/)
Zimbra (http://www.zimbra.com)

Procesadores de texto
Writely (http://www.writely.com)
FCKeditor(http://www.fckeditor.net/)

Hoja de cálculo
Num Sum (http://numsum.com)
Numbler (http://numbler.com/)

Calendarios
Kiko (http://www.kiko.com/)

Monografias.com

Ejemplos de Aplicaciones (3)
Notas:
Webnote(http://www.aypwip.org/webnote/)

Lector RSS:
Backbase (http://www.backbase.com/demos/RSS/)
Netvibes (http://www.netvibes.com/)

Mensajería instantánea:
Meebo (http://www.meebo.com/)
IM (http://ajaxim.unwieldy.net/)

Gestor de bases de datos MySQL (http://www.turboajax.com/turbodbadmin/)

Monografias.com

Ejemplos de Aplicaciones (4)

Sistema Operativo (http://www.michaelrobertson.com/ajaxos/)

AJAXLaunch

AJAXWrite : Procesador de textos (http://www.ajaxlaunch.com/ajaxwrite/)

AJAXSketch: Editor gráfico (http://www.ajaxsketch.com/)

Eyespot: Reproductor de Video (http://www.eyespot.com/)

ajaxXLS: Hojas de cálculo (http://www.ajaxxls.com/)

ajaxTunes: Reproductor de música (http://www.ajaxtunes.com/)

ajaxOS: Sistema Operativo basado en Linspire (http://www.myajaxos.com/)

Monografias.com

¿Qué es COMET?

Diferencias con AJAX:

Emplea una conexión persistente entre el cliente y el servidor web

La entrega de datos se hace sin que el usuario lo haya solicitado

Técnica de programación Web similar a AJAX

Utiliza XMLHttpRequest para la entrega de datos entre cliente y servidor a través del protocolo HTTP

También conocido como “Server Push o HTTP Push”

Monografias.com

COMET

FUNCIONAMIENTO :

el cliente no solicita los datos, pero si envía información al servidor

el servidor no le responde al cliente con un bloque de datos,
se espera a que haya algún evento de lado del servidor para enviar la información

HISTORIA :

Alex de DojoToolkit.org fue el primero en definir esta técnica, y Dojo es el primer framework que implementa a Comet

Monografias.com

COMET

VENTAJAS :

Comunicación abierta con el servidor ? Reduce los tiempos de respuesta

INCONVENIENTES :

Compartir la misma conexión para diferentes peticiones (Conexión no bloqueante)

Capacidad del servidor de mantener el thread asociado a la petición

Escalabilidad

Monografias.com

COMET vs AJAX

Monografias.com

EJEMPLOS

MENSAJERÍA INSTANTÁNEA :

Integración de Gtalk en Gmail

Jot Live (http://jotlive.com/)

Renkoo (http://renkoo.com)

cgi:irc (http://cgiirc.sourceforge.net/)

Meebo (http://www.meebo.com/)

Monografias.com

Referencias
“Ajax: A New Approach to Web Applications”
http://adaptivepath.com/publications/essays/archives/000385.php

Wikipedia (http://wikipedia.org)

AJAX Magazine (http://ajax.phpmagazine.net/)

Baluart.net (http://www.baluart.net/categoria/ajax)

“Comet: Low Latency Data for the Browser”
http://alex.dojotoolkit.org/?p=545

Partes: 1, 2
 Página anterior Volver al principio del trabajoPágina siguiente 

Nota al lector: es posible que esta página no contenga todos los componentes del trabajo original (pies de página, avanzadas formulas matemáticas, esquemas o tablas complejas, etc.). Recuerde que para ver el trabajo en su versión original completa, puede descargarlo desde el menú superior.

Todos los documentos disponibles en este sitio expresan los puntos de vista de sus respectivos autores y no de Monografias.com. El objetivo de Monografias.com es poner el conocimiento a disposición de toda su comunidad. Queda bajo la responsabilidad de cada lector el eventual uso que se le de a esta información. Asimismo, es obligatoria la cita del autor del contenido y de Monografias.com como fuentes de información.

Categorias
Newsletter