Complain about javascript all you want, there isn't another technology that
1. Provides a ubiquitously available application vm with a robustly maintained sandbox
2. Apps can be downloaded and run *instantly* off the network
3. Apps do not need to constantly nag the user for updates
4. Apps, with developer support, can be downloaded and run locally without relying on a server.
5. Have an asset management, delivery update, and caching system that is more sophisticated than anything else.