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