So with hardware accelerated 3D graphics, an integrated database API, tightly integrated performance monitoring tools, and a highly specialized version of the Cocoa framework tweaked just for the iPhone and rechristened as Cocoa Touch, the iPhone's
just-announced SDK sounds like a winner. But how does it compare to its well-entrenched competitors from Microsoft, Nokia, and the iPhone community itself? Let's have a look.
| Apple iPhone SDK | Toolchain | Windows Mobile | S60 | Android |
Cost
|
Free |
Free |
Free; could be more depending on tools used |
Free; could be more depending on tools used |
Free |
Wide-scale app availability
|
June |
Now |
Now |
Now |
Depends on device availability |
Native development
|
Yes
|
Yes |
Yes |
Yes |
Yes |
Languages suppoted for native development
|
Objective-C |
Objective-C |
C++, C#, VB.NET
|
C++ |
Java |
Digital certificates
|
Required for distribution |
No |
Available, required for some phones |
Available, required for some phones |
No |
Retail support
|
Full; 30 percent Apple revenue share; free apps allowable |
No |
Limited |
Limited |
No, but Android Developer Challenge offers money and publicity |
Platform maturity
|
Immature |
Immature |
Mature |
Mature |
Immature |
First-party support
|
Yes |
No |
Yes |
Yes |
Yes |
Community support
|
Just getting started!
|
Excellent |
Excellent |
Excellent |
Excellent |
App installation method
|
Direct (App Store), iTunes |
Installer.app, custom |
Direct, ActiveSync |
Direct, PC Suite |
Unknown; installation on emulator is not reflective of production devices |
Emulator available
|
Yes |
No |
Yes |
Yes |
Yes |
Remote debugging
|
Yes |
No |
Yes |
Yes |
Yes |
Target device variety
|
Poor |
Poor |
Excellent |
Good |
Poor (that will change, though) |
Touchscreen support
|
Multi-touch
|
Multi-touch |
Single touch |
Umm... soon? |
Single touch |
App availability and variety
|
Poor (that will change, though) |
Good |
Excellent |
Excellent |
Poor (that will change, though) |
Underlying architecture
|
Cocoa Touch / Mac OS X
|
Mac OS X
|
Windows |
Symbian |
Linux |
Flash availability
|
No |
No |
Yes |
Yes |
No |
Java availability
|
No |
In development |
Yes |
Yes |
Yes |
Reader Comments (Page 1 of 1)
Taylor @ Mar 6th 2008 2:57PM
I'm assuming by "Toolchain", you mean whatever it is the hacking community has come up with? I don't follow it closely enough to know, and the chart is unclear on that...
-Taylor
Taylor @ Mar 6th 2008 2:58PM
*for the iPhone, btw.
Randy @ Mar 6th 2008 4:39PM
Toolchain means a compiler, linker, debuger, an IDE, etc.
Stuff you need to produce a "binary" that will execute on said platform.
itsnotabigtruck @ Mar 6th 2008 6:40PM
yes
Sam Winter @ Mar 7th 2008 1:46AM
Yea, that is terrible labeling. "toolchain"??? how about "mobile OSX hacking community effort" or something that at leasts describes what the hell you are talking about! jeeez..
Fernando @ Mar 6th 2008 3:41PM
S60 still kicks arse, and don't forget about Python, Open-C and Web based widgets in the supported languages
PeterF @ Mar 6th 2008 3:56PM
Windows Mobile limited retail support? You got to be kidding! There are tons of places to sell windows mobile software!
Lec @ Mar 6th 2008 5:20PM
Did we forget Android in this chart? What about Symbian, anyone look at wikipedia lately, supposedly Symbian has 70% of the world market or something.
Evan Spielberg @ Mar 6th 2008 5:24PM
Free? Didn't they say the SDK was going to cost $99
Evan Spielberg @ Mar 6th 2008 5:25PM
Correction some part of the program is $99 I think that is if you want to sell or give your apps for free. Enterprise is $299. Kind of vague on the details.
Alex @ Mar 6th 2008 6:57PM
Correction: Windows Mobile language support does not include "any language with a .NET compiler". Only C# and VB.NET are supported. For example Managed C++, while a .NET language, is not supported. Has to do with the runtime requirements
AwayBBL @ Mar 7th 2008 7:37AM
I had the chance to download some of the documentation last night, and I noticed one clear omission in Apple's SDK... NO telephony API. From what I could garner, if an application developer wants to initiate a call, they must drop down to an addressbook API, thereby exiting their application. Also, it's not clear as to how a developer would use SMS (no mention of SMS at all, but I guess the addressbook scenario would work).
Another area that can cause developers a little grief is that the iPhone and the iPod touch, while they share a lot of code and hardware, aren't exactly the same. One example is the lack some low-level features on the iPod touch that would allow for writing apps that can vibrate the device (haptic feedback). Without an exact match of available features, developers will constantly need to be aware of whats supported by each device.
AwayBBL @ Mar 7th 2008 7:43AM
Is there a reason for not showing RIMs SDK? It's been around for as long as theres been a Blackberry. It's Java based, mature, and stable.
Since RIM has about 41% of the smartphone market, it should be included in the comparison too. While the number of commercial apps is a little limited, theres still a fair amount of high-quality apps written for it (i.e. TeleNav, IM(AOL/Yahoo/Google/MSN), Google(maps/mail), Yahoo... etc.
Mike Khokhlovych @ Mar 10th 2008 10:25AM
Why is installer.app immature? It seems to me, it's just as mature as gnome-app-install(aka Add/Remove) in Ubuntu.