A Lot To Learn

Stack of Books

Stack of Books

I wasn’t blessed with a programming background.  And that just means I have to be more patient with myself, because I’m not just learning Cocoa here, I’m learning EVERYTHING.

When I attended the iPhone Studio in July it seemed like most of the other students had experience in C, C++, C#, Ruby, Java, PHP, etc.  The only background I had to lean on was 1 year of JavaScript experience.  So I can’t compare myself to them. Be THANKFUL, by the way, if you’re in that camp. You have a significant advantage!

If you’re like me, and you want to learn how to make iPhone apps (the right way), but you don’t have a programming background, then consider this fair warning. You have a lot of work ahead of you.

  1. First, you need to understand more about your computer than you may have ever cared to know. What it really is, how it really works.
  2. Then you’ll need to learn a new language. It’s similar to the foreign language class you took in high school. Rote memory has never been my specialty, so language learning takes time.
  3. Did I say language?  Ooops. What I really meant to say was languages. Yah, make it more than one language. Because while Objective-C is the main language at play in Cocoa programming, it’s derived from C, and you’ll be scratching your head like I was until you can at least recognize the difference between the two.
  4. While there are LOTS of languages out there, they all seem to have a few things in common. Things like variables, operators, loops, etc. You’ll have to get your head around these concepts.
  5. OK, so far so good? Now we need to take the language, and the programming concepts, and we need to learn Apple’s special way of doing things. Keywords: “Cocoa Design Patterns”.
  6. Frameworks. Frameworks. Frameworks.  Say “hello” to framework documentation. At a minimum you’ll need to be familiar with the Foundation and UIKit frameworks. To do more specialized things you can get into CoreAudio, CoreVideo, CoreData, AV Foundation, GameKit, MapKit, iAd, OpenGLES, etc.
  7. Of course all of this wonderful stuff is coded, compiled, tested and deployed through Apple’s free set of developer tools. As amazing as these tools are, it still takes a while to get used to each one. The main tools are Xcode, Interface Builder, the Simulator and Instruments.  These are professional grade tools, like Photoshop, and Illustrator. They take time to master.

Wheew. I don’t mean to discourage anyone out there, but it’s important to have realistic expectations going into this kind of thing.  I’ve always been a pretty quick learner, but I underestimated this stuff and have had to continually reset the bar to a reasonable height.

If you’re coming into it with programming experience, then you really only need to start off at number 5 and work your way down the list. It’s a much shorter road for you : )

About Scotty

Jesus follower, family man, and iOS designer/developer.
This entry was posted in Training. Bookmark the permalink.

One Response to A Lot To Learn

  1. Bekah says:

    Good, good post. I think it gives a realistic quick look at what it takes to develop for these platforms. For the person thinking “Hm, I want to make an app,” this quick read is for them. :-)

Leave a Reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>