¿Vale la pena lavar con AJAX?

Este es mi primer “articulo” para este blog y de nuevo le doy l gracias a quienes tuvieron la amabilidad de invitarme en calidad de colaborador. Para empezar (y espero me disculpen esta primera vez, ya que espero colocar contenido original aqui que no aparece en mi Blog particular) quiero continuar una discusión acerca de AJAX.

En este caso, quisiera preguntarles más bien los meritos que tendria hacer una aplicación escrita en AJAX en vez de utilizar otras tecnologías de clientes ricos como Applets de Java o Macromedia Flash (o porqué no). Pero en el marco de la realidad, no los proyectos mascota que le gustaría ver o hacer.

Seria muy interesante ver ejemplos de que tipo de aplicación están desarrollando y porqué se justifica un cliente rico en vez de uno convencional (con convencional me refiero a uno que perfectamente pudiera tener DHTML, Javascript pero el procesamiento pesado está completamente de el lado de el servidor). Por favor, no más ejemplos de Gmail o Alexa, cosas que usted esté haciendo (me imagino que el universo de aplicaciones de este tipo es bastante pequeño en realidad, por diversas razones).

Bueno, tienen la pelota ustedes, los invito a comentar.


7 Respuestas a “¿Vale la pena lavar con AJAX?”

  1. 1 Edgar González

    El enfoque que hemos seguido usando AJAX es el de enriquecer partes de la interfaz (actualizaciones de dropdown en cascada, algunas validaciones, etc…) más no la de reemplazar totalmente la interfaz de usuario, con lo cual la parte “fuerte” o “pesada” de la lógica del negocio sigue estando en el servidor.

    Ejemplo concreto de esto es la aplicación Web para la administración de operaciones tanto de generación como de distribución que hicimos para una empresa eléctrica venezolana.

    Para mi AJAX tiene un buen “momentum” debido a que los distintos browsers han ido convergiendo en su implementación del engine javascript (aunque todavía falta bastante), eso hace que librerías JS como “protoype” hayan sido tan bien acogidas. Y creeme que en su momento pasé por el calvario de desarrollar en JS tratando de que la solución fuera cross-platform.

    En cuanto al uso de applets para mi han caido en desgracia (y eso que soy un entusiasta de Java - desde los tiempos del 1.0.2), creo que por algunas de las razones que citas en tu artículo, y desde hace años no he vuelto a verlos como una opción válida, para una interfaz web, tal vez deba echarle otra vez un ojo.

    Un punto que a lo mejor puede ser interesante para discutir es que al parecer los usuarios quieren/esperan que sus aplicaciones Web luzcan/comporten como aplicaciones Web y no como clientes pesados.

  2. 2 Efrén

    Muy buena esta discusión, no la había visto en tu blog, pero ya la leí, y te voy a contestar en este.

    Primero que todo, no creo que uno como desarrollador, escriba aplicaciones en AJAX, simplemente utilizas AJAX para mejorar de alguna forma la experiencia del usuario, haciendola más rica, y en muchos casos más rápida y sencilla. Por lo menos en mi caso, no uso AJAX en toda la aplicación, si no en algunos puntos claves donde me parece que esto mejoraría la interfaz.

    ¿Esto mismo se puede hacer con Flash y con Applets? seguramente, pero para Flash requieres un plugin, y para los applets (que actualmente estan practicamente extintos) requieres del JRE. Con estas dos tecnologías efectivamente resuelves un problema que enfrentamos los desarrolladores de aplicaciones web, homologas la plataforma, pero a que costo?.Incrementas los tiempos en la carga inicial, además estas dependiendo de tecnologías propietarias.

    Como lo dices en tu post, AJAX depende de JavaScript y ” Javascript no es un lenguaje %100 estandarizado entre los navegadores”, tienes toda la razón, pero Javascript no es la única incompatibilidad a las que nos enfrentamos los desarrolladores, también están los CSS, la forma diferente en que rendean un mismo contenido los navegadores, y pare ud de contar.

    ¿Por qué decidimos usar AJAX?, porque es la única tecnología que nos permite trabajar con lo que ya tenemos, sin componentes adicionales.

    Querías que te diéramos ejemplos de aplicaciones que desarrollamos o estamos desarrollando, un ejemplo es BagOfBlogs. Tiene AJAX para hacer los pings, para eliminar registros, para añadir y remover blogs de tus favoritos, para el live-search de blogs, y para el auto-complete de los tags. Échale un vistazo!!

  3. 3 Nelo

    Desde que aparecio AJAX he leido muchos artículos en donde satanizan su uso, bien por el uso de javascript, que si usa xml, que por su reciente aparición y un sin fin de “razones”. Particularmente considero que la gente se ha intoxicado muy rapido con ésta y otras tecnologias.

    En mi caso, estoy usando AJAX porque me permite realizar interfaces más amigables con las herramientas que uso actualmente, y sin tener que hacer muchos cambios en cada capa del modelo mvc. Si bien es cierto que javascript no se comporta igual en todos los navegadores, este hecho se convierte en un reto que el desarrollador debe enfrentar con creatividad y tratar de solventarlo de la mejor forma posible.

  4. 4 josevnz

    Muchos comentarios, no sé ni por donde empezar:

    Edgar: Yo creo que los usuarios esperan más de sus aplicaciones web. Y lo mejor (o peor) es que no hay vuelta atrás. Dale uno o dos años a AJAX (o lo que venga) y ya verás hasta los bancos exigiendo este tipo de interfaces.
    Efrén: AJAX requiere componentes adicionales, rediseño de las aplicaciones (como servicios web). No hay almuerzo grátis, de hecho la complejidad de AJAX está siendo disfrazada bajo “toolkits” para desarrollar con AJAX. Pero no es ni de vaina más sencillo que hacer una aplicación clásica de cliente / servidor con PHP, Servlets Java o Perl CGI.

    Nelo: Es absurdo pensar en que solventar las deficiencias de Javascript es un trabajo “creativo”. Al contrario, la codicia e ineptitud de Netscape y Microsoft han puesto a parir a los desarrolladores web por años, usando un modelo roto en el lenguaje. Me sentiria mejor si Javascript no estuviera roto, cosa que no ocurre con Flash o Java (gracias a que hay un sólo vendedor detrás lo cual ha impedido la fragmentación).

    A todos: No digo que la tecnología no sea prometedora, lo que digo es que espero que se vuelva lo suficientemente madura como para ser utilizada sin temor de que se rompan cosas. También digo que los más seguro es que en los próximo años veremos una nueva generación de navegadores más inteligentes, como Mozilla + XUL los cuales permitiran pasar por encima las limitaciones actuales :)

  5. 5 BrainX

    Ese jabon que salio hace un poco tiempo ya se esta vendiendo como pan caliente.

    Y saben que es lo mas comico del asunto??? Si no me falla la memoria todo comenzo con el framework de microsoft .NET. La diferencia es que la naturaleza de este framework de alguna forma le permite al desarrollador enfocarse en poner un control, mientras el framework hace lo demas.

    Chequear el navegador y enviar el codigo “ajax” correspondiente. Si el navegador no soporta JS, tiene una alternativa para hacer procesamiento del lado del servidor usando envio de formularios, de la manera oldskool.

    Hasta ahora solo he visto “librerias” que jueguen con la llamada a procedimientos remotos desde un navegador cliente hasta un script hosteado, utilizando AJAX. Si digo la verdad, no he hecho la prueba todavia pero ando pendiente de.

    Creo que antes de todos comencemos a programar en AJAX hasta un punto en que casi todos los controles que usemos sean de alguna forma dinamicos, necesitamos un framework que nos permita enfocarnos a lo que vamos, sin estar pendientes de si el usuario esta usando firefox, iexplore, un celular o lynx.

  6. 6 josevnz

    Otro articulo mas sobre las limitaciones de AJAX; Lo peor es que el modelo de seguridad se puede “truquear”:

    http://www.xml.com/pub/a/2005/11/09/fixing-ajax-xmlhttprequest-considered-harmful.html

    Java no te permitia esas “libertades” con los Applets por ejemplo. Coincido con BrainX, Para que AJAX sea util su uso tiene que ser mucho mas sencillo, sin preocuparse por el navegador. Pero como es Javascript…

  7. 7 Nelo

    La limitación no es de Ajax directamente, en el articulo dicen que : “porque los nuevos web browser imponen una significativa restriccion de seguridad en el uso del XMLHttpRequest. La restriccion no le permite hacer un XMLHttpRequest a cualquier servidor excepto al servidor en donde esta la su pagina web.” No es XMLHttpRequest quien tiene la restricción, es el visualizador quién limita el rango de acción de este componente. Pero este no es un mal para morirse, ya que el mismo artículo presenta algunas soluciones al respecto y si no necesitas realizar llamadas a servicios alojados en servidores fuera de tu dominio, ni te enteras de que el problema existe.

    En relación a comparar ajax con otras tecnología, en el siguiente artículo comentan, con un interezante punto de vista, ¿Es Ajax mejor que Flash? :

    http://www.doscero.com/es-ajax-mejor-que-flash

Añade un Comentario





RSS feeds

Suscríbete a nuestros RSS Feeds