Apps móviles: diferencias entre aplicaciones nativas, híbridas, web responsive y progresivas

Casi 30 millones de internautas en España utilizan los smartphones para acceder a internet. La penetración de los dispositivos móviles en el mercado español alcanza un nada desdeñable 97%. Este nivel de penetración engloba a todas las edades hasta los 45 años, y desciende a medida que avanza la edad de los usuarios.

El crecimiento de los smartphones ha sido exponencial durante la última década, tanto, que ya se han convertido casi en extensiones de nuestras manos, a modo de artilugio que sirve para casi todo, como el arsenal del Inspector Gadget, pero en la palma de nuestra mano. Esta gran cantidad de posibilidades que nos ofrecen los smartphones, tienen unas “culpables” claras: las aplicaciones móviles. Las apps ocupan gran parte de la memoria de nuestros dispositivos y se utilizan para resolver casi cualquier cuestión que se nos presente en el día a día.

Según datos recientes de IAB Spain, recogidos en el Informe Estudio Mobile 2017, los españoles tenemos instaladas una media de 20 aplicaciones en nuestros smartphones, de las que utilizamos once de forma recurrente. Además, cada mes nos descargamos, de media, dos aplicaciones más. Pero esta “fiebre por las apps” no termina aquí ya que a medida que disminuye la edad del usuario, las aplicaciones se emplean en mayor medida. Los smartphones pertenecientes a la población española de entre 18 y 45 años cuentan con alrededor de 36 aplicaciones instaladas, de las que utilizan una media de 32 y se descargan cinco nuevas aplicaciones cada mes. Los usuarios más jóvenes, como es de prever, utilizan un 36% más de aplicaciones que la media de la población.

Respecto al tipo de apps más utilizadas, destacan las de mensajería instantánea, buscadores, redes sociales, compras y correo electrónico. En el caso del eCommerce, los móviles inteligentes se han convertido en imprescindibles para las compras online. En esta dirección, un 77% de los usuarios declaran haber comprado a través de una aplicación de smartphone en el último año.

Como vemos, existe un mercado en auge en el desarrollo de aplicaciones, y es posible que te hayas planteado desarrollar una de ellas para potenciar tu negocio en internet. Pero, si te encuentras en la situación de crear una app, ¿cuál es el mejor sistema para desarrollarla?

En el ecosistema de aplicaciones móviles que podemos descargarnos a diario en nuestros teléfonos inteligentes nos encontramos con aplicaciones nativas, híbridas, web responsive y con una recién llegada que está pegando fuerte: las apps progresivas (Progressive web apps). ¿Cuál es la mejor opción para nuestra empresa?

El objetivo final de toda app será facilitar el acceso al servicio por parte de los usuarios y mejorar la usabilidad. En este artículo del blog TIC del Centro de Apoyo Tecnológico de Castilla-La Mancha “Bilib”, vamos a conocer estas cuatro alternativas de programación de aplicaciones, detallando sus ventajas e inconvenientes, para que puedas tomar una decisión fundamentada con más datos en mente.

¿Qué son las apps nativas?

Las aplicaciones nativas se desarrollanad hoc, es decir, de forma específica para el sistema operativo en el que se van a ejecutar. De esta forma, si una app está concebida para ser ejecutada en Android, tendrá un desarrollo sustancialmente distinto que si se desarrollase para ser ejecutada en iOS. Antes esta necesidad, el desarrollador de apps empleará lenguajes de programación específicos y concretos para cada sistema operativo. En términos generales, con los lenguajes de programación Java o Kotlin podremos crear aplicaciones para dispositivos Android; con # o .Net podremos desarrollar apps nativas para Windows y con Objective-C o Swift crearemos aplicaciones específicas para iOS o Mac OS.

Este tipo de desarrollos tiene ventajas e inconvenientes. En cuanto a los beneficios, vemos que son aplicaciones que ofrecen una mejor interfaz a los usuarios, además de ser capaces de aprovechar todo el potencial de los teléfonos inteligentes en los que están instaladas. Este tipo de desarrollos sacan el máximo potencial de todos los recursos del teléfono y ofrecen una muy buena experiencia al usuario (si están bien desarrolladas).

Sin embargo, en cuanto a las desventajas, este tipo de desarrollo de aplicaciones requiere de mayor tiempo e inversión, por lo que la empresa que decida desarrollar aplicaciones nativas deberá destinar una inversión mayor ya que, como estas apps se desarrollan ad hoc para el sistema operativo en el que se ejecutarán, requieren la creación de tantas copias como sean necesarias para cada uno de los sistemas operativos en los que se van a ejecutar. El desarrollo no es portable de un sistema operativo a otro; no se puede reutilizar el mismo código y requiere que el desarrollador sepa utilizar los diferentes lenguajes de programación. De esta forma, el usuario tendrá una buena experiencia de navegación, independientemente del sistema operativo que utilice su smartphone.

¿Qué son las apps web responsive?

Hay empresas que para abaratar los costes que supone el desarrollo de una app nativa, se decantan por el desarrollo de apps web responsive, también conocidas como web apps. Este tipo de desarrollos utilizan los lenguajes habituales de programación web (Conócelos con el curso gratuito de Formados sobre HTML, JavaScript y CSS), no emplean lenguajes ad hoc para cada sistema operativo como ocurría con las apps nativas que veíamos anteriormente.

En este caso, el programador emplea los lenguajes habituales para el desarrollo web, que combina con librerías específicas para conseguir desarrollar, entre ambos recursos, aplicaciones web responsive o web apps. De esta forma, los desarrollos web se adaptan a las pantallas de dimensiones reducidas de los teléfonos inteligentes.

Como principal ventaja, estos desarrollos de apps pueden ser ejecutados en cualquier navegador y sistema operativo, por lo que no será necesario realizar copias para cada sistema operativo como ocurría en el caso anterior. Así, el proyecto de desarrollo se abarata de forma considerable y se acortan los tiempos del proyecto. Además, el desarrollador no necesitará conocer todos los lenguajes de programación y el mantenimiento será más sencillo, al tener únicamente que mantener un único código.  

Como principales contras, las aplicaciones web responsive no ofrecen una experiencia de navegación tan buena al usuario como las apps nativas, especialmente si son apps complejas. El rendimiento empeora, y el motivo lo encontramos en que las apps web responsive no pueden extraer todo el potencial de cada smartphone ya que no tienen acceso a totalidad de las API´s y a los recursos del dispositivo. Cada página de la aplicación debe ser renderizada desde el servidor antes de ser mostrada al usuario, lo que puede provocar dificultades en la navegación.

¿Qué son las apps híbridas?

En tercer lugar nos topamos con las aplicaciones híbridas. Si metemos en una coctelera una app web responsive y una app nativa, obtenemos como resultado las apps híbridas que, como su propio nombre indica, son una “mezcla” entre los dos tipos de desarrollos de aplicaciones anteriores. En este caso, se realiza un único desarrollo,  no se requieren copias, por lo que el proyecto de desarrollo web se abarataría.

Al no emplearse lenguajes ad hoc como ocurre con las apps nativas, sino lenguajes de programación para sitios web como en el caso de las aplicaciones web responsive, los costes son menores y los tiempos de ejecución del proyecto se reducen. Pero, a diferencia de los desarrollos web responsive, las apps híbridas se adaptan a cada sistema operativo en el que se van a ejecutar. Esta “adaptación” encarecería el proyecto respecto a las aplicaciones web responsive, pero nos da una de las ventajas fundamentales de este tipo de desarrollos: al adaptarse a cada sistema operativo, logra aprovechar los recursos que ofrece cada teléfono móvil ofreciendo así una mejora en la experiencia de usuario.

Sin embargo, detectamos un inconveniente claro: el rendimiento que ofrecen es menor respecto a las aplicaciones nativas. Este tipo de desarrollos reacciona de forma más lenta, ya que deben “comunicarse” con el sitio web para mostrar el contenido solicitado desde cada servidor.

¿Qué son las apps progresivas?

Las aplicaciones web progresivas o Progressive web apps son una nueva generación de aplicaciones que está revolucionando el panorama actual. ¿Y cómo lo están consiguiendo? Pues incrementando y avanzando en sus funcionalidades teniendo en cuenta el dispositivo móvil en el que van a ejecutarse para extraer todo su potencial.

Estas apps progresivas aportan al usuario las ventajas de las aplicaciones nativas, pero se desarrollan en base a tecnologías web ampliamente conocidas por los programadores como HTML, CSS o JavaScript. Sería algo así como páginas web muy similares en su funcionamiento a las aplicaciones nativas, pero que no requieren de lenguajes de programación específicos para cada sistema operativo.  

Las aplicaciones progresivas, que reciben este nombre por ser capaces de adaptarse a cada dispositivo (de manera progresiva), consiguen una experiencia de usuario premium, tanto es así que el usuario  no suele notar la diferencia respecto a las apps nativas. Además, no requieren que el usuario disponga de una buena conexión a internet, ya que podrá acceder a ellas sin conexión o con mala conexión, y beneficiarse de todas sus funcionalidades.

¿Cuál elegir?

Por tanto, ¿cuál elegir? Tendremos que tener en cuenta las ventajas y los inconvenientes señalados para cada uno de los desarrollos. Ten en cuenta que siempre deberíamos intentar ofrecer la mejor experiencia posible al usuario, por lo que sopesa que en el caso de las apps web responsive e híbridas se requiere de mayor tiempo de carga, lo que supone ralentizar la navegación. Por este motivo, las apps que mejor experiencia de usuario ofrecían hasta ahora eran las nativas que ya están dando paso a las aplicaciones progresivas, lo último en este ámbito.

Hoy en día, disponemos de un amplio abanico de aplicaciones para realizar un mismo fin, la competencia es cada vez más feroz, así que las aplicaciones progresivas podrán darnos más alegrías en cuanto a suma de estrellas, buenas valoraciones y número de descargas. En cualquier caso, como señalábamos, todo dependerá de cada proyecto y recursos disponibles, pero ten en cuenta que elegir un tipo de desarrollo u otro influirá significativamente en el resultado final.