Learning iPhone development

Posted in mobile by elisehuard on October 21, 2009

This summer I’ve had the mixed pleasure to get acquainted with the iPhone development platform. I have an iPhone, I enjoy using it, it seemed like the logical next step. I’ll share some tips so that if you feel like diving into it, you’ll know where to start, and also what you’re getting into.

  • some preliminary objective-C knowledge is useful. The Apple doc gets you up to speed. Objective-C is an object-oriented language, and if you’ve done a strongly typed OO language like Java it shouldn’t be too hard. Some attention should be paid to memory management – if you’ve got some C in your past, that helps.
  • Then, get a book. The Apple documentation is boring, it’s a reference, but not a tutorial. I used “Beginning iPhone Development” from Apress. This is pretty good: very hands-on, every concept is illustrated with a small project, so you can test yourself.
  • Just so you know, you need to install Xcode to develop for iPhone, in other words, you need a mac. Really ? Really. The development tools are quite good, but there’s no way around the Apple universe.
  • Plan for your first real project as soon as possible. You’ll need a decent app in your portfolio if you want to start developing commercially anyway. It’s the best way to learn.
  • If you want to release your application to the AppStore, you need to subscribe to the iPhone Developer Program, which, the last time I looked, cost $99. Wait, scrap that, if you want to install your app onto your own iPhone you paid for yourself with your own hard-won money, you need to subscribe to the Developer Program. The iPhone will only admit executables which have been signed by Apple with what’s called a ‘provisioning profile’. That’s to keep people from circumventing the AppStore.
    Also, the best code samples, download and docs are only available to people who are registered.
  • Be aware of the rules and regulations (PDF). Apple reserves the right to reject your application.

Don’t get me wrong, it’s relatively fun to develop for an iPhone. But it’s vendor lock-in raised to a whole new level. </rant> Unless there’s suddenly an enormous demand for iPhone applications, I’m not sure I’ll be pushing that part of my skills (after I finish developing my current application, to which I agreed). We’ll see.


6 Responses

Subscribe to comments with RSS.

  1. Kris Buytaert said, on October 21, 2009 at 2:20 pm

    So you’ll be an Android girl soon ?

  2. elisehuard said, on October 22, 2009 at 9:03 am

    yes … or i might just forget about mobile development altogether and concentrate on fun back-end stuff, like erlang, lua and performance hacking 🙂

  3. Philip Paeps said, on October 22, 2009 at 9:43 am

    There’s lots of backend stuff and performance hacking in the kernel. Not so much lua though!

  4. Nicolas said, on October 23, 2009 at 9:38 am

    Adobe recently announced that Flash CS5 will be able to generate iPhone applications.

    Doesn’t make the world perfect, but should allow you to get rid of the Mac and xCode requirements. (Well, you should use a mac anyway, but that’s another story).

    Apple has always been like that. Good products, bad policies. It’s just the way it is.

  5. Pascal said, on October 28, 2009 at 3:05 pm

    I guess you know, but if you don’t want to loose traffic, go this way:

    – couple this wp.com instance to your .eu domain ($10/year)
    – as soon as Google reindexed all of your pages and there is nothing at http://www.google.com/search?q=site%3Ahttp%3A%2F%2Felisehuard.wordpress.com anymore, you can safely export your wp blog, reimport it at your own host and change dns.

  6. elise said, on October 28, 2009 at 3:07 pm

    no, i didn’t know … thanks for the tip !

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )


Connecting to %s

%d bloggers like this: