Tipos de aplicaciones móviles

Resumiendo, es posible concluir que en la actualidad tenemos tres tipos de desarrollos para aplicaciones móviles:

  • Nativas
  • Webs
  • Híbridas

Tipos_aplicaciones_moviles

En la mayor parte de las ocasiones relacionamos desarrollos móviles con aplicaciones nativas. Este tipo de desarrollos son desarrollos hechos de forma específica para un determinado sistema operativo.

Pero también encontramos las aplicaiones Web móviles. Que no son más que aplicaiones que corren sobre un navegador web. Pero en este caso, sobre el navegador web de nuestro dispositivo móvil.

También existen lo que llamamos aplicaciones híbridas. Este tipo de aplicaciones son una combinación de ambas: Nativas + Web. Y todo apunta a que este tipo de aplicaciones móviles tienden a ser las más utilizadas.

En este artículo vamos a repasar cada una de ellas:

Aplicaciones nativas

- Proceso de desarrollo de aplicaciones nativas:

Este tipo de aplicaciones están hechas para ejecutarse en un dispositivo y sistema operativo específico. Así, la mayor parte de las aplicaciones descargadas de la app store de apple son aplicaciones que sólo van a correr sobre iphone e ipad. Este tipo de aplicaciones se crean con distintos tipos de lenguajes. Las desarrolladas para iOS (el sistema operativo de iphone e ipad) lo hacen con los lenguajes:  Objective C, C, or C++. Las aplicaciones desarrolladas para el sistema operativo Android lo hacen con lenguaje Java. Este tipo de aplicaciones corren de forma más eficiente sobre estos dispositivos ya que sus componentes están diseñados de forma específica para este sistema operativo. Además, este tipo de aplicaciones pueden emplear todos los sensores y elementos del teléfono: camara, gps, acelerómetro, agenda, etc…Esta es una diferencia fundamental con respecto a las aplicaciones web.

En el cuadro siguiente vemos los principales entornos en función del sistema operativo del dispositivo:

El código fuente de estas aplicaciones se escribe en función del dispositivo para el que trabajemos. Este código fuente se compila a un ejecutable. Es un proceso similar al de las tradicionales aplicaciones de escritorio. Todos aquellos recursos (imágenes, iconos, etc) que la aplicación necesita para ejecutarse quedan en el archivo compilado. Este archivo está ya listo para ser distribuido y subido a las App stores (tiendas de aplicaciones) específicas del dispositivo para el que trabajamos. Una vez subido el ejecutable, las App strores tiene un proceso de auditoría de la aplicación para evaluar si se adecúa a los requerimientos del sistema.

Ventajas de las aplicaciones nativas: Como hemos dicho antes, las aplicaciones nativas tienen acceso total a las utilidades del sistema operativo del dispositivo: Dispositivos de almacenamiento, cámara, gps, acelerómetro, etc. Esto hace que la experiencia de usuario sea la más completa.

Además del total acceso a los elementos del teléfono las aplicaciones nativas no requieren de conexión web para ser ejecutadas (aunque esto tiende a cambiar). Por último es importante destacar que las aplicaciones nativas tendrán mucha más visibilidad ya que se distribuyen a través de la app store de los fabricantes.

- Desventajas de las aplicaciones nativas: Existen sin embargo algunas desventajas a la hora de elegir esta opción.

  • Al estar desarrolladas para un dispositivo específico quedan fuera de su potencial mercado numerosas aplicaciones.
  • Tienes que esperar a que te aprueben la aplicación para tenerla accesible al gran público.
  • Necesitas desarrolladores con conocimientos específicos de la plataforma

 

Aplicaciones Web móviles

- Proceso de desarrollo de aplicaciones web móviles:  Las aplicaciones web móviles, a diferencia de las aplicaciones nativas, se ejecutan dentro del navegador del teléfono. Por ejemplo, en la plataforma iOS, se ejecutan en el navegador Safari. Estas aplicaciones están desarrolladas con HTML, CSS y Javascript.

-Ventajas:

  • Al contrario que las aplicaciones nativas, las aplicaciones web se pueden ejecutar en múltiples dispositivos evitando así las complejidades de tener que crear varias aplicaciones.
  • El proceso de desarrollo es más sencillo ya que emplean tecnologías ya conocidas como HTML, CSS y Javascript.
  • Estas aplicaciones se pueden encontrar con los tradicionales buscadores.
  • No necesitan de la aprobación de ningún fabricante para ser publicadas.

-Desventajas:

  • Como desventajas tenemos que el acceso a los elementos del teléfono son limitados.
  • Además, estas aplicaciones no se pueden vender en los market place.

 

Aplicaciones Híbridas

 

- Proceso de desarrollo de aplicaciones híbridas: Las aplicaciones híbridas aúnan lo mejor de los dos anteriores modelos. Este tipo de aplicaciones permite el uso de tecnologías multiplataforma como HTML, Javascript y CSS pero permiten acceder a buena parte de los dispositivos y sensores del teléfono. Buena parte de la infraestructura es tipo web y la comunicación con los elementos del teléfono se hace mediante comunicadores  tales como phonegap (http://phonegap.com). Un buen ejemplo de aplicaciones híbridas es Facebook. Se descarga de la app store y cuenta con todas las características de una aplicación nativa pero requiere ser actualizada ocasionalmente.

El proceso de desarrollo para este tipo de aplicaciones es algo más complicado. Al igual que para las aplicaciones nativas, el código una vez creado se compila a un ejecutable. Además, también como en las aplicaciones Web se genera código HTML, CSS y Javascript a ejecutar en un navegador. Ambos códigos se compilan para ser subidos mediante un paquete distribuible a la app store.

 

Nos queda por contaros los que es y representa el phonegap, es decir, el vínculo que une la tecnología web con los elementos propios del teléfono. El phonegap tiene dos objetivos:

Primero, permite que un código fuente cualquiera  se pueda ejecutar en diversas plataformas. Segundo, el phonegap permite que la aplicación web acceda a los diferentes elementos del teléfono.

Otros elementos a tener en cuenta:

Framework de Javascript para móviles

El framework de desarrollo de javascrit te va a permitir construir el interface de usuario de una forma muy eficaz ya que mediante el empleo de librería como: Dojo, jQuery, Sencha, etc..podrás emular los elementos del dispositivo móvil.

HTML5


HTML5 es el lenguaje que más está creciendo para el desarrollo de aplicaciones móviles. Permite acceso a audio, video, geolocalización, soporte de aplicaciones web offline, almacenamiento web, selectores css3 y animación 2D.

Aplicaciones de mapas con el API Javascript de ArcGIS Server


De una forma muy sencilla vas a poder migrar tus aplicaciones hechas con el API de Javascript para ArcGisServer a plataformas móviles. Desde la versión 2.0 (ya vamos por la 2.7) ya tenemos una versión más compacta para las aplicaciones móviles.

Esta versión compacta sólo carga los objetos que la aplicación necesita además de únicamente incorporar  32 módulos de código en lugar de 80. Si necesitases algún módulo no cargado, con una sencilla petición Dojo.require podrías tener acceso.

Conclusiones:

Tenemos tres tipo de aplicaciones para móviles: Nativas, web e Híbridas

Comparativa: Las nativas proporcionan una mejor experiencia de usuario pero ni son multiplataforma nio permiten una publicación inmediata sin pasar por app stores. Las aplicaciones web puras o las híbridas, además, no requieren de conocimientos específicos de lenguajes que accedan a las API propias de los dispositivos móviles lo que hace más sencillo encontrar profesionales que lo conozcan.

Apliaciones Geo para móviles: Si ya has trabajado con la API de Javascript de ArcGisServer te va a resultar muy sencillo, mediante las aplicaciones híbridas, crear tus propias aplicaciones Geo para dispositivos móviles.

En Geospatialtraininges.com hemos preparado un curso que os enseña a crear y administrar este tipo de aplicaciones. 

Mantente al día de las novedades formativas que en materia GIS pondremos en marcha.
Regístrate y te informaremos.


O síguenos en twitter:

Seguir

Recibe cada nueva publicación en tu buzón de correo electrónico.

Únete a otros 766 seguidores

%d bloggers like this: