PDF de programación - XMLHttpRequest / AJAX

Filtrado por el tag: responsive
<<>>
Imágen de pdf XMLHttpRequest / AJAX

XMLHttpRequest / AJAXgráfica de visualizaciones

Actualizado el 21 de Marzo del 2018 (Publicado el 2 de Febrero del 2018)
3.083 visualizaciones desde el 2 de Febrero del 2018
558,2 KB
20 paginas
Creado hace 18a (12/10/2005)
XMLHttpRequest / AJAX

XMLHttpRequest / AJAX

Jorge Bastida Pérez

[email protected]
[email protected]

Documento Bajo Licencia Creative Commons

1 / 20

XMLHttpRequest / AJAX

Índice

0. Licencia
1. Presentación

1.1 Breve Historia
1.2 ¿Qué es AJAX?

1.2.1 Comunicación síncrona vs. Asíncrona
1.2.2 La "magia".

1.3 Ejemplos prácticos en producción

1.3.1 Flickr Yahoo!
1.3.2 Google Suggest
1.3.3 Google Maps
1.3.4 Etc...

2. Teoría

2.1 ¿ Para qué nos sirve AJAX ?
2.2 Ventajas / Desventajas
2.3 Diferencias en el desarrollo "PRE"ajax / "POST"ajax.
2.4 El cambio "radical" que supone la comunicación Asíncrona.
2.5 Alternativas a Ajax.

3. Práctica / teoría

3.1 DOM
3.2 Programación con Frameworks de AJAX

4. Práctica

4.1 Conocimientos Básicos

4.1.1 CSS
4.1.2 JavaScript

4.2 Primeros pasos
4.3 Copiando Flickr
4.4 Copiando Google Suggest
4.5 Copiando Google Maps
4.6 Copiando aplicaciones de escritorio.

4.6.1 Crear / Destruir objetos.

4.7 Pegaso puede con todo.

4.7.1 Integración de xajax en pegaso

4.8 Abre tu mente

4.8.1 Que hacer / Que NO hacer con ajax.
4.8.2 Límites de Ajax

2 / 20

XMLHttpRequest / AJAX

0. Licencia
Usted es libre de:

● copiar, distribuir y comunicar públicamente la obra
● hacer obras derivadas
● hacer un uso comercial de esta obra

Bajo las condiciones siguientes:

Reconocimiento. Debe reconocer los créditos de la obra de
la manera especificada por el autor o el licenciador.

Compartir bajo la misma licencia. Si altera o transforma
esta obra, o genera una obra derivada, sólo puede distribuir
la obra generada bajo una licencia idéntica a ésta.

● Al reutilizar o distribuir la obra, tiene que dejar bien claro los términos de la licencia de

esta obra.

● Alguna de estas condiciones puede no aplicarse si se obtiene el permiso del titular de los

derechos de autor

Los derechos derivados de usos legítimos u otras limitaciones reconocidas por ley no

se ven afectados por lo anterior.

Esto es un resumen legible por humanos del texto legal (la licencia completa) disponible en los

idiomas siguientes:

Catalán Castellano Gallego

3 / 20

XMLHttpRequest / AJAX

1.Presentación

1.1 Breve Historia

Desde hace un tiempo la palabra AJAX es la palabra de moda en el mundo del
desarrollo de aplicaciones web.

El termino “Ajax” fue acuñado por Jesse James Garret1 en su articulo “Ajax: A New
Approach to Web Applications”, el cual recomiendo su lectura y que a lo largo de esta
presentación citaré numerosas veces.
A modo de introducción paso a citar unas líneas brevemente.

“Dejando de lado esto, los diseñadores de interacción Web no pueden evitar sentirse envidiosos de nuestros
colegas que crean software de escritorio. Las aplicaciones de escritorio tienen una riqueza y respuesta que
parecía fuera del alcance en Internet. La misma simplicidad que ha permitido la rápida proliferación de la Web
también crea una brecha entre las experiencias que podemos proveer y las experiencias que los usuarios
pueden lograr de las aplicaciones de escritorio.”

1.2 ¿Qué es Ajax ?

Mucha gente me lapidaría por esto, pero ajax en sí no es nada, incluso emplear el
termino ajax para definir el uso de XMLHttprequest2 puede llegar a tratarse de una
tautología.

Ajax no es una tecnología , no es un nuevo lenguaje de programación ni nada similar,
Ajax es realmente el cúmulo de muchas tecnologías que por méritos propios han
llegado a donde están.

AJAX (Asynchronous Javascript and XML) es una técnica de desarrollo web que
genera aplicaciones web interactivas combinando:

● XHTML y CSS para la presentación de información
● Document Object Model (DOM3) para visualizar dinámicamente e interactuar con

la información presentada

● XML, XSLT para intercambiar y manipular datos
● XMLHttpRequest para recuperar datos asíncronamente
● Javascript como nexo de unión de todas estas tecnologías

● No requiere plugins o capacidades específicas de ciertos navegadores.

1 Jesse James Garrett(wikipedia.org) is an information architect and founder of Adaptive Path, an information architecture and user

experience firm. His work is widely known among information architects, who commonly refer to him simply as jjg

2 XMLHttprequest (wikipedia.org) The object was originally invented by Microsoft, used since Internet Explorer 5.0 as an ActiveX

object, which is hence accessible via JavaScript, VBScript, or other scripting languages supported by the browser. Mozilla contributors
then implemented a compatible native version in Mozilla 1.0. This was later followed by Apple since Safari 1.2 and Opera Software
since Opera 8.0.

3 DOM (wikipedia.org) Document Object Model (DOM) is a form of representation of structured documents as an object-oriented
model. DOM is the official World Wide Web Consortium (W3C) standard for representing structured documents in a platform- and
language-neutral manner. The DOM is also the basis for a wide range of application programming interfaces, some of which are
standardized by the W3C.

4 / 20

XMLHttpRequest / AJAX

1.2 Comunicación síncrona vs. Asíncrona

En el desarrollo clásico tanto de aplicaciones como sitios web la comunicación con el
usuario es síncrona respecto de las interacciones del usuario, es decir:

1. El usuario realiza una petición al servidor.
2. El servidor envía la página solicitada.
3. El usuario comienza a “leer” la página.
4. Llega un momento dado en el cual el usuario desea cambiar de página y mediante

formularios o links realiza una petición al servidor volviendo al paso número 1.

En cambio la comunicación asíncrona no implica sincronismo ante los eventos del
usuario, sino que ante cualquier evento del usuario nosotros podemos proceder en
consecuencia, es decir:

1. El usuario realiza una petición al servidor
2. El servidor envía la página solicitada
3. El usuario comienza a “leer” la página
4. Llega un momento dado en el cual el usuario quiere cambiar de página o alterar la
información que contiene la misma. En ese momento dado la aplicación teniendo
definidos los eventos posibles actúa en consecuencia a la interacción que haya podido
suceder. Entonces podremos cambiar al usuario de página, o por el contrario modificar
la misma para satisfacer al usuario. Estos cambios no implican cambiar de página.

El articulo de Jesse James incluye varias imágenes que hace más fácil la comprensión
de esta comunicación asíncrona.(página siguiente)

¿Por qué la interacción del usuario
vez que se necesita algo del servidor?

con una aplicación web se interrumpe cada

5 / 20

XMLHttpRequest / AJAX

Es por esto que una aplicación ajax termina con la idea “arrancar-frenar-arrancar-
frenar”. Cada interacción de un usuario generaría un requerimiento HTTP para poder
mostrar la nueva información, pero mediante ajax las peticiones al servidor pueden
denegarse al “motor ajax” que es quien procesaría las peticiones contra el servidor,
permitiendo o no al usuario interactuar con la página mientras el servidor está
procesando la información, evitando de este modo los tiempo de carga en los cuales el
usuario ve como su reloj de arena da vueltas mientas su navegador trata de componer
la nueva página mientras recibe la información del servidor.

6 / 20

1.2.2 La “magia”

XMLHttpRequest / AJAX

¿Que es “la magia”?, La magia de ajax consiste en la posibilidad de poder
ante cualquier evento o la negación del mismo ejecutar código ( en este ejemplo php )
pudiendo alterar la estructura (DOM) de la página.

En palabras llanas y para que os hagáis una idea más “visual”...
Podemos ejecutar código php ante cualquier evento que controlaremos con javascript.
Por ejemplo... pulse un botón , entre en un espacio , pase cierto tiempo etc...

Llegado a esta altura de la presentación tendréis más dudas que al principio pero
tratare de enseñaros mas visualmente y con ejemplos en producción al alcance de
millones de personas como esta palabras banales son capaces de hacer una ilusión,
realidad.

1.3 Ejemplos prácticos en producción

1.3.1 Flickr Yahoo

Flickr es un espacio gratuito donde todo el mundo puede subir sus fotos y
exponerlas al resto del mundo. En un principio flickr utilizaba macromedia flash
para poder mostrar las fotos , hacerlas rotar , insertar comentarios sobre ellas
etc....

Desde hace ya un tiempo
incorpora ajax haciendo la
navegación mas ligera ,
accesible e intuitiva. A día de
hoy flickr cuenta con más de
un millón de miembros, los
cuales interactúan gracias a
ajax con sus imágenes en
tiempo real.
Uno de los mejores detalles
que incorpora flickr es la
posibilidad de editar el título y
descripción ( entre otros ) en
tiempo real sin necesidad de
seleccionar la foto, encaminar
al usuario a una página de
edición donde rellenará un

formulario con la nueva información.
Flickr permite pulsando en el título de la imagen convertir el mismo en un
formulario, tras editar el título y pulsar el botón de guardar todo resto de
formulario desaparece volviendo a la vista normal de la página. En ese momento
la nueva información queda guardada en la base de datos para ser consultada
por cualquier otro visitante. Este ejemplo demuestra que el peso de la aplicación
no tiene porqué ( como suponíamos) crecer sustancialmente sino al contrario,
produciéndose una reducción considerable en la información intercambiada entre
servidor y cliente.

7 / 20

XMLHttpRequest / AJAX

1.3.2 Google Suggest

Google, buscador por excelencia demostró otra vez hace más de un año el
potencial de la tecnología y de sus servidores. Google Suggest permite
comprobar
instantáneamente el
numero de resultados que una
búsqueda va a tener mientras se
está
la misma.
¿Útil?¿Pesado para el servidor? ...
si google puede, no es problema
de ajax sino de los recursos a
emplear.
Este ejemplo demuestra la utilidad
de ajax para realizar búsquedas
rápidas
(ej: Datos personales,
números de teléfono) o solucionar
problemas a la hora de auto
completar
específicos
campos
dentro de formularios.

escribiendo

En la parte práctica copiaremos el ejemplo de google para buscar páginas w
  • Links de descarga
http://lwp-l.com/pdf8571

Comentarios de: XMLHttpRequest / AJAX (0)


No hay comentarios
 

Comentar...

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios...
CerrarCerrar
CerrarCerrar
Cerrar

Tienes que ser un usuario registrado para poder insertar imágenes, archivos y/o videos.

Puedes registrarte o validarte desde aquí.

Codigo
Negrita
Subrayado
Tachado
Cursiva
Insertar enlace
Imagen externa
Emoticon
Tabular
Centrar
Titulo
Linea
Disminuir
Aumentar
Vista preliminar
sonreir
dientes
lengua
guiño
enfadado
confundido
llorar
avergonzado
sorprendido
triste
sol
estrella
jarra
camara
taza de cafe
email
beso
bombilla
amor
mal
bien
Es necesario revisar y aceptar las políticas de privacidad