Quote from: dinocorn at Apr 17, 2016, 06:03 AM
On principle I disagree with the assumption that HTML and CSS is "not enough". In fact, I think HTML alone is enough.
...
All CSS does is decorate HTML. All JS does is update the HTML. It's *all about* the HTML.
While I disagreed with vik0xs' first assumption, I have to say, I don't completely buy this statement either. At its basic level, your view is true, yes. HTML in of itself is a frame and the foundation, but that isn't enough for the modern world. A cave offered shelter, but that doesn't mean our prehistoric ancestors were content to live in one.
HTML by itself in the context of a modern CMS does absolutely nothing if you don't also have a back-end processing language to save the input, then parse it back into a readable format. Therefore, HTML-only is absolutely useless for a Content Management System.
To take it further, HTML plus (server language) alone isn't going to win over the masses that it will take to keep the CMS viable. You don't necessarily have to have a beautiful interface, but you do have to have an efficient, readable and easy to use interface. HTML without CSS cannot accomplish that - at least without using tables for layout, which if you are a purest, is a cardinal sin (not to mention the havoc that causes on mobile devices).
Lastly, without Javascript, many modern UI techniques just aren't possible, and it degrades the experience and the levels of possibilities you can achieve with it.
So the question of how to use Javascript in an application isn't, “Should we or shouldn’t we use Javascript?” — we absolutely should use Javascript. The question then becomes, “Do we rely on Javascript so heavily that the application breaks without it and we are stuck with this framework for the foreseeable future? Or do we use Javascript as it was meant, which is to say to compliment the application in areas that could benefit from its use?”
My view is, Javascript should never do the job of HTML or CSS. That is the biggest problem with the current iteration of the MODx manager. Javascript should process variables, gently manipulate the DOM,
attempt to smooth over differences in browsers and platforms (CSS can accomplish this even better), and offer feedback to the user. It should not create HTML, and it should not create CSS. Your fingers and brain create CSS, the server language creates the HTML and the end user creates the content. Only then do you have a fully functioning home, not just a drafty shack.