I'm developing my first app for the iPhone using Mono, MonoTouch and MonoDevelop in a Mac Mini. Never used seriously a Mac before, and last time I've developed something professionally for an Apple platform was for the Apple II, back in the 1970s (yes, I'm that old...).
Anyway, it is awesome to be able to leverage my skills with Mono and C#, instead of having to resort to Objective-C, to get the job done.
So far, I'm tackling the still steep learning curve over Cocoa, Interface Builder, and the limitations imposed over Mono by the AOT compiling the iPhone platform mandates.
My app has just a Login View, so far, that already interacts and validates against a hard-coded password, and Monodevelop generates an executable with some 4.7 Megabytes to be deployed to the iPhone Simulator.
When you think that all the Mono native runtime and huge parts of the basic class library already in native binary format is in there, I think it is a reasonable size, that won't grow much until I add loads and loads of functionality to the application.
I've been using the evaluation version of Monotouch so far, but I think it is proving itself worth the price, and my boss already said the investment on buying one or two (if we buy a second mac) enterprise licenses has a green.
Now I'm going to move more code from our J2ME version of the app to C#, while also trying to build an usable interface on top of it along the Apple guidelines.