"Apple definitely puts restrictions on what kinds of applications can be written," he says. "It blocks the door to Java and other applications frameworks. In their SDK contract, they prevent you from opening up new programming language and they keep control of putting new language on the phone."
The programming language used for each platform is one of the key differences between the iPhone and Android SDKs. Android is a Linux platform that uses Java as its programming language, whereas the iPhone employs a mobile variation of the Mac OS X that uses the Apple-developed Objective-C as its programming language. Hal Steger, vice president of marketing for open-source software company Funambol, thinks that Android has the upper hand in this particular matchup because Java is a more widely known programming language.
"There are definitely a lot of people interested in developing for this platform," he says before adding that each platform could benefit from opening up to C or C++ to attract even more developers. "If you want to capture the best programmers, those are the ones that program in C++."
Sitepen CEO Dylan Schiemann agrees that the iPhone SDK would do better if it used a more common programming language than Objective-C, but says that any experienced programmer who really wants to develop applications for the platform won't have any trouble learning it.
"Apple applications developers have been using it for years," he says. "It's not a difficult language to pick up; it's just a matter of actually taking the time to learn it."
But while the iPhone may use a less-common programming language, say some programmers, it also has the advantage of already being widely deployed and uniform on every iPhone device. Android, on the other hand, is expected to be used on a broad array of devices that have different types of keyboards, different screen sizes and different customized features. Thus, programmers for Android devices might have to make different tweaks in their designs for different devices, whereas programmers for the iPhone know that they're programming only for a specific device.
"As an operating system, Android has not really been tried out in the market yet," says Schillings. "If you write some code for Android, it's important that you will have to make a few adjustments for different devices before your application goes to market."
In the final analysis, says Cline, Android's success with third-party developers could hinge on whether Google can make the platform and programming language behave universally on a variety of different devices, thus cutting down the work programmers have to do to get their products to market.
"If Google can somehow make this easier and level the field, then that'll be another thing that makes Android either really easy or really difficult to develop," he says.
Talkback
E-mail
Printer Friendly
Reprints





