We have reviewed the following technologies and frameworks as candidate solutions to help address the requirements of this FC.
In addition to the above listed in the original OEP document we have also explored
Podium is a mature node.js solution that works exclusively on the server side. Given the extensive use of client side deployments across the open edX platform, it is anticipated that a conversion to server side only rendering for all MFEs would be a problematic consequence of using podium as a solution.
Both Mosaic and OpenComponents are web component oriented MFE frameworks that do not depend on any JS framework. Mosaic is a newer framework with a smaller community. Documentation is not as robust and the project lacks the maturity to be a realistic candidate for the open edX platform at this stage. OpenComponents originated at OpenTable in 2014 and has been in active development since. While the platform is stable, the component based approach is very different from open edX’s current development and deployment models and the anticipated conversion cost is a greater. The solution also requires a live Registry/CDN service to host components, and applications are composed at runtime by querying the registry API. The requirement to deploy additional infrastructure to support the front end is not desirable.
Given the considerations listed above, this discovery process will focus on Piral and single-spa (as well as the Qiankun derivative) as candidate solutions.