And I'm also going to mention Android - while not as
stylish as iOS, the development model is so close to web
apps it's actually beautiful.
Really? To be quite honest, I found Android's development model to be closer to Silverlight/WPF than true web development. The relation between the XML-based layout language and the Java code behind reminded me much more of the relation between XAML and C# than HTML and Javascript.
I'm not referring to the way UI is described with XML, although as I've mentioned there are people doing UI with HTML/Javascript (see http://www.phonegap.com/ for starters).
Android apps can have multiple entry points, just like web apps by means of URLs. From one app you can jump into another app while opening a specific screen. Android apps have a functional back-button that works by default (as in, the developer doesn't have to do anything to benefit from it). Android apps are very composable as normally they expose APIs that can be used by other apps (the environment encourages it by means of intents, services, broadcast receivers and the multiple entry points I mentioned above). Android apps give the impression of being always on, since you can't rely on an app to stay alive you have to implement life-cycle management (e.g. save the user's data and the app's state as soon as you can).
What I describe above is by no means unique to Android apps (iOS apps are usually as well behaved, or even more so), but Android makes it natural. On the other hand, Android apps in Google's market look like shit but the stock widgets are getting better so hopefully people will stop feeling compelled to color their buttons blue :)