Abstract:Micro frontend (MFE) architectures have gained significant popularity for promoting independence and modularity in development. Despite their widespread adoption, the field remains relatively unexplored, especially concerning identifying problems and documenting best practices. Drawing on both established microservice (MS) anti-patterns and the analysis of real problems faced by software development teams that adopt MFE, this paper presents a catalog of 12 MFE anti-patterns. We composed an initial version of the catalog by recognizing parallels between MS anti-patterns and recurring issues in MFE projects to map and adapt MS anti-patterns to the context of MFE. To validate the identified problems and proposed solutions, we conducted a survey with industry practitioners, collecting valuable feedback to refine the anti-patterns. Additionally, we asked participants if they had encountered these problems in practice and to rate their harmfulness on a 10-point Likert scale. The survey results revealed that participants had encountered all the proposed anti-patterns in real-world MFE architectures, with only one reported by less than 50\% of participants. They stated that the catalog can serve as a valuable guide for both new and experienced developers, with the potential to enhance MFE development quality. The collected feedback led to the development of an improved version of the anti-patterns catalog. Furthermore, we developed a web application designed to not only showcase the anti-patterns but also to actively foster collaboration and engagement within the MFE community. The proposed catalog is a valuable resource for identifying and mitigating potential pitfalls in MFE development. It empowers developers of all experience levels to create more robust, maintainable, and well-designed MFE applications.
What problem does this paper attempt to address?
The problem that this paper attempts to solve is the lack of problem identification and documentation of best practices in the Micro Frontend (MFE) architecture. Although the micro - front - end architecture is popular for its independence and modularity in development, there is relatively little research on how to identify its potential problems and develop best practices. For this reason, the author proposes a catalogue of 12 micro - front - end anti - patterns, aiming to help developers identify and avoid these common pitfalls, thereby improving the quality and maintainability of micro - front - end applications.
Specifically, the main objectives of the paper include:
1. **Propose a catalogue of micro - front - end anti - patterns**: Based on microservice anti - patterns and an analysis of the problems faced by actual development teams, a catalogue of 12 micro - front - end anti - patterns is constructed.
2. **Verify the effectiveness of anti - patterns**: By surveying industry practitioners with micro - front - end development experience, feedback is collected to verify the effectiveness of these anti - patterns and their solutions, and to assess their harm levels.
3. **Promote knowledge sharing**: A collaborative platform is developed to enable community members to jointly maintain and improve the micro - front - end anti - pattern catalogue, further promoting knowledge sharing and technological progress.
Through these measures, the paper aims to provide valuable guidance for both new and experienced developers, helping them better understand and deal with the challenges in the micro - front - end architecture, thereby improving the development quality.
### Key contributions
1. **Catalogue of micro - front - end anti - patterns**: Inspired by microservice anti - patterns, a catalogue of anti - patterns specifically for the micro - front - end architecture is proposed.
2. **Empirical verification**: Through a survey of industry practitioners, the existence and harmfulness of these anti - patterns are verified.
3. **Collaborative platform**: A Web application is developed to display anti - patterns and promote collaboration and participation within the community.
### Methodology
To construct and verify the micro - front - end anti - pattern catalogue, the author adopted the following steps:
1. **Literature review**: Based on Cerny et al.'s Systematic Literature Review (SLR), microservice anti - patterns are identified, and combined with the problems in actual development, micro - front - end anti - patterns are proposed.
2. **Survey verification**: A survey is designed and implemented, inviting practitioners with micro - front - end development experience to participate, in order to verify the description, solutions and actual impact of anti - patterns.
3. **Statistical analysis**: Quantitative and qualitative methods are used to analyze the survey results to ensure the effectiveness and reliability of anti - patterns.
4. **Collaborative platform development**: A Web application is created, allowing community members to submit Pull Request (PR) to continuously improve the anti - pattern catalogue.
### Results
According to the survey results, all proposed anti - patterns have been encountered by participants in actual projects, and most of the anti - patterns have a high harm score. For example, "No CI/CD" is rated as the most harmful anti - pattern, with a score of 10 (out of 10). In addition, participants generally believe that the catalogue is helpful in solving problems in actual work and improving the development quality.
In conclusion, through systematic literature review, empirical research and community collaboration, this paper provides valuable guidance and tools for micro - front - end development, helping developers avoid common mistakes and improve the robustness and maintainability of applications.