Open evanp opened 6 years ago
I've thought about this too. Long-term I think we should offer three "products":
And I guess also 4. the web UI standalone, if we wanted to do strictly what you've suggested here
Could it still be layed on the main repository as submodules?
Good question. This is somewhat of a medium- to long-term thing so I don't know that anyone's been thinking about exactly how this would work. I will say that submodules are mediocre at best - they work for very specific usecases, but other than that they're... not so great. It might be that this is one of those usecases though.
Could be a microservices structure, an external package like pump.io-ui
as dependencies of pump.io
or a monorepo with yarn
the microservice variant sounds good
Maybe something like pump-qt
, pump-gtk
etc for the digferent UI implementations that may happen?
You can already build GTK+ or Qt clients using the API.
This is pretty out there, but: we could move our Web UI to a separate project that could be the front end for any ActivityPub server.
Our code for Web requests could then just load a shell that uses the Web UI, and the Web UI could figure out what it's supposed to show based on the URL.
This would reduce a lot of the complexity in the app.