There's several of these questions floating around on SO already... the most popular seems to be this one: what mobile platform should I start learning?
Quicky from the accepted answer over there (I edited a bit):
I think 3-4 platform have a future. But depends what platform do you like and how you like freedom in distribute your applications :)
- Windows Mobile
- C++ or .NET
- free distribution, just like normal applications or through market
- You need a Windows PC to develop
- proprietary
- Android
- Java
- Open Source
- through Android Market ($25 one-time fees) or like normal applications
- The platform is completely open source
- iPhone
- Objective-C or Java (Developing iPhone Applications using Java)
- through iPhone Market ($99/year fees)
- You need Mac (Mac OS) for development
- proprietary
- Java
- J2ME or JavaFX
- largely open source
My personal thoughts are: Symbian's dead; Windows Mobile will die, but take a long time; Android will become the standard in the next few years; iPhone will remain trendy in coming years, but NOT take be the biggest player; Pre/WebOS will maintain a niche market, but not be wildly sucessfull, Blackberry will decline, but still be around forever. I'd probably put my time/money into Android or iPhone at this point.