&gt; They already do. Electron, Web Components, etc...<p>And nobody can agree on which to use. It&#x27;s not standard if it&#x27;s just &quot;some set of components some people reuse&quot;. A far cry from standardization.<p>&gt; Compare the performance of vanilla JS vs. asm.js.<p>That&#x27;s not what I&#x27;m comparing. I&#x27;m comparing the performance of <i>native</i> toolkits vs web toolkits on asm.js. It pales in comparison, and the battery usage is through the roof. ymmv?<p>&gt; So what are we looking at to replicate that?<p>1. Standardization of components (developer does not have to build their own scrolling system, context menu, etc)
2. Themability of components at the application level (developer can style components not to clash with the style of the application)
3. Themability of components at the platform level (user can style the application not to clash with the style of their own desktop)
4. Performance needs to shoot way, way up. Apps can&#x27;t rely on a performant GPU, it&#x27;s unreasonable to ask that of every device at this point in time. Some day maybe every device will come with their own high performance GPU, but eventualism cannot excuse bad coding practices and unnecessary layering.<p>The rest should follow. But I still don&#x27;t see us getting any of those things, any time soon. These are not easy problems to solve.