Diego Laballós

Desarrollador de aplicaciones Android

Tipos de aplicaciones móviles: Apps nativas, híbridas y web.

Tipos de aplicaciones móviles : aplicaciones híbridas, aplicaciones nativas y aplicaciones web

Antes que todo vamos a aclarar lo más básico. ¿Qué es una aplicación móvil?

Llamamos aplicación móvil a aquellos “pequeños programas” que vemos típicamente en nuestro móvil o tablet. Son aplicaciones simples y amigables para la interfaz de un dispositivo de pequeño tamaño. Sin embargo, lo que comenzó en el móvil y en la tablet, ahora se ha ido extendiendo también a relojes inteligentes, televisiones y coches.

En el mundo de las aplicaciones móviles existen varios tipos de apps. No me refiero a categorías de apps como por ejemplo apps de mensajería o redes sociales. Me refiero a tipos de apps en base a como están hechas tecnológicamente, es decir, a como están creadas.

Es importante saber diferenciar los tipos de aplicaciones móviles, sobre todo si estás pensando en crear una. Podrás encontrar una gran diferencia entre presupuestos, y entre otras cosas, la tecnología con la que están hechas es un factor determinante. Debes saber cómo se va a desarrollar tu aplicación y que características te ofrece una tecnología u otra.

Actualmente existen básicamente 3 tipos de aplicaciones móviles en base a cómo son desarrolladas : Apps nativas, web apps y apps híbridas.

Ejemplos

Como puede ser un poco complicado de entender al principio, vamos a empezar viendo algunos ejemplos.

Ejemplos de aplicación nativa, híbrida y web

En primer lugar, la aplicación web. Es la más fácil de distinguir por el mero hecho que se consume en el navegador de nuestro móvil. La web de el País es un ejemplo de ello. Va un poco más allá de una web adaptada al móvil como veremos más adelante, proporcionando ciertos controles para una mejor experiencia. En este caso, el menú lateral que aparece al tocar en el icono superior de la izquierda, nos permite aumentar la letra, el contraste o cambiar de sección rápidamente.

Como ejemplo de aplicación nativa podemos poner muchos. Facebook, Twitter, Instagram, Whatsapp… Pero por elegir una, dejo una captura de la versión de iOS de Wallapop. Son las aplicaciones diseñadas especialmente para un sistema operativo.

Las aplicaciones híbridas son más difíciles de distinguir. Son una mezcla de aplicaciones web y nativas. Más que nada, depende del nivel de desarrollo al cual llegue la aplicación híbrida. Si se dedica mucho tiempo y esfuerzo, puede llegar a confundirse con una aplicación nativa. Como ejemplo, dejo la aplicación para iOS de Ulabox, que a día de hoy, es una aplicación híbrida.

1. Interacción

Primer punto y más básico. ¿Cómo se consumen estas aplicaciones? ¿Cómo se utilizan?

Mano utilizando iPhone

Aplicación nativa

Las aplicaciones nativas son la mayoría de aplicaciones que tienes instaladas en tu smartphone.

Estas aplicaciones se descargan de las tiendas de aplicaciones como AppStore o Google Play. Una vez instaladas, tienes disponible un icono en la pantalla de tu móvil y puedes acceder a ellas tengas o no tengas conexión a internet.

Aplicación web

Para entendernos, las aplicaciones web son webs adaptadas al móvil. Típicamente no se llama web app a cualquier web que se pueda acceder desde el móvil, ya que todas son accesibles, sino a aquellas webs que tienen una versión muy pensada para los sistemas móviles. Ofrecen controles sencillos e intuitivos para usar en un dispositivo pequeño. Van más allá de simplemente mostrar un contenido estático.

Estas aplicaciones son accesibles a través de un navegador, por ejemplo, Safari en el caso de iOS. Es necesario tener acceso a internet, ya que la aplicación reside en un servidor externo. Al contrario que las aplicaciones nativas, este tipo de aplicación no está en las tiendas de aplicaciones ni puede tener su propio icono en la pantalla de tu smartphone.

Aplicación híbrida

Las aplicaciones híbridas, como verás a lo largo del artículo, son una mezcla entre apps nativas y web apps. En este caso, las aplicaciones híbridas se comportan igual que las aplicaciones nativas.

Este tipo de apps se pueden descargar desde las tiendas de aplicaciones y ser accedidas a través de un icono en la pantalla. El acceso a internet puede ser o no necesario, depende del nivel desarrollo que se lleve a cabo.

2. Lenguaje de programación

¿Cómo están hechas por dentro las aplicaciones? ¿Qué habilidades requieren por parte del programador?

Ilustración de programador programando

Aplicación nativa

Las aplicaciones nativas son aquellas que están hechas para un sistema concreto y por lo tanto con el lenguaje de programación del sistema. Por ejemplo, una aplicación de Android está hecha en Java mientras que una aplicación para iOS está hecha típicamente en Swift. Utilizan los lenguajes que, las empresas propietarias del sistema, ponen a disposición de los desarrolladores.

Se tienen que desarrollar versiones distintas para cada sistema. Si quieres crear una aplicación nativa para Android e iOS, deberás crear dos versiones.

A veces, también requiere que se involucre más de un programador si no encuentras a alguien que sepa desarrollar en ambos sistemas, ya que típicamente los programadores se especializan en un solo lenguaje.

Aplicación web

Una aplicación web está hecha en HTML, CSS y Javascript. Básicamente son los lenguajes de la web. Al ser accedidas a través del navegador, no es necesario crear versiones distintas. Las personas que entren desde un iPhone verán la misma versión que las personas que entren desde un dispositivo Android.

Aplicación híbrida

Una aplicación híbrida en este caso está desarrollada de una manera similar a la aplicación web. Utiliza los lenguajes HTML, CSS, y Javascript. En ocasiones requieren algo de código del lenguaje propio del sistema.

Sin embargo, como hemos comentado antes, no se acceden desde el navegador. ¿Cómo puede ser, si están desarrolladas con lenguajes web? Como respuesta rápida, la aplicación híbrida es como un navegador de internet, sin utilizar la aplicación de navegador de sistema. Utilizan software de otras empresas para poder transportar el lenguaje web a los sistemas móviles. De esta manera, se consigue con un solo desarrollo crear varias versiones para cada sistema.

3. Uso de los recursos del móvil

Si una cosa hace realmente diferentes a los dispositivos móviles, es la gran variedad de componentes que llevan integrados. Las aplicaciones pueden acceder al Gps, cámara, acelerómetro y todos los nuevos sensores que, poco a poco, van incorporando. ¿A qué pueden acceder los distintos tipos de apps?

Móvil utilizado como gps en el coche

Aplicación nativa

Las aplicaciones nativas siempre van a ser las mejores en este aspecto. Una app de este tipo puede acceder a todos los sensores del dispositivo.

Al utilizar el lenguaje de programación del propio sistema, siempre van a poder acceder de una manera sencilla y sin problemas a cualquier funcionalidad que tenga el dispositivo desde el primer día. La propia empresa propietaria del sistema, pone a disposición de los desarrolladores las herramientas necesarias para utilizarlos.

Aplicación web

Una aplicación web tiene un acceso muy restringido a estos componentes. Pueden obtener acceso a algún sensor pero sin poder acceder a toda la funcionalidad existente. Realmente no están pensadas para ello.

Aplicación híbrida

Una aplicación híbrida se encuentra en un punto intermedio en este caso. Tiene más acceso a los sensores del dispositivo que una aplicación web, pero no tanta libertad como una aplicación nativa. No todos los sensores son accesibles y en algunos casos puede ser complicado usarlos.

Estas aplicaciones pueden acceder a estos controles a través del software que utilizan de terceras empresas. Eso quiere decir, que dependen en gran parte del soporte que estas otras empresas desarrollen. En ocasiones puede ser complicado que funcionen al 100% en todos los dispositivos.

Aclarando un poco todo, digamos que Apple saca un nuevo componente del móvil que, por ejemplo, mide la temperatura. Las aplicaciones nativas van a poder acceder a él desde el primer día con total libertad y a través de herramientas que Apple ofrece. En cambio, las aplicaciones híbridas tendrán que esperar a que la empresa que desarrolla la tecnología con la cual trabajan, permita hacerlo y confiar en que no tiene errores en ningún dispositivo.

4) Experiencia de usuario

La forma en la que se usan las aplicaciones móviles es bastante distinta a cómo utilizamos los programas del ordenador. Normalmente cuando instalamos un programa en el ordenador, es porque ya sabemos que lo vamos a utilizar a menudo. Es raro estar descargando programas cada dos por tres y desinstalarlos si no te gustan. Sin embargo, con las aplicaciones móviles no es así. La facilidad con la que se pueden descubrir nuevas apps, instalarlas y desinstalarlas hace que esto cambie radicalmente.

La mayoría de aplicaciones móviles sólo se abren una vez
Fuente : Localytics

Como podemos ver en este gráfico de Localytics, es muy difícil conseguir usuarios fieles en las aplicaciones móviles. El 26% de las aplicaciones sólo se abren una vez. Tan solo otro 26% de aplicaciones son utilizada más de 10 veces. La conclusión es que la mayoría de aplicaciones son desinstaladas o caen en el olvido a pesar de permanecer en el dispositivo.

Malas reacciones de los usuarios a una mala experiencia de aplicación
Fuente : Similarweb

Este otro estudio de Similarweb que puedes consultar a fondo aquí, muestra las reacciones de los usuarios a una mala experiencia en una aplicación móvil.

Algunas de las respuestas más interesantes : el 48% se mostraron reacios a volver a utilizarla, el 34% decidieron cambiar a alguna app de la competencia y el 30% dijeron que habría menos posibilidades para comprar un producto de esa empresa.

Todo ello demuestra que la experiencia de usuario es vital. Es importante tanto para conseguir usuarios fieles como para ofrecer una buena imagen de la empresa.

Aplicación nativa

La aplicación nativa es la que ofrece una mejor experiencia de usuario. Utiliza los controles del propio sistema operativo y sigue las reglas de diseño. Cada versión está especialmente pensada para los usuarios de ese sistema. ¿En qué se traduce esto?

Las aplicaciones son más intuitivas y más simples de utilizar. Por ejemplo, ciertos tipos de controles se posicionan en un sitio u otro dependiendo del sistema, eso hace que un usuario habituado a un sistema en concreto puede encontrar más fácilmente las opciones que tiene una app y aprender a utilizarla más rápido. Además, los controles de la interfaz de usuario están desarrollados por las propias empresas propietarias del sistema, lo que les hace más fiables y rápidos.

Aplicación web

La experiencia de usuario en una aplicación web no es la más deseada para un uso intensivo de la aplicación.

Para empezar, tenemos que abrir el navegador y colocar la url de la web para acceder a ella. Después una vez dentro de la app, tenemos la misma versión para ambos sistemas lo que hace que no se funda con cada plataforma. Además, tenemos que recordar que dependemos de internet para acceder a ellas y que normalmente después de cada acción que llevemos a cabo, vamos a tener que esperar la respuesta del servidor. Al fin y al cabo, no dejan de ser webs.

Aplicación híbrida

Una aplicación híbrida, en el aspecto de experiencia del usuario, se acerca más a la aplicación web que a la nativa. Eso sí, el problema de necesitar internet se elimina.

Como quiero recordar, el objetivo de las aplicaciones híbridas, es poder desarrollar una sola versión para varios sistemas, pero aprovechando ciertas ventajas nativas como el acceso a las tiendas de aplicaciones y a los sensores del móvil. Esto quiere decir, que tenemos el mismo problema que con las aplicaciones web, no se funden con el sistema. No tenemos versiones diseñadas específicamente para cada plataforma.

Este tipo de apps suelen ser más complicadas de mantener en cuanto a errores. Algunos elementos, a veces pueden mostrarse de manera diferente en según que dispositivos o incluso no funcionar. Algunos de estos errores están fuera del control del desarrollador debido a que trabaja sobre la tecnología de otra empresa.

5. Rapidez y potencia

¿Qué quiero decir con rapidez y potencia? Básicamente, la velocidad con la que la app responde a la interacción del usuario. Por ejemplo, la rapidez para responder a los gestos del usuario o el tiempo que tarde en abrirse la aplicación.

Con la gran variedad de aplicaciones móviles en el mercado, los usuarios son bastante exigentes con la rapidez de una aplicación.

La potencia de una aplicación es muy importante para los usuarios
Fuente: Similarweb

Este gráfico sacado del mismo estudio de Similarweb mencionado antes , muestra dichas exigencias. Un 84% de los usuarios encuestados dijeron que la potencia de una aplicación es un aspecto importante para ellos.

La mayoría de usuarios opinan que una aplicación debe abrirse rápido
Fuente: Similarweb

En este caso, se les preguntó a los encuestados, cuántos segundos creían que debería tardar en abrirse una app. Casi el 60% opinaron que debería tardar 2 segundos o menos.

Aplicación nativa

Las aplicaciones nativas son las que ofrecen más potencia, fiabilidad y velocidad en la interacción del usuario. El estar desarrolladas con el lenguaje específico del sistema les permite ser rápidas y eficientes.

Aplicación web

En este caso, las aplicaciones web dependen del navegador. Al ejecutarse en el navegador del sistema dependen totalmente de él, con lo cual la respuesta no es tan rápida.

Además, cada cambio de pantalla, típicamente requerirá solicitar al servidor el nuevo contenido y por lo tanto una espera mucho mayor.

Aplicación híbrida

Las aplicaciones híbridas dependen también del navegador. No del mismo navegador que las aplicaciones web, pero muy parecido. Dependerá mucho del nivel de desarrollo al cual se llegue, pero generalmente, son más potentes que las aplicaciones web pero menos que las aplicaciones nativas. Al fin y al cabo, se está ejecutando un app sobre otra app por decirlo de alguna manera. En este caso, puede ser que no sea necesario pedir contenido al servidor entre pantalla y pantalla y por lo tanto ser más rápidas que las aplicaciones web en la transición de la interfaz gráfica.

6. Coste y tiempo de desarrollo

Uno de los puntos importantes a la hora de crear una app, son el coste y el tiempo de desarrollo. Aquí cambian un poco los papeles, vamos a verlo.

Móvil con un icono de tiempo y coste

Aplicación nativa

Si en todos los puntos anteriores, las aplicaciones nativas ganaban, en este, no es el caso. El hecho de tener que desarrollar diferentes versiones para distintos sistemas operativos, requiere más tiempo de desarrollo y más coste.

No solo el desarrollo inicial es mas costoso y lleva más tiempo, si no que cada cambio que se quiera llevar a cabo, tiene que hacerse en las distintas versiones de la aplicación. Cada cambio requerirá una actualización en la tienda de aplicaciones.

Aplicación web

Las aplicaciones web son las ganadoras aquí. En cuanto a tiempo y coste son mucho más rápidas y económicas de hacer.

Cada cambio que se quiera hacer, se puede llevar a cabo de forma instantánea en el servidor y estar disponible al momento para todas las versiones.

Aplicación híbrida

La aplicación híbrida se sitúa en un punto intermedio. Tiene un coste y tiempo de desarrollo inferior a las aplicaciones nativas pero superior a las aplicaciones web. Su coste dependerá mucho del nivel de desarrollo que se lleva a cabo. Cuanto más se quiera parecer a una aplicación nativa, más tiempo y coste de desarrollo conllevará.

Por otra parte, los cambios se hacen únicamente en una versión con cambios mínimos para cada sistema. Cada cambio requiere también una actualización en las tiendas de aplicaciones.

Conclusión

Elegir una u otra tecnología dependerá de tus objetivos, calidad que busques y presupuesto disponible. Como en muchas otras cosas, podemos resumirlo en el siguiente gráfico.

Comparación calidad precio

Cuanto más te acerques a la calidad, más te alejarás de un precio económico. De la otra manera, cuanto más te acerques a un precio económico más te alejarás de la calidad. No es ningún misterio.

Típicamente una aplicación web es el primer paso para acercarte a los dispositivos móviles. Sin embargo, no tiene la gran ventaja de poder estar instalada en el dispositivo del usuario, lo cual es un punto débil.

Las aplicaciones híbridas en su caso, son útiles para probar suerte en lo móviles. ¿Tienes un presupuesto reducido? Haz una aplicación híbrida. ¿Tienes una aplicación muy simple, que no requiere un gran uso de los componentes del móvil y no buscas una calidad excelente? Puede ser una buena elección también.

Ahora bien, si buscas desarrollar una aplicación móvil de calidad y donde la experiencia de usuario sea importante, haz una aplicación nativa. Hoy en día las la mayoría de las grandes aplicaciones son aplicaciones nativas, apps como Facebook, Whatsapp, Airbnb son ejemplos de ello.

Una buena opción para empezar con un presupuesto no muy alto y con la calidad de las aplicaciones nativas, es centrarse en una plataforma. Empezar desarrollando primero en un sistema y más tarde añadir una versión para otro sistema. Si te interesa saber más sobre esta opción, tengo un artículo donde hablo únicamente de ello.

Si tienes alguna duda o pregunta, puedes contactar conmigo en este formulario. Ah, si estás pensando en desarrollar una aplicación nativa también puedes contactar conmigo, no lo había dicho, pero me dedico al desarrollo de aplicaciones nativas para iOS y Android ; )

Compartir