Much like French cinema in the 60s, there is a “new wave” going on in web-based application development right now.
When I attended the iPhone dev camp here in Austin, one of things that I learned was that Cocoa had MVC concepts built right in to the language. This approach works very well for interfaces, and this has not gone un-noticed by a few web developers.
Sproutcore and Cappucino are very Cocoa-like languages that run completely in the browser and offer a very desktop-like experience in the browser without Flash or Silverlight. Apple used Sproutcore for Mobile Me and 280 North used Cappucino for 280 Slides, which is a very nice Powerpoint/Keynote app for the browser.
Both of these frameworks offer near desktop-like performance and allow apps to run on/offline. I fully expect to see a lot more apps built on these in the near future. The hard part is that programmers are going to have to learn new concepts to make the most of these new environments; they are a pretty big change from doing an app in a framework like Rails.