4

I accidentally bumped into an ad like this: http://monotouch.net/DownloadTrial?ref=so1. Then I start to wonder if we have an equivalent thing in Java.

From my understanding, objective c is still the only language that people use to develop iPhone apps. Is this true?

Winston Chen
  • 6,799
  • 12
  • 52
  • 81

3 Answers3

4

There's this project. Which is interesting. It might be possible to do this, but the lastest version of the Developer Agreement will actually prohibit the use of tools like monotouch:

3.3.1 Applications must be originally written in Objective-C, C, C++, or JavaScript as executed by the iPhone OS WebKit engine, and only code written in C, C++, and Objective-C may compile and directly link against the Documented API.

Joel
  • 16,474
  • 17
  • 72
  • 93
  • The statement in the v4 agreement probably won't affect MonoTouch, see Miguel's tweet - http://twitter.com/migueldeicaza/status/11844609073 – Richard Nichols Apr 09 '10 at 07:11
  • I highly doubt that as it says it must be "originally written in ...C++..." writing code in C# doesn't and cross-compiling and doing other magic doesn't make something written in something originally. I'm not sure how they'll catch it, so it will probably only hurt you as far as you are honest. So Apple (once again) is screwing over the honest and not hurting the dishonest. – Joel Apr 09 '10 at 07:39
1

I'm not aware of any solution like that for Java, but in any case, learning Objective C and the recommended Apple way to do things is the best investment. Apple has a strong interest in preventing anyone from writing iPhone apps using anything but their tools, and they just enforced their position a little stronger today. Here's an article with more details.

Rob Lourens
  • 15,081
  • 5
  • 76
  • 91
1

No the iPhone does not support Java and Apple will not allow you to create an virtual machine for your app. There might be tools which help you convert Java code to Objective-C, C or C++ but then I would recommend teaching or using one of those rathen then taking a chance.

Hultner
  • 3,710
  • 5
  • 33
  • 43