Technology
App web nativa o híbrida possible

¿Aplicaciones Híbridas, Nativas o Web Apps?

Desde hace ya más de 8 años en Possible llevamos a cabo proyectos de desarrollo de soluciones digitales que requieren aplicaciones diseñadas y adaptadas para ser utilizadas en dispositivos móviles.

¿Cuáles son las opciones?

Existen varias opciones a la hora de desarrollar o digitalizar procesos para ser utilizados por los usuarios finales en plataformas o dispositivos móviles. En este post trataremos las más utilizadas que son: Web Apps, Apps Híbridas y Apps Nativas.

aplicaciones web nativas híbridas hibridas app Possible tipos

WEB APPS

Las Web Apps son aplicaciones webs, es decir, páginas webs; pero que están diseñadas y desarrolladas para que puedan ser utilizadas desde dispositivo móviles (tablets o móviles). En este caso hay que tener en cuenta que para que la aplicación web funcione en los diferentes dispositivos móviles tiene que ser diseñada y programada con este fin. En caso contrario, la interface gráfica (lo que ve el usuario) no será visible, legible y usable desde dispositivos tipo Tablet o móviles.

El principal reto es hacer la aplicación web Responsive, esto quiere decir que los elementos de la pantalla se adaptan a medida que la pantalla cambia de tamaño y resolución. Hacer una web app responsive puede ser sencillo y barato si se usan plantillas o herramientas de desarrollo que ya están pensadas para tal efecto. Si se trata de una aplicación web extensa, compleja y hecha a medida, el coste se incrementará tanto en el diseño gráfico como en la programación pues hay que adaptar el diseño original para pantallas de escritorio a pantallas móviles.

Generalmente, en proyectos con diseños hechos a medida, se suelen concretar 2 visores o viewports (tamaño de ventana) para los que adaptar el diseño, uno para tablets y otro para móviles. Lo cual quiere decir que puede que en tamaños intermedios no se vea todo correcto, es decir que no será Responsive 100% sino que estará adaptada a 2 o 3 tipos de pantalla que generalmente es suficiente para que la app pueda ser utilizada en el 99% de los dispositivos móviles en el mercado.

En la actualidad existen las llamadas Web apps progresivas, que incluyen funcionalidades como el envío de notificaciones, y otras funcionalidades más propias de apps híbridas o nativas, y es importante tenerlas en cuenta de cara a las opciones para poder llevar a cabo una solución para móviles.

APP NATIVAS

Por otro lado, tenemos la opción de aplicaciones nativas, esto quiere decir que se trata de una aplicación para Android, una para iOs, para Windows, etc. Es decir, desarrollar la aplicación móvil, en el entorno, el lenguaje y para el sistema operativo en cuestión.

Es la opción con la que se alcanza mayor nivel de detalle ya que permite usar las opciones y características de cada sistema operativo al máximo. Además, posibilita el acceso a todos los elementos de los móviles (gps, giroscopios, cámara etc…) de una forma más directa y sencilla.

APPS HÍBRIDAS

Y, por último, nos encontramos con las Apps híbridas. Estas apps son una mezcla de aplicación web y aplicación nativa. En este caso, tendremos una aplicación móvil que podrá aparecer en las tiendas de aplicaciones y ser descargada, tanto para Android como para iOS. Sin embargo, la programación de estas aplicaciones se lleva a cabo en lenguajes y entornos web y el contenido de la aplicación es en su mayor parte web. Las principales plataformas para desarrollar este tipo de aplicaciones son Xamarin, Ionic, Apache Cordova o Flutter.

En el caso de las apps híbridas, la navegación y ciertos aspectos de la app parecen nativos y alguno de ellos sí lo son, en otros casos como los formularios, presentación de la información… son web, por eso se denominan híbridas.

Además, este tipo de apps tiene o permite funcionalidades que las web apps no, como el acceso a diversos elementos del móvil como la cámara, el gps, la posibilidad de guardar ficheros de datos y el uso de diferentes memorias del teléfono para guardar datos de la aplicación etc.

Por el contrario, la mayoría de estas funcionalidades están desarrolladas bajo envoltorios (o plugins) y cuando fallan es difícil llegar a la raíz del problema pues al final no están desarrolladas en el código del propio dispositivo.

La gran ventaja de estas últimas es la posibilidad de desarrollar en un solo entorno y desplegar en varios a la vez.

aplicaciones web nativas híbridas hibridas app Possible tipos

¿Porqué elegir Web App Responsive?

Si lo que se busca es una web que se pueda utilizar en dispositivos móviles y toda la funcionalidad esté desarrollada para su uso en ordenadores, sin duda esta es la solución mejor. Implica no tener que contratar programadores específicos para desarrollar en las tecnologías de apps híbridas y/o nativas, y la misma empresa o desarrolladores que hayan hecho la web para escritorio pueden hacer las adaptaciones necesarias para su uso en móviles. Si el producto está todavía en fase de diseño hay que realizarse las siguientes preguntas:

  • ¿Necesitamos funcionalidades específica o acceder a componentes y servicios del teléfono o tablet como giroscopios, cámara o telefono, micrófono, identificador de huella o cara etc..?
  • ¿Es necesario que la aplicación funcione sin conexión a internet?
  • ¿Necesitamos que la aplicación tenga un icono y sea descargable de las tiendas de Google o apple?
  • ¿Necesitamos que el usuario reciba notificaciones directas al teléfono?

Si la respuesta a estas preguntas es No o se podría hacer la aplicación sin ninguna de estas características, entonces la mejor opción es realizar una web app o una aplicación web responsive.

¿Porqué elegir App Híbrida?

Si, por el contrario, necesitamos que la aplicación se pueda descargar, realizar acciones offline, recibir notificaciones y/o acceder a ciertos servicios del teléfono es muy probable que la aplicación híbrida sea nuestra mejor opción.

Esta opción está por encima de las apps híbridas si no nos importa tener un mismo diseño gráfico para todas las plataformas, y que no haya diferencia entre iOS y Android por ejemplo, o si no va a ver diferencias entre un sistema operativo y otro.

También es buena opción cuando las funcionalidades a desarrollar son relativamente sencillas y la aplicación no requiere de un uso de bases de datos del teléfono.

El desarrollo se hace sobre un lenguaje y sobre una plataforma, lo que reduce los tiempos de desarrollo y los costes frente a una app nativa sencilla.

¿Porqué elegir App Nativa?

¿Cuándo empieza a compensar una app Nativa frente a una híbrida? Por ejemplo, para videojuegos o aplicaciones que deben ser eficientes en el uso de los recursos del teléfono, memoria, procesador y otros servicios o funciones. También si se quiere que el aspecto de la aplicación sea diferente en Android e IOS y respete la usabilidad de cada plataforma (por ejemplo, los menús y navegación son muy diferentes en Android y en iOS).

Así mismo, el desarrollar funcionalidades basadas en elementos de los teléfonos como cámara, micrófono, bluetooth, wifi, giroscopios, acelerómetros… pueden dar problemas en la fase de pruebas en algunos móviles cuando se desarrollan en soluciones hibridas porque existen multitud de móviles diferentes con variaciones . Por ejemplo, el sistema operativo se comunica con los diferentes elementos del móvil y los plugins o envoltorios de las aplicaciones híbridas para hacer ciertas cosas con las herramientas de un móvil pueden no funcionar del todo bien en todos los dispositivos.

Por tanto, si lo que queremos es garantía, eficiencia y rendimiento y diferenciación entre iOS y Android será mejor optar por desarrollar nativamente cada aplicación.

Así que ya sabes…

¿Y tú? ¿Ya conocías estos tipos de app?

Autor

Iago Ocarranza