views:

377

answers:

5

What languages can be used to develop for the iPhone? I know, I know: canonically speaking, Objective-C is the one and only language can be used to develop for the iPhone. But I'm appealing to the creative hackers out there.

Is there anything - no matter how hacky - other than Objective-C which can be used to develop for the iPhone? (other than using assembly or C to re-invent Objective-C)

+3  A: 

You can script in Python by using Telesphoreo. Although it has to be a jailbroken phone of course.

Garrett
+4  A: 

You can use Mono (C# and JavaScript) with the Unity 3D game development kit. It uses ahead of time compilation to get around the iPhone's non-support of dynamically generated code.

The iPhone doesn't need to be jail broken but the license isn't free.

Steven Lyons
+2  A: 

There is always the possibility of developing a WEB BASED application targeting exclusively iPhone's Safari. In that case, you can use any web-programming-language you want.

It's not technically a native iPhone application, but you can definitely take advantage of most of the iPhone's capabilities this way. In fact, during the first year of the iPhone, this was the only way to get an application running on it (provided you didn't jailbreak your phone).

Pablo Santa Cruz
+3  A: 

"Canonically speaking" you can use C or C++. Objective-C is not the only possible language and you can sprinkle Objective-C calls in the middle of C++ code if you like.

But really your fear of objective-C is unfounded, it's a great language once you get to know it. And knowing it well really helps leverage the large set of foundation classes.

If you're going to move to a platform to develop, do it right or don't bother. That's been my motto on other platforms, with other languages.

Kendall Helmstetter Gelner
I have no fear of Objective-C and have every intention of learning it. This was simply a matter of curiosity. If someone could figure out how to code iPhone apps using Excel, I'd never want to do likewise but I'd like to know how they pulled it off.
Dinah
+2  A: 

If you have a jailbroken device you can use Java or even cross-compile an Android app. This is done with XMLVM. The author is Arno Puder. On October 14, 2008 he gave a Google Tech Talk about this.

Jared Oberhaus