One criticism people have of this approach to application development is that web apps aren't as efficient as native apps.
This pro/con discussion of web vs native apps reminds me of the C programming language, why it was created and what for.
The C Programming language was designed to be a portable language, meaning that it can be compiled on virtually any platform, any operating system. Yet C was also designed to constitute the minimum abstraction away from a given platforms native assembly language.
Thus a program written in C can be compiled on almost any machine, and run as efficiently or nearly as efficiently on that machine as a program written in that machine's native assembly language.
So perhaps we could use something like the C programming language for the web. A technology which allows us as developers to write our applications once in a portable open format, without needing to sacrifice in terms of performance.
Any thoughts?