Hacer una aplicación ajax es más costosa que hacer una aplicación web normal. No solo es costosa debido a que se necesita más conocimiento específico, sino que además la aplicación debe mantener la versión normal para que pueda ser accesible desde dispositivos más básicos como son una PDA o un teléfono movil.
Sería deseable no tener que mantener dos aplicaciones diferentes. Para esto habría que aplicar en primer lugar ingeniería del software y modelos basados en capas para que el cambio sea solo a nivel de presentación. Pero aun así sería deseable mantener la misma capa de presentación para ambas versiones y que esta funcione bien en cualquier dispositivo.
En esta entrada de blog, comentaré la idea básica que hemos aplicado con éxito para conseguirlo.
Para hacer esa web adaptable al dispositivo sin tener que hacer dos versiones, lo que haremos es crear la versión básica que funciona en cualquier sitio. A partir de esa versión contruiremos la parte de javascript + ajax.
¿Como unimos ambas partes (versión básica y javascript+ajax)? si cambiamos algo de la parte básica para meterle el javascript lo más probable es que deje de funcionar en dispositivos pequeños. Por tanto la idea será unirlas mediante javascript. Esto significa que mediante javascript debemos cambiar la funcionalidad básica de los forms, de los enlaces t de todas aquellas cosas que lleven ajax, para que en lugar de hacer la acción por defecto, hagan la acción javascript asincrona.
Con esta solución, si el dispositivo no es capaz de ejecutar javascript, no modificará en lo más mínimo la funcionalidad básica, y por tanto le funcionará todo correctamente. En cambio, si el dispositivo si es capaz de ejecutar javascript, entonces cambiará la funcionalidad básica y se ejecutará todo mediante ajax.
Como vemos se ha integrado en una sola versión las dos funcionalidades.
José Carlos Calvo Tudela
Sería deseable no tener que mantener dos aplicaciones diferentes. Para esto habría que aplicar en primer lugar ingeniería del software y modelos basados en capas para que el cambio sea solo a nivel de presentación. Pero aun así sería deseable mantener la misma capa de presentación para ambas versiones y que esta funcione bien en cualquier dispositivo.
En esta entrada de blog, comentaré la idea básica que hemos aplicado con éxito para conseguirlo.
Para hacer esa web adaptable al dispositivo sin tener que hacer dos versiones, lo que haremos es crear la versión básica que funciona en cualquier sitio. A partir de esa versión contruiremos la parte de javascript + ajax.
¿Como unimos ambas partes (versión básica y javascript+ajax)? si cambiamos algo de la parte básica para meterle el javascript lo más probable es que deje de funcionar en dispositivos pequeños. Por tanto la idea será unirlas mediante javascript. Esto significa que mediante javascript debemos cambiar la funcionalidad básica de los forms, de los enlaces t de todas aquellas cosas que lleven ajax, para que en lugar de hacer la acción por defecto, hagan la acción javascript asincrona.
Con esta solución, si el dispositivo no es capaz de ejecutar javascript, no modificará en lo más mínimo la funcionalidad básica, y por tanto le funcionará todo correctamente. En cambio, si el dispositivo si es capaz de ejecutar javascript, entonces cambiará la funcionalidad básica y se ejecutará todo mediante ajax.
Como vemos se ha integrado en una sola versión las dos funcionalidades.
José Carlos Calvo Tudela
Muchacho, tu conoces GWT? échale un vistazo, porque me parece que la gente de Google ya ha pensado en todo esto.
ResponderEliminarBuenas,
ResponderEliminarEl fondo de esta entrada es sobre todo analizar como meterle javascript y ajax a una web que ya está funcionando mediante formularios de toda la vida.
Lo malo de casarte con GWT u otra cualquiera, es que eso es para toda la vida (de la aplicación). En cambio, si tú eres el que llevas el control, puedes estar un rato con una (tecnología) y otro rato con otra, dependiendo de la que te interese más segun las necesidades puntuales. :)
Saludos
José Carlos Calvo Tudela
Claro que lo mejor es usar SDKs jeje, como verás en las entradas anteriores del blog, hay muchas destinadas a DOJO, ajaxslt, APTANA,...
ResponderEliminarCada cosa tiene sus pros y sus contras. Aunque siempre he pensado que no hay que aferrarse a nada y por supuesto no hay que dejar el bajo nivel de lado.
Si tu aplicación necesita un SDK, méteselo. Pero si tu aplicación lo único que necesita es usar un par de llamadas ajax muy puntuales y con poca funcionalidad, no le metas un SDK, metele una pequeña funcionalidad ajax de bajo nivel, que será mucho más rápida y cargará menos código.
Bueno, esto ya son cosas muy subjetivas jeje :)
Gracias por tus aportaciones juaxix
Saludos