![universal database front ends universal database front ends](https://www.ridetech.com/wp-content/uploads/2018/06/products-18987999-scaled.jpg)
It means breaking down monolithic projects into smaller, more manageable pieces, which are independently developed and owned by respective teams, with the power to build and ship simultaneously. The idea of micro front-ends is to bring the same advantages to the modern development workflow. This paradigm provides great advantages to help accelerate, scale, and make the development process more efficient. Source: This wonderful article by Cam Jackson In recent years, microservices allowed backend architectures to scale through loosely coupled codebases, each responsible for its own business logic and exposes an API, each independently deployable, and each owned and maintained by a different team. You can hear more about this change and what it can do for a fast-growing start-up first-handed at this great episode of the HeavyBit JAMStack podcast. For example, the number of releases can go up by as much as 30X(!), the time spent on integrations is cut by over 50%, the composition of new features becomes a matter of hours or days, and even on-boarding new developers can become a simple matter of hours instead of weeks.
![universal database front ends universal database front ends](https://file.alternativein.com/img/1064/heidisql-3.png)
KPIs and benchmarking we took for ourselves and for other teams show a variety of positive things happening when adopting this component-driven design. Close to 100% of the components written in our codebase are shared and reused, including not only front-end components, but also many other aspects of our system, such as “Search” features, “Playground” features, and even certain fullstack features that include both frontend and backend functionalities. All teams work together to share and integrate components with each other, without stepping on each other’s toes. They use the bit.dev platform to host and expose components to other teams, so they can integrate and collaborate.Įvery team at Bit enjoys a similar workflow. They use Bit to independently version, build, test, package, and publish each of their components. This team works in a different codebase, releases changes through its own decoupled build pipeline, and can constantly deliver incremental upgrades.Įach team builds its components, with the flexibility to split vertical ownership by features etc, in their own smaller and decoupled codebase.
![universal database front ends universal database front ends](https://di2ponv0v5otw.cloudfront.net/posts/2021/04/24/60846b5ece1e87bba7f47229/m_60846b6a800f64dee6912609.jpg)
In this example, the marketing team was decoupled from the team building the Bit.dev web platform. For that, we use Bit, an open-source library that helps in making each component completely independent, and our cloud platform that lets teams efficiently collaborate and integrate together.Įvangelist: Bit.dev’s marketing component system With the right component model and the right tools, any team can adopt a modular approach to building web applications, and enjoy these benefits.įor us, composing frontend apps in build-time brings the best of both worlds - the safety and robustness of “traditional monoliths” and the simplicity and scalability of micro frontends. This new way of building and collaborating on frontend apps, is, in our view, the core element of micro frontends. While runtime integrations have their benefits (smaller payloads for example) but they’re not, by any means, the only way to achieve “ a composition of independently deliverable frontend applications” (to quote Cam Jackson). Micro frontends are usually thought of as a composition of independent frontends that happens at runtime, either on the server or on the client-side. Author of Module Federation on the future of MFEsīy splitting the front-end monolith into smaller codebases, front-end teams can enjoy similar benefits to those of microservices: maintainable codebases, autonomous teams, independent releases, and incremental upgrades.