Programación para dispositivos móviles tipo smartphones y tablets, algunas consideraciones.

Cuando se plantea por primera vez la creación de una aplicación para smartphones y tablets, normalmente lo primero en lo que se piensa es en la variedad de plataformas existentes: Apple iOS, Google Android, Palm, Symbian, BlackBerry, Windows Phone, … luego, ¿cómo realizar un desarrollo que abarque todas o el mayor porcentaje (en términos de utilización) de estas plataformas? Antes de contestar a esta pregunta me gustaría exponer un par de cosas: las previsiones en tendencias indican que los sistemas que liderarán en los próximos años serán Android e iOS, no obstante el nuevo Windows Phone parece que va a tener una gran aceptación.

Si damos por supuesto que nuestra aplicación debe correr como mínimo en Android e iOS para cubrir una importante cuota de mercado, ¿vamos a dedicar tiempo a desarrollar una misma aplicación en distintos sistemas operativos con el coste de tiempo y formación de un equipo multidisciplinar? Una solución que se plantean muchas empresas es la realización de una aplicación web para dispositivos móviles, de esta forma con un único desarrollo se puede conseguir el objetivo de llegar a múltiples plataformas.

Pero las estadísticas indican que los usuarios prefieren aplicaciones nativas a aplicaciones web para móviles, y de hecho el tiempo de uso medio de unas y otras es ligeramente superior en el caso de las nativas. Esto seguramente se deba a la dificultad para alcanzar el mismo nivel de usabilidad, apariencia e integración con el dispositivo (acceso al hardware del dispositivo). Por ejemplo, desde HTML. no se puede acceder a algunos elementos particulares como la cámara, GPS, …

No olvidemos también que las aplicaciones nativas ganan en velocidad de ejecución aunque las mejoras constantes de optimización en el motor de javascript V8 ha conseguido que la ejecución del código javascript de las webs se pongan casi a la misma altura.

Desde hace algún tiempo existe la posibilidad de realizar aplicaciones híbridas: aplicaciones web basadas en HTML5 + Javascript que son empaquetadas de manera que de un único código fuente de aplicación web tenemos la posibilidad de obtener una aplicación instalable en múltiples y dispares plataformas móviles.

Existen varias herramientas que lo permiten. Una de las más conocidas y además gratuita es PhoneGap

Con PhoneGap contaremos además con acceso a gran parte de los elementos del dispositivo (acelerómetro, cámara, GPS, vibración, …) Ver lista completa.

Creo por tanto que por el momento la mejor solución para una empresa con una mínima experiencia en desarrollo web para incorporarse al desarrollo de aplicaciones para dispositivos móviles es la de una aplicación híbrida basada en HTML5 + CSS3 + JavaScript y empaquetada con alguna herramienta como PhoneGap, para poder llegar a las diferentes plataformas con un único desarrollo.

 

imagen: PhoneGap

Sobre Rsaura

Rafa ha desempeñado la función de analista programador de aplicaciones en Clavei. Apasionado por el mundo de la programación para internet, posee una amplia experiencia en el desarrollo de sitios web y especialmente en soluciones de comercio electrónico tanto B2B como B2C.
Para Rafa, “si no estás en Internet no existes”.

5 comentarios
  1. David Bernad
    David Bernad says:

    Hola Rafa,

    Me gusta tu artículo. A mí me gustaría empezar a desarrollar aplicaciones para dispositivos móviles, pero el tiempo no me lo permite. Me alegra lo que leo, ya que sí tengo soltura con javascript, por lo que sólo me haría falta aprender HTML5. ¿Conoces algún curso online o “tutorial” para empezar con él.

    Un saludo.

  2. Cesar Cordova
    Cesar Cordova says:

    Hola mi estimado Rafa,
    me gustaría programar en una Tablet ciertas aplicaciones que me hacen falta para mi trabajo, por favor me puedes ayudar como empezaría? manuales , herramientas. gracias desde el Peru

Trackbacks y pingbacks

  1. […] unos meses, mi compañero Rafa Saura escribía un post sobre la programación para móviles y tablets. Siguiendo en dicha línea me gustaría seguir en esta entrada reflexionando sobre los temas allí […]

Los comentarios están desactivados.