Take the 2-minute tour ×
Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. It's 100% free, no registration required.

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#?

share|improve this question

6 Answers 6

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.

share|improve this answer

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.

share|improve this answer
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 Oct 18 '10 at 14:32
    
Agreed the Mono developers mentioned WebOS support before the Novell split, so you never know! –  wonea Jul 28 '11 at 20:51

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.

share|improve this answer

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?)

share|improve this answer
    
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 Oct 17 '10 at 19:47

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.

share|improve this answer

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.

share|improve this answer
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 Oct 17 '10 at 18:47

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.