3 ms·
Most of the implementations of MFEs I've seen are reliant on webpack or Single-SPA (which by default uses webpack under the hood). vite, esbuild, parcel etc. h
by no_wizard 3y ago
Most of the implementations of MFEs I've seen are reliant on webpack or Single-SPA (which by default uses webpack under the hood).
vite, esbuild, parcel etc. have not adopted anything around this.
To me, that says that those putting out the nuts and bolts work that having been leading this space for several years either haven't spent alot of time evaluating them, or have found them overly complex for what they are, or perhaps think there is a better way to accomplish their goals.
I'm not sure MFEs are the best tech, to be honest. I've seen demos where it seems to be an addition (bootstrapping speed, neat tricks with routing etc.) but I've never seen them demonstrated in practice. I'm on a team now that is adopting MFEs and our payload is somehow considered acceptable at 8 MB. Given this is a behind-the-login app, I think somewhere between 300-500KB bootstrapping and getting to interactive with the rest lazy loaded is fine, but 8 MB to boot the app seems like we aren't doing even basic optimizations (I unfortunately do not have the control I wish I had on this)
I'm really unsure about MFEs, they seem like something looking for a problem in practice. They certainly appear hard to get right
- fabianholzer 3y agoThe examples that are publicly available and written about, are in my opinion all suffering from a too low level of abstraction. They are more tech demos of possible implementation options, for such an architecture, but as they are all contrived to demonstrate some mechanism, but the not a single of the examples would be actually justify that kind of architecture. I am working on a MFE shell application for a product (or rather a suite of closely related applications/products), that need to be presented to the users as a single system. Ballpark figure of the business unit 400+ software developers and 80+ modules/sub-products. I think the MFE architecture was a justified trade-off, given our organizational structure and product landscape, but one should be very cautious if it is presented as a some kind of default solution.
- no_wizard 3y agoThat is what I think MFE is meant for, where you have entirely different parts of an organization working on an application but you need it to feel the same to the user. That feels right. Another I've been apart of is applying it to a given codebase post acquisition, helps speed up integration in some respects One example I've seen floated though is remote modules for design systems. This one I'm unsure about. I can only speak from one experience when this was tried and it was a disappointing result.
- morbicer 3y agoVíte has a Module Federation plugin that's interoperable with webpack with some effort And according to some folks on Vite conf it will be soon supported natively