I'm looking forward to delving into the .NET framework but most mobile applications seem to be developed in Java. I'll most probably be targeting the less pricier phones like Nokia and motorolla not android or iphone OS. Can I do these stuffs in C#?

6 Answers 6


No, C# won't do. You need to learn Java, and not J2SE but the J2ME because most low-end mobile phones only support J2ME. However, you might want to consider Android again because it's really becoming popular even with low-end phone. Anyway, the language for J2ME and Android is both Java.


Depends on the platform-

Android - JAVA, C#(via MonoDroid)
IPhone - Objective C, C#(via MonoTouch)
Windows Phone - C#(Silverlight)
Meego - C++(QT)
Symbian - C++, JAVA

I think Symbian is going to be dropped by most companies. Smart Phones are the future. And for every type of smart phone os, C#/mono will be available (you have to pay extra, but the usability worth it) along with the native platform language. So, you can go for C#.

The true platform independence may not be achieved, but if you use C# everywhere, you will be able to use same core libraries and tweak the UI for the platform.

But for low cost phones, C# will not do. You have to go for JAVA.

  • 1
    +1 for mentioning the Mono* options. If the demand is high enough from developers then they'll branch out to the other phone platforms as well.
    – Agent_9191
    Commented Oct 18, 2010 at 14:32
  • Agreed the Mono developers mentioned WebOS support before the Novell split, so you never know!
    – wonea
    Commented Jul 28, 2011 at 20:51

Cant specifically tell about Motorolla or Nokia but you need to keep in mind what is the platform these phone's support. You would be better of developing in Java as it is a more popular platform and need not depend only on Windows mobiles. One more thing C# is so shamelessly close to Java that a cross compiler does the trick for Desktop apps may be this applies to mobile apps too.

  • 1
    I'd like to see this Cross Compiler - how does it handle the fact that the libraries that go with the languages are so very very different?
    – Bevan
    Commented Oct 17, 2010 at 18:47

If you want to develop for Windows Phone 7, C# is perfect (VB.NET is coming soon.) You can leverage any Silverlight or XNA knowledge you have, too. I have no idea whether the platform will succeed, but why not refine your app using a language you know, then port it to other languages once you're confident in your user experience, logic, calculations etc? The emulator is apparently very good, and can be supplemented with accelerometer-emulator and gps-emulator to do everything except making a phone call. (And really, who uses smartphones for making calls?)

  • I would normally agree, but the OP said he was "looking forward to delving into the .NET framework" so I'm not sure how familiar he already is with C#. Also as much as I like the language, the market for Windows Phone seems a little lackluster.
    – Davy8
    Commented Oct 17, 2010 at 19:47

I started writing Android apps in Java having prior experience in C#. I found that many fundamental concepts of the language are similar, so it was simply a matter of learning the few differences, especially with the libraries. If you can learn, coding in the other would be very simple (based on my experience).

I would recommend starting with Java. Android is on track to becoming the most popular mobile OS, so you know it will definitely be around for a while. Also, Java is older, so there are countless libraries and tutorials available for you to use and learn from. Once you understand the core concepts of Java, learning C# should be a breeze - and you'll really appreciate some of the neat features (like attributes and LINQ) that C# has to offer.

Disclaimer: I started with C# (primarily for ASP.NET MVC web development) and then learned Java for writing Android apps. I haven't done any mobile programming with C#, so I can't tell you what it's like.


Maybe file this under "lateral thinking", but if you have decent skills in "pure" web technologies - HTML, JavaScript, CSS - and depending on what you're trying to achieve, check out something like PhoneGap (http://www.phonegap.com/about). In addition to support of iOS devices (iPhone, iPad) and Android, they also have some support for Symbian. You will, however, generally need the "native" tools in order to build your native binary apps. For example, if you want to do iPhone dev, you'll need the iPhone sdk, XCode and be running OSX.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.