hi guys, this is a serious and genuine question so please no flamebait responses.
I am a junior developer, worked for a company developing in modx, but now i’ve moved on to a company as an october cms developer, and i’m trying to understand the advantages of using modx over other systems.
since i’m not very experienced, there might be obvious things i’m not seeing, so please try not to be insulted by my questions or be condescending in your response.
As far as i can tell, compared to the system I am using, modx seems to have some vary glaring disadvantages. Again, these could be just perceived disadvantages, due to my inexperience.
For one, the fact that modx stores html code, and even php code (in the form of snippets) in the database, seems like a big problem for me. Doesn’t this mean that it’s impossible to version control your code? since its stored in the database you can’t commit it to git. Then you have the issue of not being able to use debugging software like xdebug through your IDE because the code is not file based. And you can’t use your IDE’s search functionality or go to method implementation (I use phpstorm btw). Also, doesn’t this architecture increase queries to the database, thus decreasing performance of your application?
I read about people using roundabout tricks to manage some form of version control, but doesn’t this make for bad developer experience and still not defeat some of the issues mentioned above?
also there are no database migrations as there are in octobercms, so version controlling your database is also troublesome
then there are things like translations and user permissions, what in other systems seems like a five minute job to set up, with modx always seemed like an uphill battle, needing to modify htaccess files to make translation packages work seems like bad practice to me
user experience also seems to suffer, with an admin panel that looks like something from the 90’s, and also non intuitive. Slows down the development workflow, and also then creates other issues, how do you help the end user get his head around ‘resources’, template variables or dealing with namespaces when all they need to do is translate a string etc.
no templating engine? I see now that someone tried to bring in twig to modx, but plugin seems abandoned, never got a full release, just an RC version years ago, documentation seems to not be there, and implementation seems like a hack, don’t even know if this plugin works any more or if it ever did. so no templating engine means messy unmaintainable code
another issue seems to be how development friendly it is, october has cli commands for scaffolding plugins, components, controllers etc in seconds, while modx makes this unnecessarily tiresome and time consuming. Again this could just be my inexperience talking but modx seems to make the development experience just a drag, needing to follow multiple steps in the documentation in order to do things done in seconds with other systems
and my final issue with modx, I tried creating a rest api, followed the instructions in the documentation but couldn’t make it work, some posts on the internet seemed to suggest documentation for the rest api was not accurate, instead suggesting their own steps in creating a rest api, which I still could not manage to make work. I understand you can just blame it all on my inexperience, but never had issues creating rest apis with octobercms and laravel in general.
developing in octobercms, at least for me, makes for rapid development, much faster than modx, and also a much more enjoyable developer experience
so I guess Im trying to understand what advantages modx has to offer, and if it actually is something worth sticking with for development purposes, I assume there must be some advantages Im not seeing if people are choosing it over other cmses
I appreciate you taking the time to read and respond