How do you "optimize for web?" How do you "design for the web?" I posit, approach with a (re)think of the ultimate goals you wish to deliver your customer (user, heartbeat etc). An attempt to emulate an existing experience, interaction model built for another platform by definiton means that you may not be optimized yet.
Much like Lukas Mathis, I disagree with the assumption that the web is inherently slow. Yes, it is an abstraction layer on top of the "native OS." And running JS today is slower than running the corresponding operation in the native machine code.
However, history has shown us that if you can reach people independent of the platform, it is a good thing. And if "perf" is the biggest issue of all, it shall be solved.
I am not tied into the DOM as it is today (although there is a good reason it exists). I am not tied into canvas and reactive development (I think it shows some real promise.)
However, I genuinely believe in the fundamental theory, concept and the web's ability to reach every platform. I believe that it is a good thing for users to write "web-native" applications and every web-developer should strive to do better here.
Most web developers probably don’t optimize for loading, but even fewer optimize for execution speed. With today’s fast connections and dynamic websites. execution speed often becomes a bigger issue than loading.
Think through the experience you wish to deliver, the network situations of your customers/users in devices they use. And you shall be rewarded.
Finally, the mobile-web should be a welcome challenge to truly perf-optimize web-apps.
The web deserves better and it will repay you very well if you treat the platform with the same care and love you provide your other native application development. The ability to push without anyone's approval, the ability to bring users with a simple link - is incredibly powerful and should be considered an asset. I wish you all the best.