Plone UI: shared basis for React & Angular efforts?

In practice, both React & Angular are jealous lovers, despite hypothetical claims to the opposite. For example, while they are, at the core, not widget libraries, it is easy and typical to use widgets developed specifically for the respective base system. The same often applies to JS i18n, testing, etc.

Mostly, doing that might make sense. But for Plone, there might be a catch.

I think both the React & Angular -based efforts are great.

But without some careful thought to the matter, might the Plone React & Angular efforts diverge both from the once-proposed Mockup (Patterns) upgrade path, as well as from each other so that in the end we will have a completely fragmented UI situation that will hurt Plone, without any sensible upgrade path from the current Mockup/Patterns -based UI story?

Are we really big enough an ecosystem to support two fully distinct UI implementations? Does it make sense?

Could the said efforts share elements where possible? Such as common widgets, i18n & testing libraries, and design & styling (Pastanaga)? Would that make sense? I would assume it would also provide a good basis for upgrade story from current Mockup/Patterns -based system?

Is this already happening?

If not, should such "shared basis" effort be actively steered or guided? Or, is it already too late?


Hi @petri,

That's what we have been working on during the Toulouse sprint last week.
We definitely plan to re-use as many things as possible between React and Angular (and any future framework that would become massively used).
And we also plan to rely on existing css frameworks and/or component libs to implement Pastanaga (so we do not need to develop and maintain the entire thing by ourselves).

Our strategy will presented and discussed at the Barcelona ploneconf.
See you there hopefully :slight_smile: