> Hardware gets better at a rapid rate and HTML5 (CSS, Javascript, etc) is still improving.
Hardware is only improving as fast the vendors see a need to. If the ARM chips in a smartphone suffice for say 90% of the games produce on a iPhone, why on earth increase it's power? We all know (hopefully by now) that the HTML5 spec chews through CPU, especially when called in parallel requests. It's not advantageous for Apple to optimize the HTML5 spec, otherwise it decreases lock-in.
Also, this is the same argument that happened in the 90's with desktop/laptops and only really has progressed now with the existence of modern browsers. The only way that this was possible was when telecommunication infrastructure was able to support always connected devices, which the late 90's and early 2000's has proven. We are almost there, but considering 3G (4G, LTE, or whatever) is still not 100% reliable, I don't see this happening anytime soon. I really think we are less "connected" (technologically speaking) than the general public gives us credit for.
Also core count is increasing, but raw speed per core really isn't. Multicore really doesn't help web rendering very much. Nearly all javascript out there is single threaded and most dom rendering is too.
Raw speed per core is increasing DRAMATICALLY in mobile. Faster than even Moore's law would dictate. As the die process has shrunk, more transistors are fitting within the mobile TDP ceiling so modern processor methods are finally getting used. As recently as the ARM A8, out-of-order execution wasn't even used!
You can verify that this is correct by looking at any benchmark.
Indeed. Blossom[0], a mobile MVC client framework for business apps, is being updated as we speak to split apps into a UI/animation thread, with the application/model layer/network in a web Worker on a separate thread.
That's really not a rebuttal. Yes, lots of browsers now support web workers. Yes, it is therefore possible to write multithreaded javascript. And that may become more common over time. But for now, the fact that it's possible does not change the fact that nearly all javascript is still single threaded.
IE10's chakra engine parallelizes interpreted javascript execution (on page load) with JIT compilation and garbage collection. So you can have up to three cores at work executing javascript even without web workers. Meanwhile, the rendering subsystem offloads to the GPU, and the whole thing can exist multiple times for multiple tabs, potentially involving dozens of cores executing your web apps.
Hardware is only improving as fast the vendors see a need to. If the ARM chips in a smartphone suffice for say 90% of the games produce on a iPhone, why on earth increase it's power? We all know (hopefully by now) that the HTML5 spec chews through CPU, especially when called in parallel requests. It's not advantageous for Apple to optimize the HTML5 spec, otherwise it decreases lock-in.
Also, this is the same argument that happened in the 90's with desktop/laptops and only really has progressed now with the existence of modern browsers. The only way that this was possible was when telecommunication infrastructure was able to support always connected devices, which the late 90's and early 2000's has proven. We are almost there, but considering 3G (4G, LTE, or whatever) is still not 100% reliable, I don't see this happening anytime soon. I really think we are less "connected" (technologically speaking) than the general public gives us credit for.