Evaluating Strategies for Teaching Micro Frontends: Do Anti-patterns Help?

Resumo


Context: Micro Frontend (MFE) is an architectural style that extends microservices principles to the frontend. Despite its growing adoption, misunderstandings about MFE foundations can create significant challenges during development. Preparing in-training software engineers to address these challenges and incorporating MFE into software architecture curricula is essential. Goal: We aim to address the gap in MFE education by presenting an experience report on teaching MFE in an undergraduate course. We compare two supporting materials to aid students in architectural decision-making: practitioner-provided guidelines and a catalog of MFE anti-patterns. Through a controlled experiment, we evaluate their effectiveness, with particular emphasis on understanding the role and benefits of using anti-patterns as a learning tool. Method: We taught MFE across five sessions and conducted a controlled experiment with two assessments, each one using one of the supporting materials. We compared them by analyzing differences in assessment scores and evaluated whether the catalog improved students’ perceived learning. Additionally, we investigated how students used the catalog by applying the Technology Acceptance Model and collecting qualitative feedback regarding its use. Results: Both supporting materials are equally helpful for solving MFE architectural problems. Students reported an increased perception of learning after engaging with the catalog. Their feedback indicated that the catalog was used to identify problems and solutions, promote efficient search for issues, and reinforce MFE knowledge. Conclusion: This paper provides insights into incorporating MFE into a software architecture course, proposes two supporting materials that educators can use to teach MFE, offers practical recommendations for effective instruction, and highlights the potential of the MFE anti-patterns catalog as a valuable learning tool.
Palavras-chave: Micro frontends, Experience Report, Controlled Experiment, Empirical Software Engineering, Anti-patterns

Referências

Dr. Anks. 2023. Mastering Micro Frontends: Best Practices, Pitfalls to Avoid, Tools and Scaling Strategies. [link]. DEV Community (3 nov 2023). Accessed: 2024-11-04.

Fabio Antunes, Maria Julia Dias Lima, Marco Antônio Pereira Araújo, Davide Taibi, and Marcos Kalinowski. 2024. Investigating Benefits and Limitations of Migrating to a Micro-Frontends Architecture. arXiv preprint arXiv:2407.15829 (2024).

Aplyca. 2024. Best Practices for Micro Frontends. [link] Accessed: 2024-11-04.

Henrik Bærbak Christensen. 2022. Teaching microservice architecture using devops—an experience report. In European Conference on Software Architecture. Springer, 117–130.

Simon Brown. 2023. The C4 Model for Visualising Software Architecture. Leanpub.

William H Brown, Raphael C Malveau, Hays W" Skip" McCormick, and Thomas J Mowbray. 1998. AntiPatterns: refactoring software, architectures, and projects in crisis. John Wiley & Sons, Inc.

Quentin Capdepon, Nicolas Hlad, Abdelhak-Djamel Seriai, and Mustapha Derras. 2023. Migration Process from Monolithic to Micro Frontend Architecture in Mobile Applications.. In Proceeding of the International Workshop on Smalltalk Technologies.

Juliet Corbin and Anselm Strauss. 2014. Basics of qualitative research: Techniques and procedures for developing grounded theory. Sage publications.

Renato Cordeiro, Thatiane Rosa, Alfredo Goldman, and Eduardo Guerra. 2019. Teaching complex systems based on microservices. GROUP 1 (2019), 1.

Matthias Galster and Samuil Angelov. 2016. What makes teaching software architecture difficult?. In Proceedings of the 38th International Conference on Software Engineering Companion. 356–359.

Michael Geers. 2020. Micro Frontends in Action. Simon and Schuster.

Neha Kaushik, Harish Kumar, and Vinay Raj. 2024. Micro Frontend Based Performance Improvement and Prediction for Microservices Using Machine Learning. Journal of Grid Computing 22, 2 (2024), 1–26.

Rick Kazman, Yuanfang Cai, Michael W Godfrey, Cesare Pautasso, and Anna Liu. 2023. A Better Way to Teach Software Architecture. In Software Architecture: Research Roadmaps from the Community. Springer, 101–110.

Jürgen Kofler. 2020. Como os Microfrontends podem ajudar a focar nas necessidades de negócios. [link]. InfoQ Brasil (2020). Accessed: 2024-11-03.

Patricia Lago and Hans Van Vliet. 2005. Teaching a course on software architecture. In 18th Conference on Software Engineering Education & Training (CSEET’05). IEEE, 35–42.

Oliver Laitenberger and Horst M Dreyer. 1998. Evaluating the usefulness and the ease of use of a web-based inspection data collection tool. In Proceedings Fifth International Software Metrics Symposium. Metrics (Cat. No. 98TB100262). IEEE, 122–132.

Moritz Lange, Arne Koschel, and Andreas Hausotter. 2019. Microservices in higher education. In International Conference on Microservices.

Rensis Likert. 1932. A technique for the measurement of attitudes. Archives of psychology (1932).

Jouni Männistö, Antti-Pekka Tuovinen, and Mikko Raatikainen. 2023. Experiences on a frameworkless micro-frontend architecture in a small organization. In 2023 IEEE 20th International Conference on Software Architecture Companion (ICSA-C). IEEE, 61–67.

Tomi Mannisto, Juha Savolainen, and Varvana Myllarniemi. 2008. Teaching software architecture design. In SeventhWorking IEEE/IFIP Conference on Software Architecture (WICSA 2008). IEEE, 117–124.

Maria Alcimar Costa Meireles, Sabrina Rocha, Jose Carlos Maldonado, and Tayana Conte. 2024. An experience report on the use of Active Learning in Empirical Software Engineering Education: Understanding the pros and cons from the student’s perspective. In Proceedings of the 46th International Conference on Software Engineering: Software Engineering Education and Training. 380–390.

Luca Mezzalira. 2021. Building Micro-Frontends. O’Reilly Media, Inc.

Fernando Moraes, Gabriel Campos, Nathalia Almeida, and Frank Affonso. 2024. Micro Frontend-Based Development: Concepts, Motivations, Implementation Principles, and an Experience Report. In Proceedings of the 26th International Conference on Enterprise Information Systems, Vol. 2. 175–184.

Sam Newman. 2021. Building microservices. O’Reilly Media, Inc.

Severi Peltonen, Luca Mezzalira, and Davide Taibi. 2021. Motivations, benefits, and issues for adopting micro-frontends: a multivocal literature review. Information and Software Technology 136 (2021), 106571.

Rodrigo Perlin, Denilson Ebling, Vinícius Maran, Glenio Descovi, and Alencar Machado. 2023. An Approach to Follow Microservices Principles in Frontend. In 2023 IEEE 17th International Conference on Application of Information and Communication Technologies (AICT). IEEE, 1–6.

István Pölöskei and Udo Bub. 2021. Enterprise-level migration to micro frontends in a multi-vendor environment. Acta Polytechnica Hungarica 18, 8 (2021), 7–25.

Chris Richardson. 2018. Microservices patterns: with examples in Java. Simon and Schuster.

Vivek Shukla. 2023. A comprehensive guide to micro frontend architecture. [link]. Medium (13 jul 2023). Accessed: 2024-11-04.

Michael Rodrigues da Silva. 2024. Arquitetura reativa cognitiva baseada em microsserviços e micro-frontends para melhorar a experiência do usuário em aplicações bancárias por meio de interfaces adaptativas. (2024).

Nabson Silva, Eriky Rodrigues, and Tayana Conte. 2025. A Catalog of Micro Frontends Anti–patterns. In IEEE/ACM International Conference on Software Engineering (ICSE).

Single-spa. 2016. single-spa: A javascript router for front-end microservices. [link]

Davide Taibi and Luca Mezzalira. 2022. Micro-frontends: Principles, implementations, and pitfalls. ACM SIGSOFT Software Engineering Notes 47, 4 (2022), 25–29.

ThoughtWorks. 2016. Micro Frontends. ThoughtWorks Technology Radar (2016). [link]

Marco Tulio Valente. 2020. Engenharia de software moderna. Princípios e Práticas para Desenvolvimento de Software com Produtividade 1, 24 (2020).

Sira Vegas, Cecilia Apa, and Natalia Juristo. 2015. Crossover designs in software engineering experiments: Benefits and perils. IEEE Transactions on Software Engineering 42, 2 (2015), 120–135.

Viswanath Venkatesh and Hillol Bala. 2008. Technology acceptance model 3 and a research agenda on interventions. Decision sciences 39, 2 (2008), 273–315.

Claes Wohlin, Per Runeson, Martin H¨"ost, Magnus C Ohlsson, Bj¨"orn Regnell, and Anders Wesslén. 2012. Experimentation in software engineering. Springer Science & Business Media.
Publicado
22/09/2025
SILVA, Nabson; RODRIGUES, Eriky; CONTE, Tayana. Evaluating Strategies for Teaching Micro Frontends: Do Anti-patterns Help?. In: SIMPÓSIO BRASILEIRO DE ENGENHARIA DE SOFTWARE (SBES), 39. , 2025, Recife/PE. Anais [...]. Porto Alegre: Sociedade Brasileira de Computação, 2025 . p. 522-532. ISSN 2833-0633. DOI: https://doi.org/10.5753/sbes.2025.11029.