views:

3690

answers:

30

I am looking for more iPhone developers who are actively posting to their blog and/or Twitter. I have been learning a lot from books but the online resources beyond Apple's developer site have been hard to find.

Please let me know if you are doing iPhone development. You can see my comment on Twitter here...

http://twitter.com/offwhitemke/statuses/1090551535

My secondary question is, where are you going to learn more about iPhone development? Have you found any good sources of video training material? Apple is charging $500 for their iPhone videos but there has to be free content out there. I found content on YouTube but it is so compressed that the text is not readable.

I have found that StackOverflow.com has been a really good place to get answers. I also find that iPhoneKicks.com (links site) has been helpful in finding content.

+6  A: 

I haven't found online resources too useful, with the exception of open source applications (such as Wordpress) and SO.

Most of my information on iphone comes from the Pragmatic Programmers iPhone book, and SO.

Aside from that, most generic Cocoa and objective-C resources are useful (again thinking of books here).

frankodwyer
+1  A: 

Are you looking for basic/intermediate/advanced/etc material?

If you're looking for basic information, I'm working through Beginning iPhone Development right now and it's really helpful. I've never done obj-c before, so it's really helpful in answering my stupid questions I have about obj-c and programming in a Mac environment which I've also never done before. If you're a beginner, I would check it out.

dancavallaro
I have been reading that book as well and it has been most useful with my background in Perl/Java/C#. I also have the iPhone Cookbook which will be more helpful once I have more experience.
Brennan
the iPhone Developers Cookbook is very good and I think is accessible even if you are just starting (if you have prior programming experience of some kind)
Phil Nash
+33  A: 

The class slides and assignments have been made available for an iPhone programming class from Stanford. I've been working through it and it's a very good start. Makes me wish I was back in college. Here's the Link.

iCodeBlog is site with many good tutorials.

Matt in PA
+6  A: 

I know some of the Apple information is dry reading, but it's a very good idea to force yourself to read through all their documentation. And surely don't forget to download all of their sample applications, unpack them, open each project in XCode and poke around in their code. Some of their examples seem to have been started before IB existed for the iPhone. But that's actually a plus; it'll be good if you know and understand how to code an application by hand without the use of IB.

The Apple Developer iPhone Forums are getting better, too.

lottadot
You have to be a paying developer just to look at the forums?
Mk12
+8  A: 

The best way I have found to learn is to take a project and start building.

Also, learn to use the Research Assistant in XCode. It is a great tool for getting quick info on a Cocoa class.

Apple's source sample code is good too, although there are often inconsistencies and in some cases I have felt the author of a given demo app was showing off rather than trying to clearly illuminate an idea.

Genericrich
I am agree with you
hib
+12  A: 

Oddly enough, I just finished reviewing Beginning iPhone Development from Apress (review here). I've found it to be a great book in getting started with development. Other than that, I've been just keeping an eye on Twitter and blogs for interesting apps that come up.

Cory Foy
A: 

I post questions and answers on Stack Overflow. I've answered my own question more than once. I do this in lieu of putting it on my own blog.

Kristopher Johnson
+4  A: 

There are some good blogs out there dedicated to iPhone development. Here are a few which I referenced to learn objective-c and iphone development

http://the-lazy-programmer.com/blog/files/Objective-C%20cheat%20sheet.pdf (good for learning obj-c)

http://www.iphonesdkarticles.com/ (Some really helpful examples are available here)

http://www.iphonedevsdk.com/forum/ (There's a tutorial section here where people have put in some useful examples)

lostInTransit
A: 

Disclaimer, I run the site.

iPhone Dev SDK: http://www.iphonedevsdk.com/forum/

iPhone Dev SDK - Popular Threads: http://twitter.com/iphonedevsdk

Chris Stewart
A: 

I've found the book

iPhone in Action: Introduction to Web and SDK Development pretty good. Its written at a good pace compared to other books that ramp up too slowly or too fast.

Also a good objective C tutorial goes a long way. If you are coming from another language, the first thing to learn is Objective C's Message Syntax because that will help you read a lot of the iPhone code that looks cryptic at first. You can read the official doc on this here

L. DPenha
+5  A: 

Start with the "Hillegass book": Cocoa Programming for Mac OS X. Once you're familiar with Objective-C and Cocoa basics (probably halfway through the book), switch over to Beginning iPhone Development by Dave Mark & Jeff Lamarche. Then just poke around blogs, tutorial sites, and Stack Overflow for the bits and pieces you may need to fill in the gaps.

Give yourself some time - seems like learning Objective-C took me almost as long as when I first learned C. But then, I haven't had to write C in 10+ years so a lot of it was re-learning the same stuff.

pix0r
+9  A: 

I also am watching the iPhone Development Class from Stanford on Itunes U (http://itunes.stanford.edu/) Class materials here: (http://www.stanford.edu/class/cs193p/cgi-bin/index.php)

Other than that, I have been watching the screencasts by Pragmatic Programmers (http://www.pragprog.com/). They have content on using Xcode, learning Objective C, and iPhone development specifically. They're cheap, and content packed.

Pragmatic Programmers also has a book on iPhone SDK Development. still in beta, but the PDF is downloadable now, and they provide updates as they are available.

Of course, now that I have read this set of answers, I have a whole new set of places to look.

mmc
A: 

Related: be sure to check out the "Objective-C for Rubyists" talk from peepcode: http://peepcode.com/products/objective-c-for-rubyists

Fast-paced, but contains outstanding presentation and general insights for a beginner.

Geoff
A: 

It really depends on your level of experience in programming and what languages you have experience in. I am making the move from a C# and Java background. For me my first step was learning ObjectiveC. pix0r recommend the Hillegass book which in my opinion should be in every ObjectiveC programmer's library.

The classes from Stanford are good and should be followed, however, I discovered another class, geared more towards Java, called Programming Methodology, which for me has been a great resource. You can find this class from Stanford in iTunes U. As the course name states, this is more of a class on methodology and not programming mechanics. It was a great refresher for me.

If you are new to learning ObjectiveC I would recommend building applications on the Mac first, to just get the feel of ObjectiveC. Understand how ObjectiveC works first then make the transition to developing for the iPhone.

Keep it simple first and don't overwhelm yourself. There's a lot to learn.

Good luck!

OhioDude
A: 

My advice is learn as you go. Start now working on a product that will end in something that will actually ship. As you work your way through your project, I suggest that you always start with the Apple documentation. Chances are they will always lead you in the right direction. Other information is A) either sparse and fragmented, or B) will limit what you learn. Take it from someone who shipped a product, don't waste time learning! Learn by doing. You will never know everything, so if you wait, it you will never start.

astar
This is EXACTLY how I am doing it. I've only found one place where the Apple documentation was really substandard (creation of TableViewCells for smooth scrolling, and after Loren Brichter (@atebits on here) posted his tutorial, they updated their docs.
mmc
+8  A: 
  1. Follow pix0r's advice and buy Hillegass book.
  2. Download Apple's Guide
  3. Apple Dev forums -- better than most forums because Apple replies (sometimes)
  4. Download all of Apple's samples. When you have a question about how to do something, look for it there.
  5. Once you get an SDK login ($99), there are free Getting Started videos
  6. right click, "jump to definition". Apple SDK headers are well documented. If you have a question about something, look at the definition of a relevant class and see what Apple's developers wrote about it.
  7. peepcode and pragprog screen casts (as others have mentioned)
  8. Here. You're right, stackoverflow is one of the best resources.

I've begun keeping to the above list and you'll notice stackoverflow is last. There are a lot of bad examples on forums and blogs. If you find something on a forum or blog and you don't fully understand what it does, it's not bad idea to post it on stackoverflow and/or iphone developer forums to find out.

I'm going to be blunt about books. All the books out there now on iPhone SDK have shallow examples and will be deprecated as of iphone 3.0 release. They aren't bad for learning but there will be better books this fall and current books cover little more than what is already in Apple's programming guide.

Last, remember the iPhone is a memory constrained device where network and local storage access is slow. Parts of your application can be unloaded at any time, your application is responsible for maintaining it's memory footprint (not the user), and an event (phone call, memory, etc.) may require the app to respond accordingly and quickly.

nessence
+4  A: 

Beginning iPhone SDK Development by Dave Mark and Jeff LaMarche is excellent. After that, just stick to Apple's docs and the sample code. Oh, and read the archives on this site. A lot of questions that I had had already been answered.

+1  A: 

Stanford's CS193p iPhone Application Programming course is on iTunes U (free) stanford.edu/class/cs193p/ the video lectures/materials are extremely good (I believe recorded by Apple).

stefanB
+1  A: 

Tim Haines (developer of BurnBall and Kana) started a spreadsheet listing lots of iPhone developers who are on Twitter. Other people have written scripts to auto-follow them all. Here's one. I wouldn't necessarily recommend following every one of them (there are a lot!) but I've learned a lot by following a few of them.

Stephen Darlington
A: 

Well, I learned it by myself by just reading lots of documentation and demo-code Apple provides. And now I know almost everything about making applications (not games). But I'm only 14, so I have lots of holidays in which I can practise with Apples iPhone SDK.

Tim van Elsloo
A: 

There are quite A feww good YouTube tutorials. I especially like oreillymedia's Elisabeth Robson. I. Best way to leArn is by open-source projects if you don't want to read.

AWright4911
A: 

I learned from the book Beginning iPhone Development as well as many hours of searching and practice (I wrote 25 apps in a month, which you can find here: http://appeveryday.wordpress.com/ There's a lot of sample code there)

Matt S.
+6  A: 

Here is what i did ( although i am from a programming background ).oder important

  • Intel based mac
  • Join dev program ( this could be the last step , but i wanted to something to keep my motivation high :) )

  • Read first 6 chapters of Programming in Objective-C 2.0

  • started watching stanford iphone course ( available on itunes )

  • Started reading the grape-fruit book ( while referring to 3 for obj c questions )

  • Review tutorials/projects from appsmuck

  • Figure out how to use apple documentation as reference

  • Subscribe to iphone blogs / podcasts like mobile orchard / iphone devs twitter accounts ( there are several good ones )

  • Add iphone cocoa xcode objective c tags to stackoverflow account

Update I was just reading this from prag programmers ..seems like high level overview that answers your question.

Surya
+1 For prog. in obj-c, and apps amuck
JoePasq
+2  A: 

Just to suggest a blog for the reference (after going through the initial learning phase with Stanford video and book) :

Cocoa with Love http://cocoawithlove.com/

yowkee
+2  A: 

I've recently discovered Stack Overflow as well, and the members here are very nice and very helpful. I also picked up quite a few books that I used to help myself learn Objective C:

  • Beginning iPhone Development by Dave Mark and Jeff LaMarche (although Beginning iPhone Development 3 is more up to date)
  • Programming in Objective-C 2.0 by Stephan Kochan
  • iPhone Game Projects by PJ Cabrera (since I'm developing games)
  • Learn Objective C on the Mac by Mark Dalrymple and Scott Knaster

I've learned basic Objective-C using just these books and some online tutorials. These books suggest you should know basic C before you read them, but I didn't know a single line of C and I picked up the language pretty fast.

Darn, I had all these books hyperlinked to Amazon but then Stack Overflow prevented me from posting more than 1 hyperlink because I'm new. Sorry. :P

Kevin Y
+4  A: 

I prefer to learn by aggregating information from several sources:

  1. Books - Almost always the best way to get a complete beginner's overview of a language/framework/whatever. The only drawback with books is they USUALLY tend to stop at an intermediate level, and do not provide the intermediate to advanced gap (even when they say Advanced, it's usually not). Also, another drawback is that for the book to be out, the technology has been around for a while, so newer technologies rarely have books out (and if they do, it's usually just a single book by the author of the framework or someone on the core team). I try to start here if possible.
  2. Free/cheap Courses - Sometimes there are free crash courses (such as Apple did with the iPhone SDK Dev Days in order to inspire people to build on their platform). Often you can find a tutoring/learning center offering a discount course as a promotional deal. Also, local community colleges are great places to get introduced to something on the cheap. Stanford University has a free iPhone course on iTunes U (as well as many other universities who have made many of their courses available for free). It's not necessarily the same as being there (since you can't interact with the other students, and you don't necessarily have all the handouts, or professor time), but it's a great resource for free!
  3. Practicing with a small project - Hands down one of the best ways to learn is to do it. You will feel like you were dropped in the middle of the Amazon without any compass or direction, but eventually you start to see the moss on the trees and start heading the right way. You will learn most quickly this way, although, you can also learn a lot of terrible habits if you only learn this way. You should always combine this effort with the other ways of learning!
  4. Online Forums and Mailing Lists - 98% of the time you are not running into problems that others haven't found. Thankfully, you're not as unique as you feel. Forums and mailing lists are great places to post a problem, and get some advice/input back. Also, just browsing other people's problems can help you pre-emptively squash some future problems (or at least give you a mental notation on where to go back if you run into something). It's great to see what people are up to, what they are working on, what problems they have, and how they solve it.
  5. StackOverflow - As you already know, part-forum and part-contest, StackOverflow offers a unique way to help and be helped with programming issues. I felt this deserves it's own entry separate from #4 because it's really not the same. There is a lot of high quality content here, and this should definitely be in your arsenal when learning.
  6. Documentation - Almost a last choice in my mind, the documentation is often a great resource to find out specific details about how to implement. Rarely does documentation give you architecture/structure advice for your particular project, but it does give you a reference for the language, framework, or technology.
  7. IRC - Depending on the language and community, this is hit or miss. Some IRC channels have people who welcome your problem (even when it's not unique, because after all, most problems are common even if you think its not) and some channels will cut your head off if you ask something that isn't at the Advanced caliber. Best advice: sit around and idly listen for a week or two to get an understanding of the "social rules" of the channel before you shoot out a question.

Hope this helps!

-Kevin

Kevin Elliott
A: 

The SDK contains a lot of sample code.
If you keep an eye open for the obvious flaws,
they are a very good starting point.

Especially if you just want to know how to use API-"XYZ".

Just be aware:
There are serious errors and ommissions in some of the samples!

(Take the now famous CrashLanding/SoundEngine leak as an example.)

Andreas
A: 
  1. Sample Codes: http://developer.apple.com/

  2. Books: Beginning iPhone 3 Development: Exploring the iPhone SDK

  3. Docs: http://developer.apple.com/

  4. Video: http://www.stanford.edu/class/cs193p/

  5. and most importantly: do some real coding ;-)

ohho
A: 

Hi,

Would just like to share this with you. Hope it proves to be a simple and easy to follow iPhone programming blog. Will try to update regularly.

http://www.easyiphonedevelopment.blogspot.com/

Cheers, Jason

Jason
+1  A: 

Many people mentioned Beginning iPhone Development by Jeff Lamarche and David Mark.

Jeff Lamarche has an excellent blog at http://iphonedevelopment.blogspot.com/

There's tons of sample code if you dig around in the archives and a great series on programming with OpenGLES on the iPhone if you're into that. Apparently he's working on a book on the topic.

jasongetsdown