La panacea móvil: Frameworks multiplataforma

Uno de los objetivos más importantes que se buscan cuando se inicia el desarrollo de un programa informático es que este sea compatible con el mayor número de dispositivos. Y para ello se han realizado muchísimos avances a lo largo de estas ultimas decadas.

La propia Web es un ejemplo de lo que se ha conseguido. Una pagina web generica, puede ser visualizada en el 90% de los dispositivos existentes (pc de escritorio, portatil, agenda pda, smartphone,…). Otro buen ejemplo son los frameworks Java y .NET, ya que ambos aportan como punto fuerte el tratar de independizarse del tipo de dispositivo. Hay mas ejemplos, pero la realidad es que no se ha logrado nunca una solución buena, mantenible, optimizada y de calidad. Voy a exponer mis razones.

Safari 1
Creative Commons License photo credit: jfingas

Para analizar que opciones de multiplataforma existen en los móviles de última generación, voy a partir de dos supuestos que doy por ciertos. El primero es que existen cinco tecnologías con las que podemos cubrir el 75% del mercado (y creciendo día a día): iOS (Apple), Android (Google), Blackberry SDK (RIM), Windows Phone 7 (Microsoft), y soluciones Web (sobre HTML5). Existen muchísimas más como WebOS (HP-Palm), Symbiam (Nokia), Bada (Samsung), MeeGo(Intel+Nokia),…pero bien porque son antiguas, bien porque estan todavía verdes, lo cierto que no compiten con las cinco primeras. El segundo es que solo voy a considerar los moviles de última generación con acceso a Internet. No metemos en el analisis, teléfonos que únicamente se utilicen para llamar, enviar mensajes, y/o acceder de forma muy limitada a Internet.

En este punto, lo cierto es que estoy encontrando diferentes frameworks que prometen disponer de un sistema mediante el cual, programando la aplicación una sola vez, se obtiene la misma aplicación para todas las plataformas. Las comento:

  • www.phonegap.com: A partir de una librería de componentes permite diseñar aplicaciones en HTML5, que tras un preprocesamiento, pueden ser compiladas en las plataformas: iOs, Android, WebOS, Blackberry y Symbian.
  • www.rhomobile.com: A partir de un desarrollo utilizando un framework basado en tecnología Ruby, proporciona herramientas que permite construir fuentes compilables para las platafomas iOS, Android, Blackberry, Symbian y Windows Phone 7.
  • www.appcelerator.com: Es una plataforma de desarrollo que permite a partir de diferentes lenguajes de programacion web (html5, python, ruby, php,..) construir aplicaciones nativas para las plataformas iOS y Android.
  • www.mosync.com: Proporciona un entorno de desarrollo basado en C++ que haciendo uso de una serie de librerias y API, permite construir directamente aplicaciones para las plataformas iOS, Andorid, Symbian, JavaME y MeeGo.

Bien, todas ellas parecen tener la suficiente madurez como para construir una aplicación compatible en distintas plataformas. Pero existe una causa, que por si hace imposible que dicha aplicacion exceda de una complejidad algo más allá de la media. Por desgracia, la diversidad existente en la capacidad de los distintos dispositivos, hace imposible sacar el máximo partido a una aplicación si se intenta hacer de forma genérica. No todos disponen de la misma usabilidad, no todos tienen la misma capacidad de procesamiento, no todos tienen la misma capacidad gráfica,…ni siquiera esta genalizado el uso de la camara, los mapas, el gps, el acelerometro, el sensor de luz…

Software Engineering
Creative Commons License photo credit: Another Hue

En resumen, conseguir implementar una solucion móvil orientando su uso a distintas plataformas, requiere un complejo análisis de ingeniería que abarca desde el estudio del hardware de los dispositivos que cumplen con los requisitos del sistema, hasta el diseño específico de cada una de las resoluciones de pantalla de los dispositivos, pasando obviamente por un análisis funcional que aborde los objetivos que se desean cumplir. En resumen, todas las soluciones que se plantee con un framework “genérico” serán soluciones cortoplacistas y de dificil mantenimiento y evolución.

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.