Desarrollo de aplicaciones móviles híbridas


El desarrollo de aplicaciones móviles híbridas es un enfoque de programación para dispositivos móviles que combina los puntos fuertes de la programación nativa y el desarrollo de apps móviles HTML5.

Las aplicaciones híbridas utilizan una capa de abstracción sobre la plataforma nativa que nos permite encapsular una aplicación HTML5 en una aplicación nativa.

 

Para construir una aplicación móvil híbrida, los desarrolladores escriben el núcleo de la aplicación como una aplicación móvil HTML5 y luego colocan un empaquetador (wraper) de dispositivo nativo alrededor. El empaquetador nativo actúa como intermediario y traduce las instrucciones a una forma que el dispositivo móvil entiende. El núcleo HTML5 de la aplicación móvil híbrida funciona dentro del contenedor nativo y utiliza el motor del navegador del dispositivo móvil (no el propio navegador) para cargar el HTML5 y procesar el código JavaScript a nivel local. El núcleo HTML 5 de la aplicación puede ser reutilizado para otras plataformas móviles. Solo el empaquetador nativo debe ser escrito para cada dispositivo móvil y sistema operativo. Los desarrolladores pueden reducir el tiempo de desarrollo generando empaquetadores con software de proveedores como PhoneGap y Appcelerator.

Así, podemos desarrollar un único código fuente para múltiples plataformas reduciendo notablemente los recursos necesarios tanto de desarrollo como de mantenimiento. La tecnología híbrida reduce el time-to-market y algunas estimaciones nos hablan de un ahorro de costes de entre un 30% y 50% respecto a una app nativa.

La tecnología híbrida se fundamenta en la siguiente base tecnológica: HTML5, JavaScript y CSS. Como prácticamente todos los sistemas nativos móviles cuentan con un navegador web, basado por norma general en un Webkit, podemos hacer uso de esta base tecnológica de una manera segura y estándar.

Estos sistemas híbridos se encargan, por una parte, de encapsular la aplicación con el webkit de la plataforma nativa. Así pueden ser publicadas sin problemas en los markets de cada plataforma (Google Play Store de Android y App Store de iOS). Además nos facilita la conexión con las API’s nativas ofrecidas por cada entorno. De esta manera, accedemos a funcionalidades propias de las aplicaciones nativas como son las notificaciones push, cámara, acceso a las compras de los stores, GPS, sensores, etc.