¿Las aplicaciones móviles pueden utilizar una arquitectura sin servidor?

Las aplicaciones móviles híbridas, que son aplicaciones web que se comportan como aplicaciones móviles nativas, se pueden crear con un backend sin servidor para aumentar la escalabilidad, reducir el coste y ejecutar el código desde cualquier ubicación de alojamiento.

Objetivos de aprendizaje

Después de leer este artículo podrás:

  • Más información sobre la diferencia entre las aplicaciones híbridas y las nativas
  • Más información sobre cómo se pueden crear aplicaciones híbridas con una arquitectura sin servidor
  • Entender las ventajas de utilizar un backend sin servidor

Copiar enlace del artículo

¿Las aplicaciones móviles pueden utilizar una arquitectura sin servidor?

La arquitectura sin servidor puede utilizarse para el desarrollo de aplicaciones móviles, además de aplicaciones web. Las aplicaciones móviles híbridas con un backend sin servidor permiten que los desarrolladores puedan incorporar las ventajas de la informática sin servidor, a la vez que lanzan aplicaciones que se comportan como aplicaciones nativas en casi cualquier teléfono inteligente o tableta. Las aplicaciones móviles sin servidor son capaces de escalar rápida y fácilmente según va creciendo la base de usuarios.

Diagrama de la aplicación móvil con backend sin servidor

¿Qué es una aplicación móvil híbrida?

Las aplicaciones móviles híbridas y las aplicaciones móviles nativas son como dos coches que parecen iguales, el interior es el mismo y se conducen más o menos de la misma forma, pero cuentan con diferentes motores. Una aplicación nativa está diseñada específicamente para un determinado tipo de dispositivo y sistema operativo, y su lógica se ejecuta en el propio dispositivo.

Una aplicación híbrida es una aplicación web creada con HTML, CSS y JavaScript, que se ejecuta en lo que se denomina como "envoltorio nativo", para que pueda funcionar como una aplicación móvil nativa en diversos dispositivos. A diferencia de las aplicaciones web normales, las aplicaciones híbridas pueden acceder a funciones específicas de la plataforma, como el hardware del dispositivo y la funcionalidad de las notificaciones push específicas de un determinado tipo de dispositivo. Estas aplicaciones híbridas pueden descargarse en la App Store o en Google Play, y se instalan como las aplicaciones nativas, aunque suele haber mucho menos que descargar e instalar, ya que la mayor parte de la lógica, o toda, está alojada en la nube.

Las aplicaciones híbridas son cada vez más populares, ya que las problemáticas relacionadas con el rendimiento se han resuelto con mejoras tecnológicas; por ejemplo, Uber, Instagram y Twitter son todas aplicaciones híbridas. En ocasiones, los desarrolladores prefieren utilizar una arquitectura híbrida, en lugar de crear aplicaciones móviles nativas, para no tener que desarrollar la aplicación en múltiples lenguajes específicos de plataforma para diferentes dispositivos. No sorprende que crear una aplicación que funcione en varios dispositivos ahorre tiempo, tanto en el desarrollo como en el soporte continuo del producto.

¿Cómo funciona una aplicación móvil con un backend sin servidor?

Con las aplicaciones móviles híbridas, el proceso informático tiene lugar en la nube, no en el dispositivo. Todos los procesos informáticos alojados en la nube para la aplicación pueden ser sin servidor, al igual que una aplicación web sin servidor; la única diferencia importante entre una aplicación web sin servidor y una aplicación móvil híbrida sin servidor es la envoltura nativa* en el frontend.

Como pasa con una aplicación web sin servidor, el código de la aplicación lo aloja un proveedor sin servidor que se encarga de toda la gestión del backend. La aplicación se divide en partes más pequeñas llamadas funciones, y las funciones no están situadas en ningún servidor específico. Cada función se ejecuta en respuesta a eventos desencadenantes, y la infraestructura del proveedor pone en marcha nuevas instancias de funciones, según se vea necesario. Por ejemplo, si un usuario pulsa un botón de "compra" en una aplicación con un backend sin servidor, esto puede desencadenar una función de backend o una serie de funciones que se ponen en marcha, registran la transacción e inician la entrega de aquello que haya comprado el usuario.

¿Cuáles son las ventajas de crear una aplicación móvil con un backend sin servidor?

Las aplicaciones móviles sin servidor tienen los mismos beneficios que el desarrollo de una aplicación web típica con un backend sin servidor:

  • Escalabilidad: las aplicaciones sin servidor son automáticamente escalables
  • Menos sobrecarga: el proveedor gestiona todo el backend
  • Actualizaciones rápidas: los desarrolladores pueden actualizar las funciones de una en una en lugar de actualizar toda la aplicación a la vez, y no hace falta esperar a que los usuarios instalen las actualizaciones
  • Pago por uso: los desarrolladores solo pagan por la potencia informática que utiliza la aplicación, lo cual puede reducir los costes continuos
  • Ejecutar el código en cualquier lugar: el código puede ejecutarse en una red perimetral para reducir la latencia

Para más información sobre las aplicaciones sin servidor creadas con JavaScript, consulta ¿Cómo funciona el JavaScript sin servidor?

*¿Cómo funciona un envoltorio nativo?

Las aplicaciones híbridas pueden funcionar como aplicaciones nativas al aprovechar el WebView del dispositivo. Un WebView es un navegador interno del dispositivo que muestra la aplicación como lo haría un navegador, a la vez que ofrece a los desarrolladores una mayor flexibilidad para personalizar la apariencia de su aplicación que un navegador normal. Asimismo, la mayoría de los WebViews permitirán que la aplicación acceda a las funciones de hardware del dispositivo mediante una API.

Por ejemplo, cuando un usuario abre Instagram, la aplicación parece una aplicación nativa que se ejecuta en el dispositivo. Sin embargo, la realidad es que el WebView del dispositivo está renderizando páginas web generadas por Instagram. La fuente de imágenes que los usuarios ven cuando abren la aplicación por primera vez es una página web, y todas las páginas posteriores que visitan son páginas web, aunque parezca que son parte de una aplicación nativa. Instagram también puede acceder a la cámara del dispositivo y a las fotos almacenadas a pesar de no ser una aplicación nativa, y puede enviar notificaciones push.