Blazor Composition Toolkit is a Blazor-specific micro-frontends framework. It enables independent teams to cooperate on the same presentation layer with completely independent CI/CD cycles. Each team works on a micro-frontend, and at runtime a kernel application combines all micro-frontends to yield the complete Blazor WebAssembly application.
Each micro-frontend can evolve and can have its own independent releases, so that your company can focus the whole development effort on just those micro-frontends whose updates add more value to the overall application.
Micro-frontends are binary independent form each other’s and from the kernel application that combines them. Both the kernel and all micro-frontends are able to use pages, components, and other assets of all other micro-frontends, thanks to name conventions.
Micro-frontends can share a set of common dependencies, but may have also their private dependencies. Two micro-frontends may use different versions of the same assemblies; the framework takes care of handling several versions of the same assembly as appropriate without causing binary incompatibility issues.
Micro-frontends can share a common dependency injection container which provides shared services, but each micro-frontend has its own private dependency injection container that manages its private services.
Each micro-frontend can bring with it both private scoped CSS and private scoped JavaScript.
Each micro-frontend is assigned an URL subspace for its pages, and can use components defined in other micro-frontends by calling them by a name that univocally define their role.
Each micro-frontend may provide menu items to menus of other micro-frontends and of the kernel. The match is done according to name conventions, and is completely under the developer control.
Micro-frontends are automatically downloaded from endpoints that can be placed also in other domains. They can be downloaded at application start or as soon as their resources are needed. The right micro-frontend to download is automatically computed thanks to micro-frontend manifests.
Some micro-frontends can also be linked together with the kernel to reduce the application size with tree-shaking. However, this size reduction is paid with the need to perform a global build each time some of the linked micro-frontends is modified. Micro-frontends linked with the kernel, too, can be automatically downloaded when their resources are needed instead of being downloaded at application start.
Important! At moment the Blazor Composition Toolkit is in RC1. However, you can already buy it! Your free one-year support and updates period will start from the RTM date. Take advantage of this!