Be my computer science sherpa.
March 10, 2011 4:27 PM   Subscribe

Tabula Rasa => iOS Developer

So, I know basically nothing about programming — I know my way around html/css, and once upon a time I wrote some BASIC text adventure games on a graphing calculator, but beyond pasting things into html documents or the occasional bumbling hack, I don't have any experience with actual coding. My real interest here is in user interface design, so I think my excitement about the idea of iOS development should be self-explanatory. Can I get some recommendations of books/sites/tutorials that will get me from zero to being able to write some iOS applications? Where should I start? Simple recommendations of what general path I should take would be much appreciated.

In previous questions I've seen people recommend frameworks that let you leverage web technologies to create native apps, such as Sencha and Titanium. Would it be advisable to focus on something like this? Or would I find these restrictive if my ultimate goal is to experiment with novel touch interfaces?

As a final note, yes, I am aware this will be a long and difficult process; I'm wiling to put in the work, just looking for suggestions of what path to take from those who've done it before.
posted by brightghost to Computers & Internet (8 answers total) 15 users marked this as a favorite
Best answer: I have never read this book but I always go to O'Reilly books first. Maybe Learning iPhone Programming?
posted by GuyZero at 4:32 PM on March 10, 2011

Best answer: There's also Learning the iOS 4 SDK for JavaScript Programmers
posted by GuyZero at 4:33 PM on March 10, 2011 [2 favorites]

Best answer: Via Stack Overflow, an invaluable resource: How-to articles for iPhone development, Objective-C
posted by Blazecock Pileon at 4:48 PM on March 10, 2011

Best answer: Or would I find these restrictive if my ultimate goal is to experiment with novel touch interfaces?

Those web frameworks give you a specific set of widgets. For best results and greatest freedom to experiment, learn Objective C.
posted by Blazecock Pileon at 4:50 PM on March 10, 2011 [1 favorite]

Best answer: In the last month, I've somewhat feebly set out along these same goals.. I learn well from tutorials and those are certainly a viable option but felt the need to have a little bit more theoretical background so that the skills I pick up will transfer more easily as tech changes.

My goal is to be able to complete the Developing Apps for iOS course offered by Stanford on iTunesU.

Realizing that jumping straight in here might be a bit daunting, the prerequisite for that class is 106B: Programming Abstractions which is in C++. So I'm going to do that one too, right after I finish it's prerequisite, Programming Methodology (Java).

Just starting out here as well, but I was amazed at how great the resources are on iTunes U. So far the professors seem great and all the related course materials are available on the accompanying websites. I'm not sure if this will be the most immediately rewarding path to take, but I would rather really understand what I'm doing than to be beholden to any of the application frameworks. If anyone would like to start a study group for this series let me know!
posted by goHermGO at 5:25 PM on March 10, 2011 [2 favorites]

Best answer: I haven't read all the way through this tutorial, but this guy is generally a good writer: Building iOS Apps from Scratch. It takes you building a very basic iOS program, explaining various basic programming ideas along the way. I believe it's aimed at designers.

You can get your feet wet with that, then let the experience help you decide what you want to focus on learning first.
posted by ignignokt at 8:06 PM on March 10, 2011

Best answer: Whether you go with a web framework type thing like Sencha or not depends on exactly what you mean about novel touch interfaces. If you really want knowledge of each finger and its up/down/drag movement, you're not going to have that kind of access in a web framework. But if what you care about is just one finger stuff, the web frameworks will be fine.

If you're already comfortable with web stuff, maybe start with that and see what's missing? Making the job to Obj C is pretty brutal. The tools are all different and difficult, and there's just a lot more structural overhead that you'll have to handle. Unless you really absolutely need it, it's worth avoiding. So maybe start out with one of those frameworks and see how far you can get. You'll move a lot faster than you will learning Obj C. If you hit something you just can't do, then consider switching over. But I don't think it'll be time wasted using a web framework. You'll still start to get a feel for how to make things that make sense for that screen + interface, which will serve you well.
posted by heresiarch at 5:33 AM on March 11, 2011

Response by poster: So sorry for abandoning my question. My sister is studying in Japan and I forgot about this for a while as I've been trying to keep up with the situation over there — luckily she is safe in Tokyo, though the nuclear situation still has me on edge.

Anyhow, some very helpful answers in here — thanks for the resources and guidance, everyone who may still be reading. Should give me plenty to chew on for the time being.
posted by brightghost at 9:03 PM on March 13, 2011

« Older For baking theory, the answer is: promoting gluten...   |   I need a "new" mattress. Newer »
This thread is closed to new comments.