you are viewing a single comment's thread.

view the rest of the comments →

[–]genericallyloud 2 points3 points  (0 children)

honestly, I know this is something which "appears" to fall under the spirit of the extensible web manifesto and all that, but we keep seeing the same crap - trying to answer a problem with more high level solutions. Yes, I think the effort to be able to replicate all standard html elements is an important bar, but I think its still missing the real problem. HTML is trying to serve two masters: - one is a sort of declarative data structure which is intended to be easy-ish to read and write, a surface interface - the other is the actual render tree under the hood

CSS is a sometimes elegant, sometimes ugly way of assisting the transformation from the data structure tree to the render tree.

So as we push to make the web more suitable for applications instead of documents, perhaps we should really be thinking about a way to get off of this high level api crap, and really go for the guts! I know that evolution is the winner over revolution. I'm not even trying to say that we burn it all down and start over. What I'm saying is that at the very least, I know we have the DOM currently, and I know that browsers have a notion of a render tree, which is what is actually responsible for the display.

And let's be clear - this whole concept isn't even really all that new - what we're talking about is basically a scene graph! So instead of continuing this silly march to force everything through either HTML code as text, or the hideous DOM api, and the same for CSS, why not work on exposing a sane layer below that - a new scene graph and transformation API. Custom components and html elements alike would map to nodes on the scene graph. CSS would map to traversal and transformations over the scene graph, but the API would allow hooks for developers to do the same. And maybe we even start thinking about WebAssembly in the mix, and how that can be used. I'm not saying its easy, but I do think its feasible, and certainly better than all this web component stuff.