Closed jmakowski1123 closed 1 year ago
@arbrandes Coming from https://github.com/openedx/frontend-app-account/pull/615
Here are my thoughts, work so far on this.
chanign source-map (it get us to reduce bundle size but it deson't have effect on actual performace since, the huge file are related .map which don't get served by default to client)
Tutor now comes enabled with encoded/zipped by default, this reduces the transfer size ~70%
As for having common depencey between the MFEs I still in favour of this apporach since it will not only reduce bundle size per mfe but also reduce built time for MFEs[^1] . i.e we can get the best of both world.
It should not matter if MFEs have consistent versions of paragon - the code isn't shared anyway, I don't think it's meaningful to optimize for a consistent version. We shouldn't limit an MFEs version of a library because a different, independent MFE is at a particular version, that's not how the system was designed/intended to be used. ref
This issue also cross with #138 goals [^2],
Regarding CDNs I also was doing something realted to it, I think this path is quite flexbile, but anyway such path might require archticure changes, consdier the following:
apps.yourlms.com/mfe
The de-facto tutor way of doing itmfe.yourlms.com
This de-facto edX/2U way of doing it Regarding module federation:
[^1]: We have a dedicated issue for bundle speed at #126 [^2]: For example I found that adding spesfic plugin would reduce CSS file by ~70% which is something good for #138 but might conflict with #126. [^3]: If you think in terms of how many people involve in DevOps between a typical tutor instance vs edX/2U, you would guess that both have chosen what work best for them.
I think we should move forward on this via the Modular MFE Domains OEP.
Problem
Because each MFE is built completely separately, the LMS user has to download multiple bundles. Bundles may contain different versions of React, for example, causing the user to have to download duplicate data. Furthermore, the more MFEs are built, the less efficient this setup becomes.
Product/Platform Value
A smaller total download translates into a snappier experience for end users, particularly those with slower connection speeds.
Acceptance Criteria
Further discovery required, but there are a few theoretical options:
Related or in-progress work
Ghassan is undertaking discovery work which is being tracked in the MFE working group.
Contingencies