miércoles, 14 de noviembre de 2012

Arquitecturas para desarrollo móvil - Modelo Nativo


Este artículo forma parte de una serie de artículos donde iré explicando las distintas arquitecturas que tenemos disponibles a la hora de desarrollar para móvil.

Como si fuera una aplicación de escritorio, las aplicaciones nativas se construyen pensando en un único sistema operativo o incluso un único dispositivo. La idea de este enfoque es aprovechar todo el potencial que nos da el entorno para acceder a las características propias del dispositivo móvil y poder así llegar a sacar el máximo potencial en cuanto a rendiemiento y posibilidades que un móvil nos ofrece.


Arquitectura del modelo nativo

La arquitectura se basa en que en el dispositivo implementaremos toda su interfaz, acceso a funcionalidades de la plataforma (cámara y demás) y lógica (al menos la que necesite ser accedida de modo offline). Si existe cierta información que no necesite ser accedidad de modo constante y offline, sino que basta con recuperarla cada vez que haya una conexión disponible, se podría implementar una aplicación web o servicio web que implementase parte de la lógica y recuperación de información.

En este enfoque, la misma funcionalidad (offline y UI) debe ser implementada desde cero para cada plataforma, ya que cada una de ellas usa su propio lenguaje de programación, por lo que no tenemos la opción de compartir implementaciones de funcionlidad común.  Esto puede hacer que pensemos en desechar esta alternativa inmediatamente, pero para algunos escenarios, donde el rendiemiento y la experiencia de usuario cobran especial relevancia, las aplicaciones nativas son necesarias.

Entornos de trabajo para el desarrollo de aplicaciones nativas
Tanto Android como iOS o Windows Phone proveen todos los mecanismos necesarios para crear este tipo de aplicaciones, ya sea un IDE, emuladores o un app store donde ponerla a la venta.

En resumen, puede ser interesante en aplicaciones donde hay un alto nivel gráfico y de procesamiento de imágenes, se requiere geo localización audio o video en tiempo real, se busca la realidad aumentada, integridad transaccional con datos offline del teléfono…

Instagram para iOS o Mint.com son ejemplos de este enfoque.

No hay comentarios:

Publicar un comentario