Tuesday, March 1, 2011

Mono on the iPhone?

Has Mono been ported to the iPhone yet? I'd love to write .NET apps for the iPhone, and learning Objective C isn't an option for me.

From stackoverflow
  • Never say never, but as it would require a runtime to be running too, I can't see it ever happening. Apple would have to sanction and install the mono/.net runtime with the standard firmware. Same goes for Java too I guess...

    Mehrdad Afshari : However, we have jailbroken iPhones too!
  • Sorry but not completely true: http://www.mono-project.com/Mono:Iphone

    rustyshelf : It's as good as true. That just sounds painful compared to just learning Objective-C. My favourite part is: * A significant amount of cross-compilation is required, this is far from easy. * No iPhone APIs have been exposed, so you get the very basic foundation.
    Michael Todd : In addition to the fact that you _must_ program on a Mac and _must_ belong to Apple's Developer program. It's nive to be able to program against something you know, but if you're most of the way there already (and Apple _may not_ accept your code because you're using development tools not written by them), then you may as well do it "the right way" via Objective C.
  • Here's a blog entry from Miguel de Icaza showing Mono running on the iPhone

    (I suspect it's a jailbroken phone, and KiwiBastard's probably quite correct about the changes of it ever being official)

  • This question is asked over and over and over again. If you want to write official apps for the iPhone you need to:

    • have a real mac

    • learn objective-c & cocoa-touch

    • drink the kool-aid

    Trying to work around any of the above is a waste of your time and ours. As I've said many times before it's Steve's way or the highway, and if you want to develop on the iPhone you'd best learn that lesson sooner rather than later.

    Varun Mahajan : Shouldn't it be Steve's way or highway?
    rustyshelf : Good point, I fixed the type...though 'of' maybe works as well, since Steve probably would have built the highway in the first place...
    jcollum : Oh and also be willing to risk your time coming to naught when the iPhone store team rejects your code or determines that Apple is about to release its own version of your app.
    rustyshelf : I think what it comes down to at this stage is that there is a lot of money to be made, so people put up with the way Apple treats them. As the store gets more and more crowded, this will no doubt change. But since it's the only way to reach x million iPhones, then you have to play the game :)
    mirezus : http://www.mono-project.com/MonoTouch MonoTouch allows developers to create C# and .NET based applications that run on the iPhone and can take advantage of the iPhone APIs as well as reusing both code and libraries that have been built for .NET as well as existing skills. Has no reflection or JIT. This development on mono for iphone was showcased at microsoft PDC 2008 by Miguel de Icaza video available here: http://channel9.msdn.com/pdc2008/PC54/
  • Sorry, kid, but Obj-C is the only way. Why is it "not an option"?

    Your app will be "not an option" to Apple for the App Store unless it's written in Obj-C on Xcode, and signed properly.

  • For the nay-sayers, please listen to Miguel de Icaza himself talking about the subject with Scott Hanselman on the 24NOV2008 Hanselminutes podcast (around the 23:50 mark).

    Long story short: there are plans to get Silverlight applications statically compiled to conform to Apple's requirements.
    You won't be able to run them in the browser but they would be fully integrated iPhone apps just like any others.

    Kendall Helmstetter Gelner : And how would that get around the official App Store restrictions that say you cannot use an interpreter that does not come with the phone? You can do anything on a Jailbroken phone of course, but presumably that is not what he is looking for.
    Renaud Bompuis : Well, you should listen to the show. The key point is that your application would be __statically compiled__ and would become just another native application.
    jpobst : You use AOT to pre-compile the code, so it is no longer JIT compiled.
  • Mono today is available in two forms:

    • Mono with bindings to iOS APIs (http://monotouch.net)
    • Mono as a scripting engine powering Unity3D
    Greg Hurlman : Outdated, oddly enough, by Miguel's MonoTouch project.
    Joel Coehoorn : Time to update this, methinks.
    blueberryfields : The monotouch project is here: http://monotouch.net/ - this answer does seem outdated.
  • First Mono game hits the Apple AppStore. So, not only is it technically possible, Apple will approve them as well.

    Randolpho : Keep in mind that the Mono runtime doesn't actually run on those games; it's fully translated to native code.
  • We are developing a CocoaTouch binding called MonoTouch and a full-AOT toolchain that will allow building native iPhone apps using Mono & MonoDevelop. This will be a commercial product, with a beta planned for August. Stay tuned!

    Miguel has blogged about this.

  • This allows you to use C# for iPhone now (just recently released, I think), but you still have to have a Mac.

    http://monotouch.net/

0 comments:

Post a Comment