No es nada común en estos días encontrarse con el reto de implementar una aplicación para dispositivos móviles. Ante este hecho pueden aparecer diversas preguntas ¿qué debe hacer la aplicación?, ¿necesita de mucha espectacularidad? o ¿para qué plataforma debe ser?
Ante ésta última pregunta la respuesta puede variar, pero una situación común és: “la aplicación debe funcionar en dispositivos iOS (iPhone e iPad), en dispositivos Windows Phone 7, en dispositivos Android,..” Pero este requisito no nos obliga a desarrollar tres veces la aplicación como presumiblemente podríamos pensar (dado que cada una de las plataformas citadas usan diferentes entornos y lenguajes de desarrollo) sino que en función del resto de los requisitos de la misma bastará con una única implementación. En este artículo se describirá el patrón MVC (Modelo – Vista – Controlador) y cómo podemos usarlo para desarrollar aplicaciones móviles universales.
El patrón MVC no es un nuevo patrón de desarrollo de software, apareció por primera vez en 1979 de la mano de Trygve Reenskaug de Smalltalk. La intención del patrón, es separar los datos de una aplicación, de la interfície de usuario y de la lógica de control. Normalmente se suele utilizar en aplicaciones web y es este el punto fuerte que utilizaremos para nuestra aplicación universal.
Los elementos del patrón son:
Así pues, la reflexión que quiero presentar es: ya que el marco más común del desarrollo de aplicaciones usando MVC es la programación web y todos los dispositivos móviles disponen de un entorno de ejecución de aplicaciones web; porque no diseñamos un único controlador y un único modelo para nuestra aplicación multiplataforma y tan solo cambiamos la vista en función del dispositivo móvil en que se esté presentando.
Claro está que esta solución no es la panacea, dado que irá en función de la espectacularidad y otros aspectos con los que queramos dotar a la aplicación, pero es interesante tenerla en cuenta si se nos presenta un reto como el que describía al inicio de este artículo.