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.
Después de leer este artículo podrás:
Copiar el enlace del artículo
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.
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.
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.
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:
Para más información sobre las aplicaciones sin servidor creadas con JavaScript, consulta ¿Cómo funciona el JavaScript sin servidor?
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.
Primeros pasos
Acerca de la informática sin servidor