¿Nativa o híbrida? ¿Qué solución adoptar?
Al desarrollar tu proyecto, es importante conocer sus funcionalidades para decidir si usarás tecnología para una app nativa o híbrida.
El uso de aplicaciones móviles (mobile apps) crece cada día. Cada vez estamos más conectados y el smartphone se está convirtiendo en una extensión del cuerpo humano. Usamos aplicaciones para todo: comunicarnos, divertirnos, investigar, comprar e incluso ligar. Por eso, desarrollar una aplicación hoy en día es un excelente negocio. Pero ¿qué solución adoptar? ¿Una app nativa o híbrida?
¿Es mejor una app nativa o híbrida?
Lo primero que debemos entender es que ninguna regla es siempre válida. Que una aplicación sea nativa o híbrida no significa que siempre sea mejor o peor. Es necesario entender qué hace nuestra aplicación, qué esperamos de ella y hasta dónde puede llegar. Luego, podemos decidir cuál es el mejor modelo tecnológico.
Ambas formas de desarrollo, nativa e híbrida, tienen ventajas y desventajas. En este artículo intentaré aclarar algunos mitos y señalar características importantes de cada tecnología.
Además de las aplicaciones nativas o híbridas, también tenemos las web apps. Veamos ahora en qué se diferencian.
Aplicaciones nativas
Las aplicaciones nativas pueden instalarse en dispositivos móviles (smartphones y tablets). En la mayoría de los casos, se instalan descargando la app desde la tienda correspondiente. En el caso de iOS, la Apple Store, y en el de Android, Google Play.
Su desarrollo se basa en los lenguajes nativos de cada plataforma, junto con uno o más SDK. SDK es la sigla de Software Development Kit, es decir, Kit de Desarrollo de Software o, en nuestro caso, Kit de Desarrollo de Aplicaciones.
Los lenguajes nativos de cada plataforma son:
- iOS puede utilizar Objective C o Swift;
- Android utiliza JAVA; y
- Windows Phone utiliza C#;
Permiten acceder fácilmente a las funcionalidades del sistema operativo del dispositivo, como el GPS, la cámara y el acelerómetro, entre otras.
Aplicaciones híbridas
Al igual que las aplicaciones nativas, las aplicaciones híbridas también se instalan en dispositivos móviles y pueden descargarse desde una tienda de aplicaciones.
La gran diferencia con las nativas es que las híbridas se crean con lenguajes y tecnologías web, y utilizan frameworks (como Cordova, por ejemplo) para convertirse al lenguaje nativo del dispositivo.
Para acceder a los recursos del sistema operativo, los frameworks utilizan bibliotecas y también pueden utilizar SDK.
Los lenguajes de programación (o marcado) que suelen utilizarse en las aplicaciones híbridas son:
- HTML5;
- CSS3, muchas veces basado en Bootstrap o similares;
- Javascript, muchas veces utilizado junto con otros frameworks de front-end, como Jquery Mobile y Angule;
Web apps
Las web apps no son más que páginas de internet a las que se puede acceder desde cualquier navegador. No se instalan en el dispositivo y, por eso, no tienen acceso a las funcionalidades del sistema operativo.
Una web app se limita a tener un diseño similar al de una aplicación para mejorar la experiencia de uso de los usuarios.
¿Qué tipo de aplicación debería elegir, nativa o híbrida?
A continuación, encontrarás una lista de preguntas que debes responder para saber qué tipo de solución es mejor adoptar:
- ¿Qué plazo tienes para desarrollar tu aplicación?
- ¿Tienes presupuesto disponible para invertir en el desarrollo para cada plataforma?
- ¿Con qué frecuencia se actualizará tu aplicación?
- ¿Esta aplicación es un MVP? MVP es la sigla de Minimum Viable Product, es decir, Producto Mínimo Viable.
- ¿Necesitas que el usuario tenga la mejor experiencia de uso posible?
- ¿Utilizarás muchos recursos del sistema operativo? ¿Quieres que tu usuario tenga la mejor experiencia posible?
Con estas respuestas, podrás consultar la tabla comparativa a continuación y definir cuál es la solución más adecuada para tu aplicación.
Tabla comparativa
Nativa |
Híbrida |
HTML5 (mobile web) | |
|
Conocimientos necesarios para Android e iOS |
Objective-C, iOS SDK, Java, Android SDK |
HTML, CSS, Javascript, Mobile Development Framework |
HTML, CSS, Javascript |
|
Distribución |
App Store |
App Store |
Web |
|
Velocidad de desarrollo |
Baja |
Moderada |
Rápida |
|
Costo de desarrollo |
Alto |
Moderado |
Bajo |
|
Costo de mantenimiento |
Alto |
Moderado |
Bajo |
|
Rendimiento gráfico |
Alto |
Moderado |
Moderado |
|
Rendimiento de la aplicación |
Rápido |
Moderado |
Moderado |
|
Acceso a las funcionalidades del dispositivo | |||
|
Cámara |
Sí |
Sí |
Sí |
|
Notificaciones push |
Sí |
Sí |
No |
|
Contactos |
Sí |
Sí |
No |
|
Acceso sin conexión |
Sí |
Sí |
Sí |
|
Geolocalización |
Sí |
Sí |
Sí |
|
Carga de archivos |
Sí |
Sí |
Sí |
|
Giroscopio |
Sí |
Sí |
Sí |
|
Acelerómetro |
Sí |
Sí |
Sí |
|
Navegación swipe |
Sí |
Sí |
Sí |
|
Micrófono |
Sí |
Sí |
Sí |
|
Recomendado para |
Juegos o aplicaciones en las que el foco del usuario está relacionado con el rendimiento gráfico y una experiencia de uso mejorada. |
Aplicaciones que no exigen un rendimiento extremo, pero necesitan acceder a los recursos del dispositivo. |
Aplicaciones que no necesitan utilizar muchos recursos del dispositivo. |
La tabla anterior fue tomada y traducida del sitio MRC Productivity.
Principales aspectos a considerar sobre una app nativa o híbrida
De todo lo que hemos comentado, hay 2 puntos principales que siempre deben tenerse en cuenta al tomar la decisión: plazo y costo.
Plazo
- Aplicación nativa: El tiempo de desarrollo es más largo, porque es necesario crear una versión de la aplicación para cada plataforma.
- Aplicación híbrida: El tiempo de desarrollo es más corto, porque se desarrolla en un solo lenguaje y se compila para otros.
Costo
- Aplicación nativa: Como el desarrollo se multiplica por la cantidad de plataformas, el costo de la aplicación casi duplica el de una aplicación híbrida. Además, la curva de aprendizaje es mucho mayor porque se utilizan distintos lenguajes.
- Aplicación híbrida: El tiempo es mucho más corto, ya que el lenguaje utilizado resulta más familiar para los profesionales web y desarrollar en un lenguaje específico que se compila para los demás reduce el costo de producción casi a la mitad.