Mobile software development is next big thing. More and more applications are moving from desktop to browser, and now to mobile phones.
Last month I was in Mountain View, and my room mate happened to be a Mobile software developer. Almost every Google mobile product you have used has his big contribution. I had very good conversations with him about Mobile software development, opportunities and challenges.
After coming back to India, I started exploring more about mobile software development. Mobile software is no longer about Windows mobile vs. Symbian, now we have many mobile platforms, like iPhone, Android, Symbian, Windows Mobile.
Before you begin Mobile software development, your choice of platform is very important. Your future in mobile technologies depends on the future of the mobile platform you choose.
iPhone Vs. Android
iPhone can you give you huge user base, on the other hand Android gives you open source advantage.
iPhone brings with it huge user base, but its sdk is in Objective C. So, you must know or must be willing to learn Objective C. Apple Developer center has lot of resources on iPhone development, I will list them at the end of this post.
If you are good at Java or like Java platform, then Android might interest you. Other advantage with Android is that its open source and obviously Google's support for Android is a big win. There is rich documentation available on Android Google site.
The two platform also differs in the way you can distribute your software. iPhone applications can only be distributed through Apple distribution channel, which can be a limiting factor depending on your application and business needs. On the other hand Android being open source, you are free to release and distribute your Android application just like any other open source application.
Here are the list of resources for iPhone and Android software development.