InfoQ

InfoQ

News

My Bookmarks

Login or Register to enable bookmarks for unlimited time.

The content has been bookmarked!

There was an error bookmarking this content! Please retry.

Mono’s First Commercial Release: MonoTouch

Posted by Jonathan Allen on Sep 17, 2009

Sections
Development
Topics
MonoTouch ,
Embedded Devices ,
iOS ,
Mono ,
Embedded Software Dev ,
.NET ,
Mobile ,
Operating Systems ,
iPhone ,
Programming

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.

Leave it to software developers... by Bruce Rennie Posted
Re: Leave it to software developers... by Jonathan Allen Posted
Yeah, where's the "community backlash"? by Dan Tines Posted
Re: Yeah, where's the by Jonathan Allen Posted
Fair enough by Dan Tines Posted
Re: Fair enough by Jonathan Allen Posted
Can you still deploy for free? by Chris _ Posted
  1. Back to top

    Leave it to software developers...

    by Bruce Rennie


    ... 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.

  2. Back to top

    Yeah, where's the "community backlash"?

    by Dan Tines

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

  3. Back to top

    Re: Yeah, where's the

    by Jonathan Allen

    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.

  4. Back to top

    Re: Leave it to software developers...

    by Jonathan Allen

    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.

  5. Back to top

    Fair enough

    by Dan Tines

    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.

  6. Back to top

    Re: Fair enough

    by Jonathan Allen

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

  7. Back to top

    Can you still deploy for free?

    by Chris _

    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?