BT

Facilitating the Spread of Knowledge and Innovation in Professional Software Development

Write for InfoQ

Topics

Choose your language

InfoQ Homepage News Mono’s First Commercial Release: MonoTouch

Mono’s First Commercial Release: MonoTouch

Leia em Português

This item in japanese

Bookmarks

MonoTouch is a port of the Mono runtime along with an adapter layer so .NET developers can use the native iPhone GUI toolkit. MonoTouch is unique in the Mono ecosystem because it is the first commercial Mono product from Novell. As expected, there was some community backlash.

The major components included in MonoTouch are

  • MonoTouch.dll The C# binding to the iPhone native APIs (the foundation classes, Quartz, CoreAnimation, CoreLocation, MapKit, Addressbook, AudioToolbox, AVFoundation, StoreKit and OpenGL/OpenAL).
  • Command Line SDK to compile C# code and other CIL language code to run on the iPhone simulator or an iPhone/iPod Touch device.
  • Commercial license of Mono's runtime (to allow static linking of Mono's runtime engine with your code).
  • MonoDevelop Add-in that streamlines the iPhone development and integrates with Interface Builder to create GUI applications.

A common objection to MonoTouch is that Objective-C is already a suitable language for iPhone development. However, Miguel de Icaza is claiming that C# has some significant advantages.

With the mtouch command and the bindings complete, we started trying out the API by porting the Apple iPhone samples from Objective-C to C#. And in the process finding two things: C# 3.0 constructor initializers are a thing of beauty.

And also that the samples ported were half the size of the equivalent Objective-C programs.

Miguel continues to explain how MonoTouch’s XML+partial code-behind class eliminates the tedious repetition needed for Objective-C header and code files.

Another complaint is that MonoTouch isn’t open source. A single-user license with 1 year of updates starts at $399 per user, with the enterprise edition costing a hefty $999/user. Since this is tightly integrated with Apple's iPhone SDK, programmers must use a Mac for development.

Rate this Article

Adoption
Style

Hello stranger!

You need to Register an InfoQ account or or login to post comments. But there's so much more behind being registered.

Get the most out of the InfoQ experience.

Allowed html: a,b,br,blockquote,i,li,pre,u,ul,p

Community comments

  • Leave it to software developers...

    by Bruce Rennie,

  • Yeah, where's the "community backlash"?

    by Dan Tines,

    • Leave it to software developers...

      by Bruce Rennie,

      Your message is awaiting moderation. Thank you for participating in the discussion.


      ... to generate "community backlash".

      Seems to me if you want to use Objective C or not pay for a mono-based product, you're no worse off than you were yesterday. What's to "backlash" about?

      Sometimes, we're our own worst enemy. Heck, most of the time.

    • Yeah, where's the "community backlash"?

      by Dan Tines,

      Your message is awaiting moderation. Thank you for participating in the discussion.

      Or is the "community backlash" really just some random blogger that hates Mono already?

    • Re: Yeah, where's the

      by Jonathan Allen,

      Your message is awaiting moderation. Thank you for participating in the discussion.

      There is lots of noise on the newsgroups. I would have quoted them if they had anything intelligent to say, but mostly it is childish whining about being "stabbed in the back". As a reporter it is my duty to acknowledge their concerns, but at the same time I'm not going to give them a soap box.

    • Re: Leave it to software developers...

      by Jonathan Allen,

      Your message is awaiting moderation. Thank you for participating in the discussion.

      Honestly I don't understand it. I'm too young to know how it was in the 60's and 70's, but these days you can't make a dime or port a language to a new platform without pissing off people. Maybe it is just the Internet's echo-chamber effect, but I swear it is like a significant number of programmers would be happier if there was a one-to-one mapping between platforms and languages and everyone worked for free.

    • Fair enough

      by Dan Tines,

      Your message is awaiting moderation. Thank you for participating in the discussion.

      But my beef is with calling it a "community backlash", when in reality it's not really "a community". Hand-wavy definitions of "the community" are thrown around too much the way it is.

    • Re: Fair enough

      by Jonathan Allen,

      Your message is awaiting moderation. Thank you for participating in the discussion.

      I see. I'll definitely take that into account in future articles.

    • Can you still deploy for free?

      by Chris _,

      Your message is awaiting moderation. Thank you for participating in the discussion.

      I followed this a little in the beginning, and i was under the impression that targeting the iphone platform was free, where as the "ready made" API, created by Novell/Mono to easily access iphone features, cost money.

      Is this the case? or can you not target an iphone device (and deal with library access issues yourself) with mono for free?

Allowed html: a,b,br,blockquote,i,li,pre,u,ul,p

Allowed html: a,b,br,blockquote,i,li,pre,u,ul,p

BT