Tipos de Apps para móviles

by / Sunday, 22 June 2014 / Published in diseñador web

Cuando usted desea desarrollar un App (Aplicación para dispositivos móviles), debe tomar la decisión de cómo va a estar construida técnicamente. Primero debe definir bien su proyecto en función de lo que necesite hacer con el App se define cómo hacerlo.

En términos generales existen tres tipos de Apps:

  1. Aplicaciones nativas
  2.  Aplicaciones híbridas
  3. Aplicaciones web

Sin embargo, la mezcla de las mismas, o tomar lo mejor de cada una, en la medida que se se pueda, es también una alternativa.

Aplicaciones nativas

Una app nativa, en principio (y solo en principio), es una aplicación que se desarrolla directamente en el lenguaje nativo de cada terminal. Por eso, si vamos desarrollar una App nativo debemos utilizar un lenguaje diferente para cada Sistema Operativo. Los lenguajes de programación para los dispositivos de plataformas más comunes son:

  • iOS: Objective C (Móviles Apple)
  • Android: Java
  • Windows: C# y Visual Basic .NET.
  • BlackBerry 10: C++

En principio, una App nativa es la opción cuyo resultado es el más robusto y fluido ya que se desarrolla directamente para integrarse en el Sistema Operativo. Si el App surge de una buena idea y un diseño bien trabajado a todos los niveles, la experiencia de usuario será completa ya que su funcionamiento, rendimiento y respuesta será el más inmediato de todas las opciones de desarrollo incluso en los diseños más complejos y personalizados.

 

Desarrollar Apps nativas le permite:

 

  • Tener acceso a todo el hardware del móvil como puede ser el GPS, la cámara y demás accesorios.
  • Acceso a todas las librerías gráficas del SO (botones, etc.).
  • Envío de notificaciones push, una de las herramientas de comunicación más potentes de las Apps.
  • Modular todas las ventajas que ofrece estar las diferentes tiendas de aplicaciones como puede ser integrar contenidos de pago para modelos de negocio.
  • Sincronizar o cachear datos para funcionar sin conexión a internet.

 

Las desventajas son fundamentalmente del tipo económico ya que, no será posible reutilizar el código de un SO en otro y no solo eso, debes tener en cuenta que las Apps necesitan actualizaciones a nuevas versiones del SO, mantenimiento y/o aumento y mejoras de las funcionalidades… y todas estas cosas deberás hacerlas directamente en el código nativo de cada plataforma, es decir el App hay que desarrollarlo para cada plataforma.

Por lo tanto, realizar tu proyecto en nativo te obligará a contar con una plantilla de técnicos con alta preparación y experiencia en lenguajes mucho menos utilizados entre los desarrolladores (comparado por ejemplo con lenguajes web). Los programadores expertos en estos lenguajes están muy solicitados y a mayor nivel y experiencia, mayores serán sus expectativas económicas. Factores sin duda determinantes en el precio final de todo desarrollo.

 

Aplicaciones híbridas

 

Generalmente consisten en Apps que contiene en su interior el navegador web del dispositivo. Para su desarrollo se utilizan frameworks de desarrollo basados en lenguajes de programación web (HTML, CSS y JS). Actualmente Phonegap es el más conocido (aunque no el único) y el que concentra mayor número de desarrolladores a su alrededor.

En este tipo de Apps el nivel de integración con el SO dependerá del framework de desarrollo utilizado y como de abierto sea el SO (BlackBerry 10 es todo un ejemplo), teniendo cada uno de ellos sus ventajas e inconvenientes. Actualmente con esta opción Usted tendrá bastante acceso al hardware del teléfono e incluso en algunos casos a las librerías del SO.

De todas maneras, la cosa ha ido evolucionando a desarrollos más complejos en los que ciertas funcionalidades se ejecutan como una web y otras en nativo, como por ejemplo Instagram que utiliza nativo para hacer y publicar la fotografía, pero web para desplegar las fotografías y perfil.

Su uso es una opción muy económica y muy interesante para llegar al mayor número de usuarios repartidos en las diferentes plataformas y dispositivos aunque por el momento sus limitaciones son claras.

Aplicaciones Web

Esta pregunta se la hace mucha gente: ¿Una web que al visitarla desde el navegador de un dispositivo móvil se adapta al tamaño de su pantalla podría considerarse una App?

Pues una Aplicación Web o Web App es precisamente eso, una web a la que se accede a través de una URL en el navegador del dispositivo (Safari, Chrome o el que sea) y se adapta al formato de tu pantalla para que tenga aspecto de navegación App. Los navegadores de los móviles permiten crear un acceso directo en nuestro escritorio de esta web, así que esa será la manera de “instalarla” (si se le puede llamar así) en nuestro dispositivo.

En función de cómo sea nuestro proyecto tecnológico quizá solo nos interese adaptar nuestra web a formato móvil con lo que hacer una Web App se convierte en una solución estupenda. O quizá consideremos necesario que además de tener nuestra App en las diferentes tiendas, tener una versión web a la que se acceda desde un navegador, en ese caso es importante que tenga en cuenta que muchos de los diferentes frameworks de desarrollo híbridos que existen (y también Titanium Appcelerator) le permitirán un desarrollo multiplataforma completo que incluirá también la web.

A nivel de lenguajes de programación, al ser una solución web, Usted deberá usar lenguajes de programación web (HTML, CSS y Javascript).

Sus inconvenientes principales son:

 

  • Están altamente limitadas en el acceso al hardware del dispositivo.
  • Tiempos de respuesta y experiencia de usuario propios de una navegación web.
  • No se encuentran en las tiendas de apps, siendo este el lugar donde la gente está acostumbrada a buscar las apps.
TOP