Objective-C, Cocoa, OSX Desktop Apps & iPhone

Like a lot of developers nowadays, I’m spending some time learning Objective-C & the Cocoa Framework so that I can jump into iPhone development. I’m clearly a little late to the game, but I usually am, so…no worries.

So far, I’m keeping an open mind (which can be tough for me, as I’m 32 but act like a cranky 72 year old). It’s surprising, Objective-C isn’t as wildly complicated as it first looks, the really disorienting thing is working in Xcode. I’m so in love with the straight simplicity of building apps in Emacs that all the dragging and dropping throws me off. Granted, in my recent (undocumented) foolings with Java, I started to covet all the work that Eclipse was doing for me, however, something about all the magical dragging and clicking makes me nervous. What’s it doing in there?

I’ve also got that old sharecropper feeling, which is kind of rough. Once you develop your fancy iPhone app in Objective-C and Cocoa, you can reuse libraries to build it out as a OSX app, but that’s about it. You can develop a OSX app in Python or Ruby through bridges to Cocoa, but you can’t use that code on the iPhone, iPhone is Objective-C only. You could move some of your heavy lifting to a web service, but then you’re tethering your fancy iPhone app to require a network connection.

Anywho, it’s an interesting thing to learn, I’m sure I’ll have fun with it, it just doesn’t feel like it has the wide open opportunities that learning Python did, or Java does.

  • Colin

    check out: http://antoniocangiano.com/2009/03/29/why-macruby-matters/

    Basically: Ruby + Cocoa will not rely on bridges in the future… LLVM’s Compile-time optimization will almost certainly translate to iPhone development once mature, even if JIT is not made available for system performance reasons (which is dubious given it’s great performance levels and increasing iPhone hardware).

    Re: cross-platform (beyond OSX/OSXmobile), this is definitely important for MANY tiers of developers.
    I honestly think things are looking good from Apple’s end of things, assuming they follow thru on MacRuby (extending the approach to a MacPython would be even better).
    …So I don’t know if the problem is really on the MacRuby side of things, or if it’s equally/more a question of “language independent .NET development” working as promised…?

    I’m not sure if you’re already aware, but if you need more motivations to be happy about working in XCode, you may want to check out: