Yup, every page looks different anyway, calling megabytes of minified, obfuscated JavaScript. There is probably more in for the user. I guess then you only need <html>, <body>, <canvas> and a subset of DOM.
And you'd need to handle accessibility considerations, and font and encoding support, and a flexible layout engine, and multiple input methods, and scrolling, and search engine standardization, and more all yourself.
By the time you handle most of it, all you've done is make a wildly more complicated version of the DOM.
Not sure about that. I mean a number of video games have been successfully recompiled to JavaScript, e.g. Doom or Quake 3. I guess you one would need to be able to target some sort of Framebuffer, Frameworks like Qt know how to do that already.
Probably I prefer "native" Web Apps over recompiled "native apps" but like it or not, this will come more and more as people ask for more performance and more variety of programming languages.
Well you can already do that with Canvas, and as you said things like Doom or Quake have already done so, but you are basically ignoring the entire DOM and JUST using the canvas as a framebuffer.
And like you said Qt already knows that (somewhat, there have been tech demos showing this but no real applications built on it), but it still means that YOUR APPLICATION must handle all of that, meaning at best you are downloading all the code for all of that at runtime, and at worst you just won't handle it because most people don't want to spend the time.
I never said it would be worse than flash, but is that really the level we are holding ourselves to?
Flash was awful, an accessibility nightmare, a security nightmare, was/is not supported on many platforms/devices, and was horrible on battery life. I think we can absolutely do much much better than flash, but the answer is not to throw out the entire DOM and all of it's benefits and start over, the answer is to fix the problems that are easily fixable and settle on a good set of standards that we can have the option of ignoring for performance reasons in specific domains like games.
That's what you get when you are trying to reinvent the wheel... that is OS controlls, which are just fine and most of the time (in contrast to the web) don't break the layout if you change something by 1px…