When discussing with Timo we noticed VisualEditor was doing something
very similar to mobile with parsed messages but was actually doing it
a lot better. So yes I think the current existing model of bunging
things into extensions is bad. It decreases visibility of work and
leads to various incompatible forks as we end up working in silos.
I would love us to reverse this anti-pattern and start putting stuff
like this straight into core and iterating on it together.
MobileFrontend is already in many ways dependent on VisualEditor,
Echo, Thanks and various other extensions. We've seen this issue with
styling across extensions (which has led to the construction of
mediawiki.ui in core) and I would like us to see us take this approach
for other basic things (another one coming to mind is some kind of JS
framework - the fact mobile is using its own lightweight framework,
VisualEditor is using OOJS and various other extensions are cutting
their own versions / pulling in some sort of framework also highlights
a problem.
The problem with both Flow and MobileFrontend being dependent on
another extension is that when yet another new extension is built it
won't necessarily think to use this extension and will end up using
its own templating language/method of shipping templates to the client
when it sees there is nothing like that in core.
If we are worried about providing incomplete features to 3rd party
users e.g. templating without a standard library maybe we should be
maintaining a Wikimedia fork of MediaWiki where we can do this stuff
but I don't think this kind of behaviour can continue.