Mono’s First Commercial Release: MonoTouch
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
... 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
Re: Yeah, where's the
by
Jonathan Allen
Re: Leave it to software developers...
by
Jonathan Allen
Fair enough
by
Dan Tines
Can you still deploy for free?
by
Chris _
Is this the case? or can you not target an iphone device (and deal with library access issues yourself) with mono for free?
Educational Content
Tuning the Size of Your Thread Pool
Kirk Pepperdine May 23, 2013
Co-making Great Products
Jeff Patton May 22, 2013




Hello stranger!
You need to Register an InfoQ account or Login to post comments. But there's so much more behind being registered.Get the most out of the InfoQ experience.
Tell us what you think