Una microaplicación es una aplicación superespecializada diseñada para realizar una tarea o un caso de uso con el único objetivo de hacerlo bien. Siguen el principio de responsabilidad única, que establece que "una clase debe tener una y solo una razón para cambiar". Las microaplicaciones ayudan a los desarrolladores a crear aplicaciones menos complejas y, al mismo tiempo, reducen los costos al dividir los sistemas monolíticos en grupos de servicios independientes que actúan como un solo sistema. [1] Un buen ejemplo de microaplicaciones sería https://docs.citrix.com/en-us/legacy-archive/downloads/microapps.pdf, que proporciona una acción con un solo propósito desde Salesforce y más de 40 aplicaciones en su espacio de trabajo.
Las microaplicaciones suelen estar accesibles en cualquier dispositivo, pantalla o sistema operativo.
Sin instalación en el dispositivo del espectador. Para ser considerada una micro aplicación, la entidad debe:
Las microaplicaciones se diferencian de las aplicaciones web o móviles tradicionales por la forma en que el usuario final interactúa con ellas. Por lo tanto, se pueden incorporar en sitios web o ver en línea para evitar las tiendas de aplicaciones y, por lo general, se crean para brindar una experiencia enfocada al usuario. [2]
Las microaplicaciones se utilizan normalmente con fines comerciales [3] para reducir los costes de desarrollo de proyectos que no requieren el gran alcance de una aplicación web o móvil tradicional. Además, suelen utilizarse para mostrar información detallada o enriquecer el material de marketing con interactividad . [4] Últimamente, las microaplicaciones se están utilizando para aumentar la productividad al proporcionar herramientas rápidas a las personas para reutilizar las mejores prácticas.
Los usuarios han interactuado con microaplicaciones durante un tiempo con suites como Office365 y Google Workspace, donde cada uno de sus servicios para el usuario final podría considerarse una microaplicación. Todas estas microaplicaciones comparten un administrador de identidad único para brindar una experiencia de usuario unificada.
Reemplazar sistemas monolíticos con microaplicaciones ofrece varias ventajas como:
Tecnologías como Kubernetes u OpenShift permiten a las empresas reemplazar sus sistemas monolíticos y heredados con software modular aprovechando las microaplicaciones para reducir costos y mejorar la confiabilidad y la seguridad.
Existe una confusión generalizada entre estos dos conceptos, que es la diferencia clave. Los microservicios son un estilo arquitectónico centrado en los sistemas, lo que significa que desacopla la capa de presentación y la de datos mediante API de servicios web. Por otro lado, las microaplicaciones se comportan más como un estilo de superarquitectura (que abarca microservicios entre otros tipos) y están centradas en el usuario, lo que significa que desacoplan todo el sistema monolítico en módulos que están diseñados para interactuar con los usuarios finales.
Ambos estilos arquitectónicos se basan en la modularidad para proporcionar alto rendimiento, escalabilidad y resiliencia.
El desarrollo de microaplicaciones requiere un enfoque diferente al del software tradicional, y la experiencia del usuario es crucial. Las siguientes consideraciones son esenciales para pasar a las microaplicaciones. [5]