Ajax: donde usarlo y donde no
Alex Bosworth hizo una buena lista de lugares donde Ajax sirve y donde no sirve… quizás este tipo de listas sirvan para evitar los mismos errores que hicieron de Flash, una aplicación excelente, algo bastante mal entendido en los desarrolladores.
Donde se DEBE usar Ajax
– Interaccion vÃa formularios
– Navegación de aplicaciones del tipo jerárquica
– Comunicación rápida de usuario-a-usuario
– Votaciones y calificaciones online.
– Filtrado y manipulación de datos
– Campo de texto usados comunmente (autocomplete)
Donde hay que evitarlo
– Formularios simples: si no hay más que un paso.. ¿cual es el beneficio de ajax?
– Búsquedas: este punto es bastante personal, conozco muchos que aman esta funcionalidad.. aunque a mi nunca termina de convencerme más que para dar un hint y punto.
– Navegación básica: este es un error tÃpico también con Flash ¿cual es la necesidad de hacer un menu con dos boxes que digan “inicio” y “Contacto” en flash.. o en ajax… o en algo más que no sea algo simple?
– Reemplazo de grandes cantidades de texto: muy buen punto.. ¿si al hacer click va a cambiar la mayorÃa de los datos de una página para que usamos algo que sirve para traer datos asincrónicos si en realidad deberÃa aparecer algo totalmente nuevo?
– Manipulación de interfaz de usuario: para manejo de UI ya existe XHTML/HTML DOM, y CSS que fueron creadas para esto y no para manejar datos.
– Widgets inútiles
Este tipo de listas, repito, pueden ayudar a que algunos errores de Ajax se eviten, aunque algunas de estas “quejas” son simple falta de conocimiento. Por ejemplo muchos dicen que con Ajax se “rompe” el uso del back-button… cuando en realidad hace bastante tiempo que existen soluciones a ese punto.
También podés agrandar, opinar o colaborar en esta lista en el Wiki de Sourcelabs
Actualización, Leo ya habÃa hablado de esto
Laleft el 06.12.05
Con respecto al punto cuatro “Reemplazo de grandes cantidades de texto”, yo pienso que siempre que pueda indicarse de alguna manera que el contenido de la página ha cambiado (estilo “Loading…” o con cambios de aspecto), esta forma de traer información puede revestir la ventaja de ahorrar peticiones que ya se han hecho y que no van a cambiar (ej.: imágenes), aligerando la transferencia.
victor el 06.12.05
He conseguido (hasta donde yo se, es “invento” mio) que me funcionen los botones de back en una aplicacion en flash… he escrito una clase, aunq no la he publicado aun en ningun sitio.
El ejemplo funcionando:
http://www.bancodepruebas.de/sol90
si alguien esta interesado en saber como se hace… ya lo explicaré en detalle.
Federico el 06.12.05
Laleft: Sobre “Reemplazo de grandes cantidades de texto”, el problema es que si cambia tanto el contenido de una página, ya deberÃa tratarse de un documento aparte. Y se podrÃa tirarle un palo a Gmail en este caso, pero nadie necesita permalinks ahà dentro.
Ojo porque los de votaciones y formularios simples es una contradicción. Una votación (los tipicos poll) son formularios simples.
Y lo de manejo de la interfaz: si te venden eso como Ajax, te vieron la cara. :)
Laleft el 06.12.05
Federico: es correcto lo que decÃs. Asumo que se trata de un caso justificado, como bien citás Gmail, y ahà radicarÃa la ventaja. De todas formas, no es nada difÃcil facilitar un enlace para llegar a la información solicitada (Google Maps?).
Llegado el caso, aun son peores los sitios completamente hechos en flash, donde un permalink directamente no existe y el problema del botón back (que, de hecho, no funciona como yo lo uso: desde el teclado), son un problema mucho mayor.
mariano el 07.12.05
victor.. serÃa bueno ver si tu solución es mejor que esa de ContentwithStyle :)
Fede, lo de las votaciones es cierto.. pero creo que la logica es cuando hacer calificaciones online.. solo se modifica una parte de la página y listo.. en cambio cuando haces formularios simples.. la respuesta es una pagina nueva y ahi AJAX es al pedo.. creo ;)
Laleft.. totalmente de acuerdo con los sites en flash
Federico el 07.12.05
Perdón, Mariano, por usar tus comentarios.
Laleft: No soy usuario de GMaps, pero ¿acaso se actualiza la URL en el barra de direcciones cuando navegas? Supongo que las funciones de enviar un enlace por correo (usando los controles nativos del navegador) tampoco funcionarian. :)
Laleft el 07.12.05
No tengo idea qué agente de usuario utilizás, Federico. Con Firefox, haciendo click derecho sobre el enlance que dice “Link to this page” y seleccionando “Enviar enlance…”, se abre mi cliente de correo con un enlace como este:
http://maps.google.com/maps?ll=-34.603435,-58.381315&spn=0.003557,0.006941&t=k&hl=en
Creo que eso alcanza para evitar semejante horror.
Vamos, esto no es tu verdad contra la mÃa, ni siquiera se trata de verdades. Esta técnica tiene sus pro y sus contra, solamente estaba destacando una ventaja y cómo cubrir las necesidades más importantes.
Saludos.
mariano el 07.12.05
Fede… tiene razon Laleft yo tambien puedo hacer eso
Federico el 07.12.05
La “Barra de direcciones” aka “el lugar donde escribis una URL” no se actualiza a medida que vas navegando en los maps de Gmaps, entonces no podés simplemente copiar el link desde ahÃ. Por otro lado, funciones como “Send link” en Firefox tampoco sirven porque la URL que envias es http://maps.google.com/. Entiendo que puedas usar la opción que te dan ellos de “Link to this page” pero es un “parche” para reemplazar una función del navegador.
ruddy el 24.06.08
Es posible utilizar ajax para refrescar una imagen?
Gracias
magickey el 09.08.08
ruddy:
Para esto mejor usar javascript
Trackbacks/Pingbacks
bienvenidos
Denken Über es mi weblog donde escribo sobre tecnologÃa, estrategias y cosas de internet. Podés comentar en cada artÃculo o enviarnos noticias o links.
Mas info: Autor | Archivos | Contacto
buscar en denken über
categorías
Blogroll
últimos en Celularis
Feeds xml
Publicidad
¿El peor hosting del mundo?