Aplicaciones móviles híbridas: la solución más eficiente para el desarrollo multiplataforma

El mundo de la tecnología móvil no para de crecer, según el Consumer Barometer de Google hemos pasado de un 44% de uso de móvil en 2012 a un 87% de 2017.

España es uno de los países con mayor penetración de tecnología móvil. El smartphone ha pasado de ser una herramienta más de comunicación a ser una prolongación tecnológica de nosotros mismos. Desde el móvil o la tablet, nos podemos al día de las noticias, nos conectamos a nuestro banco, compartimos y opinamos en RRSS, estamos en contacto con nuestros amigos, buscamos trabajo o incluso monitorizamos nuestra salud a través de diversas apps móviles.

Siguiendo el ritmo de la sociedad, la tecnología móvil se ha convertido en una obligación también para el negocio: la movilidad empresarialDesde este punto de vista, los objetivos y utilidades de las apps móviles son muy variados:

  • Fidelizar a clientes o empleados
  • Mejorar la experiencia de usuario
  • Facilitar la comunicación efectiva
  • Optimizar procesos
  • Ganar agilidad en los puntos críticos de tu back office
  • Aumentar la productividad
  • Incrementar la competitividad

Como compañía especializada en transformación digital, en Profile sabemos que hoy por hoy una de las apuestas estratégicas más importantes en la mayoría de las organizaciones consiste en incluir en sus procesos de negocio y operaciones el desarrollo de aplicaciones móviles.

Cualquier empresa que desee crear una aplicación móvil se encontrará en primer lugar ante la encrucijada de saber qué tecnología utilizar para el desarrollo y mantenimiento de la app. Esta decisión marcará la calidad final de la aplicación, el coste de desarrollo,  tanto en tiempo como en dinero, y los costes de mantenimiento.

Dentro de las posibilidades para el desarrollo de aplicaciones móviles, distinguimos entre dos sistemas: aplicaciones nativas y aplicaciones híbridas.

Pero, ¿qué son exactamente estos sistemas?

Aplicaciones nativas

Las aplicaciones nativas se denominan así porque se desarrollan en el lenguaje nativo del propio dispositivo.

Dependiendo de la plataforma en la que queramos utilizar nuestra aplicación (Android o iOS) tendremos que utilizar un lenguaje de programación y un entorno de desarrollo concreto y conocer en cierta manera las características nativas del sistema operativo de destino.

Esto hace que la creación de equipos de desarrollos multiplataforma resulte compleja, ya que, debido a las grandes diferencias entre Android e iOS, necesitaremos un perfil específico para cada una de las plataformas. También habrá que coordinar el desarrollo de manera simultánea para que la aplicación tenga el mismo aspecto y funcionalidad en cada uno de los sistemas operativos.

Sistema OperativoFabricanteLenguaje de programaciónEntorno
AndroidGoogleJavaAndroid Studio
iOSAppleObjective C, SwiftXCode

El principal beneficio de las aplicaciones nativas es que, al estar desarrolladas directamente sobre la capa nativa del terminal, el rendimiento será óptimo y tendremos acceso directo a las características del dispositivo móvil como puede ser la cámara o el GPS.

Como ya hemos comentado, entre sus desventajas destaca el elevado coste de desarrollo y mantenimiento, pues requiere un equipo especializado y más tiempo de desarrollo. Además, como está programado en lenguaje nativo el código no puede ser aprovechado para otra plataforma.

Aplicaciones híbridas

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.

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.

 

Cuadrante tecnología nativa, híbrida y html5 (capacidad y plataformas)
Fuente: https://developer.salesforce.com

 

Este gráfico es un buen resumen de las diferencias entre tecnologías. Sobre un eje cartesiano que representa por un lado las capacidades y por otro la ejecución sobre una o múltiples plataformas, encontramos que los sistemas híbridos se sitúan en el cuadrante más ventajoso, combinando las virtudes del desarrollo web con el acceso a todas las funcionalidades nativas.  

Si nos adentramos más en detalle dentro de las diferentes tecnologías híbridas que existen, actualmente destaca el framework open source de Apache Cordova. Grandes empresas como Adobe, Intel o Microsoft avalan esta tecnología ayudando a su desarrollo con productos orientados a este framework como Phonegap, XDK o su integración en Visual Studio mediante las herramientas TACO.

En la siguiente imagen, podemos apreciar cómo funciona la arquitectura de esta plataforma y cómo Cordova nos hace de puente entre la parte del WebKit y la parte nativa del sistema.

capas arquitectura de ejecucion cordova
Fuente: http://digitaldrummerj.me

 

La tecnología híbrida también tiene sus puntos débiles. Respecto a las apps nativas, el rendimiento es menor al ejecutarse sobre una capa webkit y su aspecto poco nativo, lo que puede interferir en la experiencia de usuario.

Para contrarrestar las desventajas de las aplicaciones híbridas, se están definiendo nuevas técnicas y estrategias:

  • Mejorar UX de la aplicación aplicando frameworks visuales orientados a dispositivos móviles como son Ionic.

 

arquitectura app movil ionic
Fuente: http://digitaldrummerj.me

 

  • Optimización de rendimiento: empleando protocolos ligeros como API Rest o JSON además de la utilización de sistemas de alta disponibilidad dentro del backend que sirve a nuestra app.

Como conclusión y siempre desde mi punto de vista, podríamos decir que si deseamos una aplicación con claros requerimientos de alto rendimiento como pueden ser juegos, VR, o aplicaciones de realidad aumentada la opción elegida debería ser nativa.

En cambio, si lo que necesitamos es una app de gestión, tratamiento de datos, tienda online, CRM o cualquier otra aplicación para movilizar nuestro backoffice, la tecnología idónea es el desarrollo híbrido, por costes, tiempos de desarrollo y facilidad de mantenimiento.


¿Te gustaría impulsar tu negocio aplicando soluciones de movilidad empresarial? Tenemos experiencia desarrollando apps móviles que optimizan el negocio de nuestros clientes. Contacta con nosotros y explícanos cuál es tu objetivo.

¿Te pareció interesante? Compártelo:
Share on FacebookShare on Google+Tweet about this on TwitterShare on LinkedInPrint this pageEmail this to someone

Sobre el Autor: Daniel Triguero

Mobile Developer Manager en Profile Software Services