[!] You have a perfectly good computer running in front of you, with powerful hardware, geometry translation and audio rendering devices ready to be bent to your will.
[!] You have excellent (paid and free) tools and the Internet provides documentation on everything....
[?] Why shove more and more functionality into the browser, which can't even be considered a single proper 'platform' or 'target', since you have to account for several cross-browser/os combinations... In the end, we need frameworks which must patch and shoehorn lots of stuff in our actual code just to deal with cross-browser/os .
[..] In the end, we achieve better and better performance per cycle on one side and waste it more and more on the other. Of course, power efficiency and other important metrics on our increasingly mobile world go out of the window as well.
[.] We could be improving our tooling and languages to enable programmers to achieve good cross-compilation performance everywhere, and making most interfaces properly standard (opengl, communication stack) would make all this accessible and easy.
I leave you with two questions:
positive mindset: is this about lowering the entry bar to 'app' development?
negative (realist?) mindset: is this about vendor lock-in, hardware sales and consumerism?