If an app requires processing while in the background, then it must also have a service component. A service on Android is like a separate small application that runs without a user interface in the background (though not actually a separate application). The service has a server/client relationship with the app.
Oh. That’s exactly the way I expected / hoped multitasking would work on iPhone OS 4.0, without knowing it was already implemented by Android.
I’m not surprised that Apple went with a more restrictive model that’s designed to actively prevent developers from wasting battery power, but at the same time the author is right to note that Apple’s system also makes it much easier for programmers to add multitasking to their apps.
So everybody wins, if you count as a win that you’ll never have an iPhone IM client keeping open connections in the background (and thus draining your battery) instead of relying on push notifications.