This might be a big or broad question, but I simply cannot find a proper answer to this myself. Right now I’m struggling to find a starting point for the application I’m trying to make.
My idea is to have a chat moderation application with a webinterface that is completely modular, in the backend and frontend. The problem I’m facing here is that when I look at frameworks that I might be able to use in order to get started, I either look at frameworks that could handle a modular application, but struggle when they have to run another continous thread in the background and interact with it, which would handle the chat (basically all ruby & php frameworks). On the other hand there are frameworks which would be able to serve the web interface and run the chat handling in the background but have problems when it comes to making a modular application in general (most of the remaining frameworks). Lastly, there are frameworks who support modular applications, but either you cannot modularize assets or the main application has to add code to support them. I have no problem with the possiblity of extending the functionality of a given modular framework to allow my specialized modules to do what they’re supposed to do, but a good base just has to be there in the first place.
From what I’ve looked at so far, I have come to the conclusion that I would have to split front- and backend up into two parts and have users provide a module for frontend and another one for the backend, instead of being able to have one module which contains frontend functionality and backend functionality. This might seems like a good idea but it’s not ideal when looking at it from a -future- module author and user perspective, because at least double the amount of steps are required. This however, also has one slight advantage as you can separate modules that are for one side only anyway, e.g. modules that just provide UI improvements.
Most of the problems seem less of a problem when we’re talking about an application that is just used for one specific client or in-house, as it would be easy to add some static wirering inside the application to use the modules. But since we’re talking about an application that other people will run and they certainly might not be programmers themselves, this is not an option. See Wordpres as an example.
Is there really no way to make such a modular application? Or do I have to make the sacrifice and have backend and frontend split up?
I am really greatyful for any kind of answer, because I’ve been going back and forth for a long time already, without getting a good solution myself.
3