Nice explanation from Tim Bray on Android programming APIs:
The Google-provided SMS app has its own database that it uses to
stash away the SMS history, and it sets up its own Content
Provider for its own internal use. It turns out that if you read
the source code, you can figure out how to reach in and access
that Content Provider. Which is probably a bad idea, because
it’s part of an application that might not even be there.
I personally think the benefits of an Open Source platform exceed
this sort of cost — when someone uses the source to figure out
how to do something that really isn’t very smart.
There are several significant differences between Android and iPhone OS application APIs, but the biggest difference is one of policy. Every complex platform has APIs that third-party developers shouldn’t use. Android is like Mac OS X (or Windows, or other non-console-style systems) where developers can choose to use these private APIs, against the vendor’s advice, and take their chances. With the iPhone OS, Apple enforces a ban on their use via the App Store review process. That’s the difference.
★ Friday, 7 May 2010