João Freitas

The following is an overview of micro apps. In short this class of apps intend to serve one functionality, so their context is bounded to a very small domain. Micro-apps are sometimes portrayed as a flavour of micro-frontends, but don’t mix them: micro-apps are applications, micro-frontends is a way to build apps.

https://en.wikipedia.org/wiki/Microapp


A Micro-app is a super-specialized application designed to perform one task or use case with the only objective of doing it well. They follow the single responsibility principle, which states that “a class should have one and only one reason to change.” Micro applications help developers create less complex applications while reducing costs by breaking down monolithic systems into groups of independent services acting as one system [1].

Requirements and characteristics

Micro apps usually are accessible on any device, display, or operating system

without installation on the viewer’s device. To qualify as a micro app, the entity must:

Micro apps differentiate from traditional web or mobile applications by how the end-user interacts with them. Consequently, they can be embedded in websites or viewed online to bypass app stores and are typically built to provide a focused experience to the user [2].

Usage

Micro apps are typically used for commercial purposes [3] to reduce development costs for projects not requiring the large scope of a traditional web or mobile application. In addition, they are often used to showcase in-depth information or enrich marketing material with interactivity [4]. Lately, micro apps are being used to boost productivity by providing quick tools to people to reuse best practices.

Users have been interacting with micro apps for a while with suites like Office365 and Google Workspace, where each one of their end-user services could be considered as a micro-app. All these micro apps share a unique identity manager to provide a unified user experience.

Benefits

Replacing monolith systems with micro apps provide several advantages like:

Cloud-native micro apps

Technologies like Kubernetes, or OpenShift, allow companies to replace their monolith and legacy systems with modular software taking advantage of micro apps on reducing costs and improve reliability and security.

Micro apps vs. Microservices

There is a widespread misunderstanding between these two concepts, which is the key difference. Microservices is an architectural style that is systems-centric, meaning it decouples the presentation and data layer using web services APIs. On the other side, micro apps behave more as a super-architecture style (that embraces microservices among other types), and it is user-centric, meaning they decouple the whole monolith system onto modules that are designed to interact with final users.

Both architectural styles rely on modularity to provide high performance, scalability, and resilience.

Considerations

Developing Micro apps requires a different approach than traditional software, and user experience is crucial. The following considerations are essential for switching to micro-apps [5].

References

  1. “What is a Microapp?”. Progress Blogs. 2019-05-22. Retrieved 2022-03-31.
  1. “Micro Apps: What They Are and Why You Should Not Ignore Them – DZone Mobile”. dzone.com. Retrieved 2018-10-23.
  1. Swaddle, Paul (26 January 2017). “MicroApps: One Of The Trends To Watch Out For”. Digital Doughnut.
  1. "- Whispir". Executing An Effective Micro App Strategy | Whispir. Retrieved 2018-10-23.
  1. Anaya, Jay (Jairo) (14 September 2021). “Cloud Native Microapps - small apps that build super systems”. Micro Applications Org.

#reads #wikipedia #micro-apps #micro-frontends