Investigating Benefits and Limitations of Migrating to a Micro-Frontends Architecture

Fabio Antunes,Maria Julia Dias Lima,Marco Antônio Pereira Araújo,Davide Taibi,Marcos Kalinowski
2024-07-23
Abstract:[Context] The adoption of micro-frontends architectures has gained traction as a promising approach to enhance modularity, scalability, and maintainability of web applications. [Goal] The primary aim of this research is to investigate the benefits and limitations of migrating a real-world application to a micro-frontends architecture from the perspective of the developers. [Method] Based on the action research approach, after diagnosis and planning, we applied an intervention of migrating the target web application to a micro-frontends architecture. Thereafter, the migration was evaluated in a workshop involving the remaining developers responsible for maintaining the application. During the workshop, these developers were presented with the migrated architecture, conducted a simple maintenance task, discussed benefits and limitations in a focus group to gather insights, and answered a questionnaire on the acceptance of the technology. [Results] Developers' perceptions gathered during the focus group reinforce the benefits and limitations reported in the literature. Key benefits included enhanced flexibility in technology choices, scalability of development teams, and gradual migration of technologies. However, the increased complexity of the architecture raised concerns among developers, particularly in dependency and environment management, debugging, and integration testing. [Conclusions] While micro-frontends represent a promising technology, unresolved issues still limit their broader applicability. Developers generally perceived the architecture as useful and moderately easy to use but hesitated to adopt it.
Software Engineering
What problem does this paper attempt to address?
### What problems does this paper attempt to solve? This paper aims to explore the benefits and limitations perceived by developers during the process of migrating a real - project to the Micro - frontends architecture. Specifically, the main objectives of the study are: 1. **Evaluate the advantages and limitations of the Micro - frontends architecture**: - **RQ1**: What are the advantages and limitations of the Micro - frontends architecture compared to the monolithic architecture? This research question aims to explore the impact of the Micro - frontends architecture on the development process, evaluate the benefits it brings and the challenges it faces, and examine whether it can enhance the reusability of application components. 2. **Evaluate developers' acceptance of the Micro - frontends architecture**: - **RQ2**: How do developers accept the Micro - frontends architecture compared to the monolithic architecture? This research question uses the Technology Acceptance Model (TAM) to evaluate developers' perceived usefulness, ease of use, and adoption intention of the Micro - frontends architecture. ### Research background As application functions increase, the front - end and back - end codebases keep growing. The monolithic architecture may lead to problems such as slower development speed, more code management conflicts, increased dependencies, and higher coupling. The Micro - frontends architecture has attracted attention for its potential in modularity, extensibility, and maintainability, but its effectiveness in practical applications still needs further verification. ### Research methods The researchers adopted the method of Action Research. The specific steps include: - **Diagnosis stage**: Analyze the structure and source code of the existing system to understand the current problems. - **Planning stage**: Based on the literature review and technical evaluation, decide to migrate the existing monolithic architecture to the Micro - frontends architecture. - **Intervention stage**: Migrate the target Web application to the Micro - frontends architecture and implement the combination of Micro - frontends through technologies such as Client - side Module Federation. - **Evaluation stage**: Introduce the new architecture to other developers in the form of workshops and perform simple maintenance tasks. Then collect feedback through focus group discussions and questionnaires. ### Main findings Developers generally believe that the Micro - frontends architecture is useful and relatively easy to use, but also show some hesitation, mainly due to: - **Increased complexity**: Especially in dependency management and environment management. - **Difficulties in debugging and integration testing**: The Micro - frontends architecture increases the complexity of debugging and integration testing. Despite these problems, the Micro - frontends architecture is still considered a promising technology and can bring significant benefits in terms of team collaboration, flexibility in technology selection, and gradual migration technology. ### Conclusion Although the Micro - frontends architecture has many potential advantages, it still faces some unresolved problems in practical applications, which limit its wider application. Developers are cautious about it, believing that it is indeed useful in some aspects, but also brings new challenges in terms of complexity and maintenance.