“…just because you *know* something needs JavaScript, doesn't mean it still does. You can make better websites if you test those assumptions every now and then.”
This is so true, and the reason why it is healthy to check back on vanilla web tech from time to time.
There are things that can be abstracted in a really nice way. HTML, CSS, JS are clearly not. The abstractions are always very leaky, or crippingly limitating.
And the difference between client and server is a part of it.
Totally! All things canvas related, Web audio and MIDI are perfectly suited for that. They are very low level.
The hard part is the high level one: DOM and CSS related things. React, Vue, Angular, etc. do a fine work abstracting DOM management, but letting you see what you are doing, which is a nice idea.
@jgg I see this a lot even in modern frameworks. I think server and client code needs to be more distinguishable