Fathym: A Micro-frontend Platform
The idea of "micro" in technology is nothing new, and has been applied in backends for over a decade in the form of microservices. What is relatively new though, is the shift to leverage "micro" on the frontends that we build. Micro frontends are an extension of microservices that can be used to deal with the multitude of struggles that arise in building and maintaining large SPAs (single page applications) and other frontend monolith approaches.
What are Micro Frontends?
In the past, it was somewhat expected "frontends will be frontends" and that meant monolithic. In recent years, more attention has been given to how our modern web projects are organized and architected. Not just in terms of how the code is written, but more around how the written code is organized, built, delivered and tested. This focus has lead to the micro frontend movement, the decomposition of monolithic user experiences into more manageable bits. Whether you are looking to integrate modern javascript features, staticly generated sites, or new javascript frameworks into your existing code or new projects, micro frontends is a must have tool for modern web development.
With micro frontends, applications are broken apart into a series of feature based projects that are owned by independent teams. These smaller, and more cohesive codebases are then composed into a final delivered product. This allows for team autonomy and focus on specific business needs, making for more scalable feature implementation. The architectural approach is rooted in strong DevOps practices to ensure upgrades, updates, and rewrites can be applied in an incremental way that does not disrupt the entire product or business.
Let's sum it up with a definition from Martin Fowler, micro frontends are
an architectural style where independently deliverable frontend applications are composed into a greater whole.
Of course, with great power comes great responsibility, as true for our software architectures as it was for Peter Parker. Fathym provides a platform to build micro frontends so that common issues with dependency management, team autonomy, DevOps, and DocOcs are understood and managed from the beginning. The reward of this architectural style far outweighs the risks, and Fathym is here to help you start and master your journey with micro frontends.
Digging Deeper on Micro frontends
From here, we'll dig into what the Fathym micro frontend platform can do for you. If you've gone through the getting started guide, then you've already experienced the simplest form of micro frontends we have to offer. This ability to host many different types of applications in itself provides great flexibility for teams, but as we'll see, a full micro frontend approach to our development can provide even more benefits.
Building Micro frontends with Fathym
If you're looking to get your hands on code, and actually deploying some micro frontends right away, then you can dive into some of the documentation we've pulled together for modern web development approaches. This spans static site generators to javascript frameworks, and can serve as your starting point for deploying micro frontends on Fathym.