Tecnologías de desarrollo para móviles

La llegada de los dispositivos móviles (tablets, smartphones, phabets…) a Internet ha generado una demanda de contenidos adaptados para estos dispositivos que las compañías están tratando de satisfacer aplicando las diferentes tecnologías disponibles:

  1. Diseño de sitios web utilizando HTML5 Responsive
  2. Diseño de sitios web para móviles utilizando HTML5
  3. Diseño de aplicaciones web para dispositivos utilizando HTML5
  4. Diseño de aplicaciones nativas para dispositivos utilizando HTML5
  5. Diseño de aplicaciones nativas para dispositivos (Android, iOS…)

Es importante entender las capacidades y limitaciones de cada una de estas tecnologías para enfocar la línea de trabajo de una compañía en la difusión de sus actividades al mundo móvil.

1. Sitio web HTML5 Responsive

Esta técnica permite diseñar aplicaciones web que se adaptan a las capacidades de visualización de los dispositivos, reorganizando los elementos de pantalla para que puedan ser accedidos desde cualquier dispositivo. Se desarrolla un único sitio web que es accedido a través del navegador.

La limitación más obvia es que no se aprovechan las capacidades de ningún dispositivo, ya que el diseño debe ser generalista y no puede incluir ninguna funcionalidad específica. El sitio web es accesible desde cualquier dispositivo, pero la experiencia de usuario no es óptima para ninguno de ellos.

Existen diferentes frameworks HTML5 (p. e. Less Framework)  y plugins para gestores de contenidos web (p. e.  WordPress) que permiten agilizar las tareas de diseño de este tipo de soluciones.

2. Sitio web móvil con HTML5

A través de esta tecnología se diseñan sitios web específicos para dispositivos móviles, redirigiendo las peticiones (p. e. mediante identificación del user agent) a una URL diferente a la del sitio web tradicional. El sitio web móvil es diseñado de acuerdo a las características de los dispositivos, enfocando su construcción a la usabilidad de los contenidos, y los dispositivos acceden mediante el navegador web.

Ejemplo de sitio web móvil (www.inversis.com/mobile)

La limitación de este tipo de soluciones se basa en el empleo del navegador como software de visualización, lo que restringe el acceso a características específicas de los dispositivos. Asimismo, al tratarse de una URL, el acceso de los usuarios al servicio suele ser más errático, ya que no disponen de una aplicación catalogada en los diferentes Markets (Android, iOS…).

Existen diferentes frameworks web para poner en práctica esta tecnología (JQuery Mobile, Sencha Touch, Ember.js…)

3. Aplicación web móvil con HTML5

Esta tecnología es equivalente a la anterior. La única diferencia es que se empaqueta una aplicación nativa para los Markets que se basa en la inclusión un marco de navegación que accede al sitio web móvil.

Por ejemplo, en el caso de Renfe puede accederse directamente a la URL del sitio web móvil (www.renfe.mobi) o descargar la aplicación del Market (p. e. Android app) para obtener el mismo resultado.

4. Aplicación nativa con HTML5

El diseño de aplicaciones nativas, que no usan el navegador para mostrar los contenidos al usuario, puede ser realizado mediante tecnologías de desarrollo HTML5. Estas tecnologías permiten desarrollar una única vez y distribuir la aplicación para los diferentes sistemas operativos (Android, iOS…). Asimismo, ponen a disposición del desarrollador algunas de las características específicas de los dispositivos que no eran alcanzables en las alternativas anteriores.

Una de las aplicaciones nativas en HTML5 más significativas es la versión para Android de Facebook, que exprime las posibilidades de esta tecnología.

Las limitaciones de este enfoque tienen que ver con el empleo de características específicas del dispositivo (como la grabación de voz), ya que aún no están soportadas en los diferentes intérpretes de HTML5. Asimismo, la experiencia de usuario todavía no alcanza la calidad de las aplicaciones nativas.

Existe diferentes frameworks (PhoneGap, Appcelerator…) que permiten construir este tipo de aplicaciones, aunque el conocimiento en JavaScript del desarrollador debe ser elevado.

5. Aplicación nativa

Las aplicaciones nativas se construyen empleando los propios entornos de desarrollo facilitados por los fabricantes del sistema operativo (SDK de Android, SDK de iOS…) y se programa en el lenguaje específico del dispositivo (Java, Objective-C…). Estas aplicaciones pueden ejecutarse en diferentes versiones del sistema operativo.

Un ejemplo de este tipo de aplicaciones es la app nativa de Flipboard para Android, que muestra la calidad en la experiencia de usuario que puede conseguirse explotando las capacidades nativas de los dispositivos.

El mayor inconveniente de este tipo de aplicaciones es el coste de desarrollo que implican, ya que es necesario recodificar la aplicación para cada sistema operativo en el que se quiere publicar. Incluso en ocasiones es necesario realizar versiones específicas para diferentes dispositivos o versiones del sistema operativo.

El mercado

Las grandes compañías están apostando por el modelo “tienda de aplicaciones”, un camino que fue iniciado por Apple, seguido por Google y al que se ha apuntado Microsoft (incluyendo una tienda de aplicaciones para ordenadores personales con Windows 8).

Por otro lado, Mozilla está impulsando la evolución de HTML5 a través de iniciativas como su lanzamiento de Firefox OS, un sistema operativo nativo en HTML5 para dispositivos móviles.

Algunos desarrolladores de aplicaciones, como Facebook, han abandonado su línea de desarrollo en HTML5 y han optado por el desarrollo nativo.

En cualquier caso, lo único que parece claro, es que el nuevo modelo pasa por atraer al usuario a las tiendas de aplicaciones, por lo que parece casi un suicidio estratégico omitir la publicación de aplicaciones de uno y otro tipo en estos almacenes electrónicos.

Conclusiones

Existen muchas variables que deben ser tenidas en cuenta antes de decantarse por alguna de las alternativas presentadas (presupuesto, capacidades tecnológicas, conectividad, mercado objetivo…), aunque parece evidente que la calidad en la experiencia de usuario es directamente proporcional al coste del desarrollo de la aplicación.

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s