views:

364

answers:

3

Hi there,

I am developing mobile apps for some time in .NET and I was always wondering if the grass is greener on the other side (Java).

Thus, I would like to ask your opinion about which one you prefer for your mobile apps and why is that so.

A: 

I can only speak for windows mobile development stay with .net.

Sun don't even release a JVM for windows mobile devices I have developed for windows devices using java and using http://www2s.biglobe.ne.jp/~dat/java/project/jvm/index_en.html as my JVM which was very good the author even responded to a feature request I made.

Paul Whelan
+5  A: 

The main advantage of using Java is the broader installed base. If you use Java, you are going to reach orders of magnitude more phones than if you use .NET.

As far as I know, .NET works exclusively with Windows Mobile phones.

On the other hand, Mobile .NET is easier than Java (IMHO), and that's partly because of Visual Studio IDE which makes life so much simpler than any other development environment on the Java World. For example, doing Form Based applications in .NET mobile is really straightforward and simple.

So, the answer will basically depend on what you are trying to accomplish:

  • Trying to reach to the biggest number of mobile devices: go with Java
  • Trying to develop an application for Windows Mobile devices: go with .NET
  • Trying to develop an application that will run only on a controlled environment (A single business) where you get to decide the devices it will run on: decide which device you are going to use and then pick development environment.

Keep in mind that if you are talking about Java for Android or Blackberry development, you will face the same issue of not reaching to a huge installed base that you will with .NET. If you want the huge installed base, go with plain Java Mobile Edition.

Pablo Santa Cruz
A: 

It is true that if you're going to develop for WindowsMobile, J2ME is not a very good option. More than likely your device of choice will not come with a JVM and if it does, it'll be buggy and slow. Also, forget about trying to integrate with with OS at more than a basic level.

Just to add to what others have said, Sun has made phoneME available and if you want to go that route and deploy your MIDlet and VM together that is certainly a possibility. It's just a lot of work at this point.