1) it only downloaded a new version of the app when it changed (easy with ETags);
2) apps were lightweight (hard on current mobile platforms).
If platform vendors and application developers cared, it would be easy to make most applications weigh a few hundred kilobytes. We could then do exactly like what Web apps such as Twitter do natively.
I don't see why it needs to be any worse than loading a web application. It is the media assets that make any application large, and they are going to be the same size no matter how you package your app.
It would make it much slower to open an application each time. After all, vast majority of applications don't do this, so there must be a reason why.