Skip to content

Monotouch Has an Uphill battle ahead

I love me some Mono and love the Mono team, but Novell really screwed the pooch with the release of MonoTouch. It had such promise, write iPhone apps using C# instead of Objective-C. But it has some problems.

  1. It requires XCode.  – I’m not sure if they can get around this one. It seems like they should be able to. All XCode does is call GCC and compile the code. My guess is that it has to do with the licensing of the iPhone SDK and/or the iPhone libraries that you can’t distribute. If you could bundle the iPhone headers, it seems to me that you could compile an iPhone app on any platform that supports GCC. DOH! As Miguel reminds me in the comments, it doesn’t use XCode but the iPhone simulator is only available on Intel Macs. (1)
  2. It costs 400 frickin’ dollars. – So now, not only do you have to buy a Mac, pay Apple $99 per year to get in the App store (which is no guarantee) but if you want to use MonoTouch you have to pay $399 U.S.

So what you have to ask your self is: Is learning Objective-C something that I really can’t/won’t do to become an iPhone developer?

There are a lot of benefits to developing for the iPhone using MonoTouch. Access to most of the .NET library. LINQ is available, WCF. Miguel DeIcaza has a good explanation for why Monotouch costs $400, which he’ll talk about in an upcoming episode of Herding Code. But I think that the price is going to really slow MonoTouch adoption.

(1) That’s what I get for writing a blog post ahead of time and not reviewing it before it’s scheduled to post.

Share and Enjoy:
  • del.icio.us
  • DotNetKicks
  • DZone
  • Reddit
  • Digg
  • StumbleUpon
  • LinkedIn
  • Facebook
  • FriendFeed
  • HackerNews
  • Netvibes
  • Posterous
  • Tumblr
  • Twitter

11 Comments

  1. If I was only going to ever make $400 off my iphone app, the loss of time alone would put me much more in the hole than the cost of the tools.

    Posted on 05-Oct-09 at 11:05 am | Permalink
  2. Well see Jesse, that’s just it. There’s no guarantee that Apple will even put your app in the store.

    Posted on 05-Oct-09 at 11:09 am | Permalink
  3. Yeah, the time cost is the big one.

    I already spent:
    $600 on Mac Mini
    $200 upgrading HD and memory
    $230 iPod Touch
    $99 developer license.

    Then, I said “screw it, I’ll write an app for the Palm Pre, Objective-c sucks”. I’m going to give Monotouch a try. If I can write .NET code, and use .NET features, it’s worth it to me. Especially for my day job since we’re a MS shop.

    Posted on 05-Oct-09 at 11:12 am | Permalink
  4. Ok, so you want to build a iPhone app. You spend ~2k for a decent Macbook, you buy an iphone (~200 + contract fees), you buy into the program ($99)… why is $400 a big deal? You have spend probably $2300 or more to get to this point but now you don’t want to pay $400?

    It seems to be there was universal push back on the price, but I just don’t get it. We all write software for a living why do developers bitch more about paying for software than most things?

    Posted on 05-Oct-09 at 11:16 am | Permalink
  5. I agree $399 is a little steep and I have trying in vain to get a discount any which way I can. But it is also a barrier to entry. Only folks who are serious are going to bite the bullet and plunk down $399, althought grudgingly. If you get me discount, I’ll take it.

    Posted on 05-Oct-09 at 11:22 am | Permalink
  6. James, It seems like a language tax. I’m not saying it’s unjustified. I’m saying it’s going to slow adoption. A lot of people are going to say “How hard can Objective-C really be?”

    Posted on 05-Oct-09 at 11:29 am | Permalink
  7. I’m not really sure Random Joe Developer X was the target developer for MonoTouch to begin with so I’m not really sure considering the price point is all that interesting. I think the majority of the developers will have this $399 paid by whoever they are developing for.

    Truth be told, MonoTouch makes the most sense for two groups of people: those who have existing C# code they *need* to leverage, and those who are too stubborn or unwilling to learn Cocoa/ObjC. People in the first group probably can easily justify the $399. People in the second camp are the ones who are complaining in my opinion. Their complaints are heard, but I’m not sure how much they matter.

    That being said, I’m a developer who does .NET coding in my day job and writes iPhone applications in my spare time. I love both .NET and Cocoa/ObjC. MonoTouch is refreshing in that it makes some things easier, although there are certain things that are not quite as nice in MonoTouch as in Xcode/IB. I do feel like I will still use both, but at least the choice is there.

    Just my 2 cents,
    Brent

    Posted on 05-Oct-09 at 11:48 am | Permalink
  8. If generics, LINQ, garbage collection, and WCF were a $400 add-on for .NET, I would pay it.

    Would you?

    Posted on 05-Oct-09 at 12:00 pm | Permalink
  9. Miguel de Icaza

    In my opinion there are many other benefits to a C#/.NET runtime on the iPhone than just the C# language vs the Objective-C language.

    For one, you have to remember that a lot of the things that people take for granted on managed languages do not really have an equivalent in the Objective-C world or require significant more work.

    At the API level, you have Xml Serialization, SOAP web services, WCF, automatic memory management, the thread pool, Linq to XML, Linq to Objects, a variety of DI frameworks, the dnAnalytics math framework, unit testing frameworks, libraries for every protocol in the face of the earth (pop, imap, jabber, iiop, xml-rpc, dns, bittorrent) and whole host of other libraries that work today in .NET and a whole host of libraries from CodePlex.

    You can even use GitSharp to use GIT as your storage facility on the iPhone.

    Additionally: MonoTouch does not use XCode, but until Apple ports the iPhone simulator to Windows, you will need a Mac to work effectively with it.

    Posted on 05-Oct-09 at 1:43 pm | Permalink
  10. Objective-C is a big hurdle, but it’s not as bad as it seems. To me, MonoTouch is a convenience. One I’m not willing to pay for upfront. In the future, if I find myself building lots of apps I am going to want that convenience and would gladly pay for it from profits being made from other apps.

    I’d rather learn the guts first anyway so if there’s weirdness when using MonoTouch I’ll know why.

    Posted on 05-Oct-09 at 1:59 pm | Permalink
  11. Paul

    Don’t you remember your kindergarten lessons on sharing? Consider this, you can write your core logic and objects in mono/dotnet which will run on iPhone, Windows desk, Mac desk, Win Mobile and Linux-based mobile and desktop devices. Then you only need to write the thin presentation layers for each device to use the native controls, but all of the rest of the code is shared. That’s why it’s such a huge benefit for me.

    Posted on 07-Oct-09 at 5:22 am | Permalink

2 Trackbacks/Pingbacks

  1. [...] This post was mentioned on Twitter by Cade Roux. Cade Roux said: Is Reading: Monotouch Has an Uphill battle ahead: I love me some Mono and love the Mono team, but No.. http://bit.ly/50IZc [...]

  2. uphill battle - StartTags.com on 02-Feb-10 at 1:11 pm

    [...] and standard DVDs comes the latest Blu-ray sales figures from NPD Group. And they're not pretty.Monotouch Has an Uphill battle ahead | LazycoderMonotouch Has an Uphill battle ahead. I love me some Mono and love the Mono team, but Novell really [...]

Post a Comment

Your email is never published nor shared. Required fields are marked *
*
*

Get Adobe Flash playerPlugin by wpburn.com wordpress themes