I’m not very familiar with the iPhone or iPhone development, but here’s a comparison between the two:
|Programming Language||Java. I believe it gets compiled to Java bytecode then run through an optimizer called Dalvik which makes the code more efficient, or something.||Objective-C, I think?|
|UI Toolkit||A bunch of Android-specific classes (i.e. not Swing or SWT). There are standard classes for lists, buttons, check boxes, text input, etc. But everything is proprietary to Android.||Cocoa, I think?|
|Development||A free plugin for Eclipse that makes it easy to manage the files that make up the application, and build, test and debug||I think you use XCode?|
|Testing||Both development environments allow you to run your application in a simulator/emulator|
|Distribution||Unknown. Google has not announced how applications will be distributed. It seems likely you’ll be able to download them from the Internet.||Applications must be approved by Apple and distributed in their store thingy.|
|Other||Android applications have a weird life cycle philosophy… If the user switches away from your application to a different one, your application is put into hibernation. If the phone becomes low on resources then all data from your application is serialized to persistent storage and your application is killed. When the user switches back to your application the data is read from disk back into memory and the user is totally unaware that the application was ever killed. All of this requires support from the application to work correctly.||Apparently your application is only active when it’s in the foreground, and it is killed when the user switches to another application. This means you can’t maintain a persistent connection to a server, which means you can’t write an IM program. I could be wrong.|
“I could be wrong.”
No, I think you pretty much summed it up.
I gotta say I do love developing in Eclipse. And the “only foreground apps” is annoying on the iPhone. Here is hoping they figure something out.
that was brian by the way. of course.