I’ve first heard of Micro-frontends in 2016, on an Allegro.tech post. The idea is to bring the same approach of micro-services to break the frontend monoliths. Cam Jackson does an overview of this on Martin Fowler’s blog.
Abstractions in software are something only seldomly tackled in proper way in computer science college courses. Abstractions are not about UI, Bussiness, and Data layers. Abstractions are about making the correct questions to each entity in an application. When the app design is focused on placing these questions correctly, we end up with a more testable and extendable codebase.
Anti-patterns are a sign that something can be better. There are moments when things just went south and needs to be fixed; but taking them as a solution is asking for more of them. Agile Principle: “The sponsors, developers, and users should be able to maintain a constant pace indefinitely.”