Hacker News new | past | comments | ask | show | jobs | submit login

The DOM/CSS/JS is a crappy, low-level, do-everything-yourself model for creating applications when compared to the state of the art in native UI/application frameworks.

Well, yes and no. This is a bit like saying that assembly language is a crappy, low-level, do-everything yourself model for creating applications, so that we should not use any language that compiles to assembly language. DOM/CSS/JS are just the brick-and-mortar, there. People are smart enough to build great stuff with them.

Awful stuff, too, of course, but we can just throw it away :)




I think there are at least two problems with using DOM/CSS/JS as building blocks:

1) It discards the network effects/value of having a common, regularly updated platform, shared across all applications.

2) DOM/CSS/JS are terribly inefficient building blocks in terms of processor, memory, graphics. Why waste resources on overly high-level building blocks that we just plan to abstract away.

If those building blocks are going to be abstracted anyway, then maybe we should just skip them. Should we build on top of canvas or WebGL instead?

Apple's accessibility work demonstrates that it is still possible to make native UIs be text-navigable/indexable/structured, which seems to be one of the biggest arguments for keeping the DOM.


Well, your first point is again "let's not use assembly language, it lacks a standard library". Yes, the remark is true, but this just means that we lack higher-level tools above DOM/CSS/JS.

For your second point, I somewhat disagree. JS is now quite efficient. Not CUDA fast yet, sure, but much faster than, say, Python, VB, and often much more memory-efficient than Java. To the point that some video games have been automatically recompiled from C/C++ to JavaScript (through Emscripten) and work quite nicely. Similarly, DOM/CSS are inefficient for really low-level stuff, but suddenly become pretty efficient for animations, for instance.

And, really, the biggest argument for keeping the DOM is not technology, but community: many people know how to use it to do cool stuff.

But yes, canvas + JS or WebGL + JS are also available, for applications that require them.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: