MonoTouch: Writing iPhone apps in C#

17 September 2009

It's only been three days since Novell and the Mono team released MonoTouch, but I've already had the first email asking whether we're going to be supporting it in any way. Oh, and while we're about it, what about Mono proper?

First things first: MonoTouch is a technology that enables you to write iPhone (or iPod Touch) applications in C#. No longer do you have to learn Objective-C and grumble about header files and having to develop without a garbage collector: you just write good ol' C# in the same way you already do, and a compiler will compile your .NET application and associated libraries into a native iPhone application (which, incidentally, gets around JITting, something that's not possible with the iPhone run-time, so I understand). Because of this non-JITter approach, there are some limitations with generics — which, if you recall, are instantiated by the JITter at run-time — and there's no capability to generate/emit new code at run-time either. Debugging support is limited too.

Nevertheless, MonoTouch provides C# 3.0 support, Silverlight capabilities, the usual garbage collector, multithreading support, bindings to the native iPhone APIs, and so on. Even better, you can do things like use event handlers for CocoaTouch controls (and if you know how that all works in Objective-C, you'll be crying with joy). It provides integration into both XCode (fully supporting Interface Builder) and MonoDevelop. And so on, so forth.

Having said all that, what, if anything are we, DevExpress, going to do about it? Well, I think the only real answer at the present time is to evaluate it. Obviously a great number of our controls would make no real sense on an iPhone: after all the device has no physical keyboard (apart from the on-screen one), no mouse (just your finger!), and there are standard single and multi-touch gestures to support. The user experience is very different and our controls are designed for a different UI completely.

Sounds negative, however, we've a lot of iPhone fanboys on staff (even Ray has one), and some of us have and use Macs already, so I dare say there might be some experimentation going on to find out whether some of our products would transfer over to the iPhone. An excellent possibility is XPO of course (there's no UI to trip us up), especially since we've been doing some work already on the Silverlight port (AgXPO).

So, I'd have to say at this stage that there's a possibility, but that an awful lot of research would have to be done first. No promises, and definitely no guarantees. No timetable either, before you ask, because we have our real work to do first enhancing our current line of controls on the standard .NET platforms (version 2009.3 is currently being worked on, of course).

As for Mono itself, we've been approached by the Mono team to see if we're interested in supporting Mono with our current products, and I'm going to do some research to see what the issues are and where they lie. Again, no promises.

Free DevExpress Products - Get Your Copy Today

The following free DevExpress product offers remain available. Should you have any questions about the free offers below, please submit a ticket via the DevExpress Support Center at your convenience. We'll be happy to follow-up.
No Comments

Please login or register to post comments.