Depending on programming language you specialize in, you could be better at making applications for one smart phone operating system than the other. This is the case in the heated rivalry between smart phones that have either the Apple iOS or the Google Android. It is a matter of time before Windows Phone really gets its gloves into the ring. Ever since the release of the Apple iPhone, the world of cellular phone technology has drastically changed. Because of the Apple iPhone, the face of the mobile phone has greatly changed. Today, cellular phones are no longer used for just making simple phone calls.
Mobile phones now can be split into two categories: “smart phones” and “dumb phones.” Dumb phones are your simple cell phones that do not have the capabilities of the smart phones. Smart phones are your advanced cell phones that act as portable electronic gaming consoles, portable computers, portable music players, instant messengers, Internet browsers, social networking tools, etc. Numerous companies have taken notice and have created applications for such phones. But, different approaches have to be taken when creating applications for the Apple iOS or the Google Android. There are numerous differences between the two operating systems in regards to creating applications.
David Green, in his Green’s Opinion blog, makes in-depth comparisons between the two when it comes to development. First off, Green cites the programming languages used for both smart phone operating systems. However, Green does explain that his own personal bias is in that blog.
According to Green’s blog, one would have to be versed in the language called “Objective-C” if one wants to develop applications for the Apple iOS. The language is originally based off of the C programming language. Currently, this is the prime programming language on the Apple Macintosh, the Apple iPhone, the Apple iPod, and the Apple iPad.
The Google Android operating system uses Java. If you have experience in Java, you should be able have an easier time making applications for the Android rather than the iOS.
On the developer page on Apple.com, it explains that Objective-C is a simple computer language to allow sophisticated object-oriented programming. Green, in his blog, considers Objective-C to be old. There is the implication that Objective-C could be considered “old.” The language had come out in 1986 versus Java which came out in 1995.
The next difference is the platform, according to Green. Since Google Android uses the Java language, the operating system can easily use Java RT classes. Green explained that the platform organization of the iOS is poorly organized. In short, Google Android uses open source software whereas iOS does not.
Green’s blog lists many more differences between iOS and Google Android. There is an important difference between the two that should be noted. The application store for iOS can be accessed to many countries worldwide versus the Google Android which is more limited. Green explained that he was able to use his Canadian bank account when setting up applications to sell via the iTunes store. He was unable to use the Canadian account when setting up with Google; thus, he had to use a United States address and bank account.
However, one might opt to go with Google Android instead of iOS. According to a forum on Android Online, iOS developers have to pay a yearly fee of $99 while Android developers have to pay a one-time fee of $25.
In a Tech Flash article by Todd Bishop dated on June 25, 2010, more developers are choosing Google Android over the iOS. The use and familiarity of Java was cited as a reason.
A blog on Bianor in regards to the issue says that application developers would have to make the effort to learn the Objective-C language. In short, it could be easier to use Java rather than Objective-C which in turn implies that it is easier to develop applications for the Android rather than the iOS.
In regards to the tools, iOS beats the Android. Both operating systems use different tools. The iOS tools are the SDK and Xcode IDE.
Developing of applications on both the iOS and the Android have their pros and cons. If you want to develop applications on both smart phones, you will have to know both Java and Objective-C. Each operating system has its own strengths and weaknesses.