a

Somos una startup de tecnología dedicada a la transformación digital. Especializados en desarrollo de aplicaciones móviles, desarrollo web a medida y marketing digital.

Últimas noticias
Síguenos
Armadillo Amarillo > Tecnología  > Desarrollo de aplicaciones híbridas: ¿Cuándo son buena opción?
Desarrollo de aplicaciones híbridas

Desarrollo de aplicaciones híbridas: ¿Cuándo son buena opción?

Para poder hablar del desarrollo de aplicaciones híbridas y cuándo son una buena opción frente a otro tipo de desarrollos, hay que empezar por el principio. ¿Qué son las aplicaciones híbridas? ¿Qué diferencias hay frente a las aplicaciones móviles nativas? ¿Cuáles son las ventajas e inconvenientes de cada una de ellas? Responder estas preguntas es una buena forma de empezar. 

Para muchos el concepto de una aplicación híbrida está claro. Pero, para los que no, os lo intentaremos explicar de un modo sencillo. Para empezar, debemos ponernos en contexto. ¿Cuáles son los tipos de aplicaciones móviles que existen? 

  • Aplicaciones nativas (iOS y Android)
  • Web apps (PWAs)
  • Aplicaciones híbridas

Vamos un poco más allá: 

 

¿Qué son las aplicaciones nativas?

Las aplicaciones nativas son aquellas que han sido desarrolladas en un lenguaje particular y de forma específica para un determinado sistema operativo (SS.OO.). En concreto, para Android o para iOS. 

Hasta hace unos años, existían 3 sistemas operativos, que se repartían el mercado de los smartphones a nivel mundial. Hablamos de Android, iOS y Windows Phone. Hay que especificar que los peces gordos del mercado son los dos primeros. De hecho, Microsoft ya avisó a finales del año pasado que descontinuaría el desarrollo de nuevas funcionalidades para Windows Phone. Con total acierto, ya que el pedacito de tarta que tenía era totalmente residual.

Para que nos hagamos una idea, la cuota de mercado de los sistemas operativos es el siguiente. Para móviles en España, es de casi un 90% para Android y un poco más del 10% para iOS.

 

apps hibridas cuota mercado smartphones

Fuente: Kantar 

Visto lo visto, únicamente hablaremos de Android e iOS cuando nos refiramos a aplicaciones nativas. Para desarrollar una aplicación en Android se utiliza el lenguaje de programación Kotlin (aunque podemos seguir utilizando Java). Por otra parte, para hacer el desarrollo de una app nativa iOS es necesario conocer los primeros pasos del lenguaje Swift

Una vez terminado el desarrollo en lenguaje nativo, éste se debe subir a las tiendas de apps para que sea validado por el equipo de Android e iOS. Superada la evaluación, nuestras aplicaciones se podrán encontrar en sus respectivas tiendas (Google Play y App Store).

 

¿Qué son las web apps o PWAs?

Las web apps o Progressive Web Apps son aplicaciones que están a medio camino entre una aplicación web y una aplicación nativa. Es decir, son aplicaciones web que corren sobre un navegador web, pero, que a través de los service workers y otras tecnologías, son capaces de comportarse como aplicaciones móviles.

Incluso se puede acceder a funcionalidades en segundo plano o el uso de notificaciones push. De hecho, puedes añadirlas a la pantalla de inicio de tu Smartphone, exactamente como si fueran aplicaciones nativas.

 

¿Qué son las aplicaciones híbridas?

Tras esta explicación de los diferentes tipos de aplicaciones que hay, por fin llegamos a lo que nos interesa. Esto es, explicarte qué son las aplicaciones híbridas y cómo han ido evolucionando a lo largo del tiempo, hasta convertirse en una opción más que fiable para el desarrollo de casi cualquier aplicación móvil.

El desarrollo de aplicaciones híbridas se realiza a través del lenguaje de programación web. Pero, cuando el equipo de desarrollo acaba de picar todo el código fuente, son compiladas y se convierten al lenguaje de programación específico de un sistema operativo. Es decir, tendríamos el mismo resultado que con las aplicaciones nativas.

Se ha dicho de las aplicaciones híbridas que no ofrecen la mejor experiencia de usuario o que no son tan atractivas visualmente como una aplicación móvil nativa. O que no tienen acceso a todos los recursos del dispositivo. En definitiva, las aplicaciones híbridas han tenido una mala fama. Pero las tecnologías de desarrollo han evolucionado y esta mala fama hoy en día está muy lejos de ser la realidad. 

Los frameworks (entornos de trabajo) que se utilizan para el desarrollo de estas aplicaciones han avanzado muchísimo desde las primeras versiones. Incluso, hasta alcanzar unas prestaciones que nada tienen que envidiar a las apps nativas. Por ello, queremos apostar por el uso de las aplicaciones híbridas mediante argumentos.

 

apps hibridas nativas y webapps-01

Ventajas y desventajas

En este punto, hay algo que queremos dejar claro: en el mundo del desarrollo de software las cosas no son blancas o negras. La opción de desarrollo más adecuada siempre dependerá de muchos factores del proyecto que tenemos por delante. Y, por supuesto, de las necesidades del mismo. Vamos a enumerar los pros y los contras de cada uno de los tipos de apps que hemos mencionado.

 

Aplicaciones nativas

  • Ventajas: acceso completo al dispositivo, UIUX, visibilidad en la App Store.
  • Inconvenientes: precio de desarrollo. Para las apps nativas hay que tener dos equipos de desarrollo, uno para cada lenguaje (Swift y Kotlin). Otra de las desventajas es que el código no es reutilizable y la duplicidad de mantenimiento de dos repositorios de código fuente.

 

Web apps – PWAs 

  • Ventajas: código reutilizable, sencillez en desarrollo (HTML, CSS y javascript), no requiere aprobación por parte de las Stores.
  • Inconvenientes: UI/UX menos atractivo, acceso limitado al dispositivo y poca visibilidad. Las web apps al no estar en las Stores, pierden a la mayoría de usuarios que únicamente buscan las apps en las tiendas correspondientes a su Smartphone.

 

Aplicaciones híbridas

  • Ventajas: facilidad de desarrollo, ya que se utilizan tecnologías web; precio de desarrollo, porque sólo requiere de un equipo de desarrollo para ambos sistemas operativos; código reutilizable, UI/UX atractivo, visibilidad en las Stores y acceso al dispositivo.
  • Inconvenientes: menor velocidad de ejecución y respuesta que las apps nativas.

 

desarrollo apps hibridas frameworks

Frameworks para desarrollar aplicaciones híbridas

Un framework es un entorno de trabajo que utilizan los programadores y que cuentan con una estructura previa que se establece para organizar y desarrollar un software. Con estos espacios se pueden automatizar muchos procesos y por ello se facilita la programación bien sea de un desarrollo web o de una aplicación móvil. 

Hay infinidad de aplicaciones híbridas que han sido creadas con un framework de desarrollo. Apps de la talla de Uber, Airbnb o Instagram son algunos ejemplos. Tanto las funcionalidades, el acceso a los elementos del dispositivo y la experiencia de usuario son tan espectaculares como en las apps nativas. Y no somos los únicos que lo decimos, puedes encontrar diversas aplicaciones muy conocidas que nunca hubieses pensado que eran híbridas.

 

Ionic Framework

La primera versión de Ionic salió al mercado en 2013, hace ya 7 años, basado en AngularJS y en Apache Cordova. Desde entonces, ha llovido mucho, y tenemos desde el mes de febrero Ionic 5. Con este, podemos desarrollar nuestro código con AngularJS, ReactJS y VueJS. 

Es uno de los frameworks más potentes y versátiles para el desarrollo de aplicaciones híbridas. Tiene una comunidad de desarrolladores muy grande y la curva de aprendizaje para los desarrolladores que vienen de tecnologías frontend es mínima.

 

React Native

La primera versión de React Native salió al mercado en 2015. Es la apuesta de Facebook para el desarrollo de aplicaciones híbridas. Es decir, React Native va a seguir creciendo y evolucionando ya que tiene a un gigante detrás. Este framework se apoya en ReactJS, también desarrollado por Facebook.

 

Xamarin

Al igual que React Native es la apuesta de Facebook, Xamarin es la apuesta de Microsoft. El lenguaje que se utiliza para desarrollar en Xamarin es C#. 

 

Flutter

Es la apuesta de Google para sumarse al desarrollo híbrido. El lenguaje de programación que se utiliza es Dart.

 

Apps hibridas o nativas

¿Cuándo desarrollar una aplicación híbrida o nativa? ¿Qué debo tener en cuenta?

Como comentábamos antes, la decisión de desarrollar tu aplicación de forma nativa o de forma híbrida depende de las necesidades de tu producto y de las tendencias en las aplicaciones. Entre estas necesidades, por ejemplo, el tiempo que puedas invertir en desarrollo, el presupuesto del que dispongas o la complejidad de tu aplicación.

Explicamos en detalle cada una de ellas: 

 

Tiempo de desarrollo

El tiempo de desarrollo para aplicaciones híbridas siempre será menor que para aplicaciones nativas. Ten en cuenta que se está desarrollando sobre la misma base (código fuente) para luego compilarlo para Android e iOS. Mientras que si desarrollas en nativo tienes que desarrollar dos proyectos en paralelo.

En este caso estamos hablando de tiempo de desarrollo inicial. Pero, también se puede trasladar al despliegue de nuevas funcionalidades.

 

Coste de desarrollo

Por lo general el coste de desarrollo para aplicaciones nativas será mayor que para aplicaciones híbridas. Esto se debe a que para una aplicación híbrida únicamente necesitas un equipo de desarrollo especializado en Javascript y no dos equipos especializados en Kotlin y en Swift. 

 

Complejidad

Si la complejidad de tu aplicación es muy alta, es posible que necesites desarrollar tu aplicación en lenguaje nativo. 

Cuando hablamos de complejidad, nos referimos a cuan compleja es la lógica de la aplicación móvil, no estamos hablando en ningún caso de la complejidad de negocio. Esta lógica está centralizada en el backend de la aplicación y es independiente de la tecnología que se utilice para el frontend de la app.

 

Equipo de trabajo

Teniendo en cuenta que los recursos humanos que hay actualmente en el mercado, te adelantamos algo: Es más sencillo encontrar profesionales que sean buenos en tecnologías web (y hayan trabajado con frameworks para desarrollar en híbrido), que profesionales que se hayan especializado en aplicaciones nativas, en Swift o Kotlin.

 

Experiencia de usuario y rendimiento

Si tu aplicación tiene necesidades muy exigentes en cuanto a la experiencia de usuario y usabilidad, es posible que tengas que decantarte por una app nativa. Hablamos por ejemplo de una usabilidad milimétrica al momento en que la app reconozca la ubicación del móvil. 

 

¿App híbrida o nativa?

En definitiva, no es una elección que sea fácil de hacer sin tener todos los elementos del proyecto sobre la mesa. Tras la continua evolución que tiene el desarrollo web, las prestaciones cada vez más altas de los smartphones y bajo nuestra experiencia profesional tras años desarrollando aplicaciones, podemos decir que pocas aplicaciones móviles necesitan realmente de un desarrollo nativo específico que no puedan ser suplidas por un desarrollo híbrido.

Sin embargo, para conocer realmente las necesidades técnicas de cualquier proyecto, siempre es un acierto comentarlo con un experto. Para saber los tipos de aplicaciones y cuál necesita tu negocio, de acuerdo a tu caso particular se podrán valorar las opciones, los pro y contras específicos del proyecto. 

 

Desarollo apps y platafromas web

Jorge Caballero

Armadillo Habilidoso. Ingeniero de Sistemas Audiovisuales por la UC3M. ¿Lo que me gusta? Pasar un rato largo con amigos, cualquier tipo de música y una buena serie! Siempre preparado para un nuevo reto.

No Comments

Leave a reply