Jump to content

Best introduction to iPhone development

tweil's Photo
Posted Aug 02 2011 10:21 PM

I am an iPhone enthusiast and I would like to go into the programming industry. I purchased "Head First: iPhone Development" thinking that it would be a good introduction. It wasn't. It said that it would be best if you have a previous history of developing and recommended "Head First: Java" to start off with. Before I purchased that book I looked at an online version and saw that even that book recommended and development series. Based on what I've seen, the O'Reilly book series looks like a great way to learn but I just do not know where to start! Does anyone know the very first book to look into for developing? One that requires no knowledge of programming. I would then like to work my way back to the book that I have already purchased, which is the "Head First: iPhone Development." I really want to put that book to use. I also have other books on developing from other publishers that require a previous history that I really do not want to throw away.

P.S. I would really like to keep my learning inside the "Head First" collection to make it easier. Plus I really enjoy to layout and exercises in that series.

12 Replies

+ 4
  blackbear's Photo
Posted Aug 03 2011 09:03 AM

t's a difficult thing to answer, especially for the iPhone. If you're starting from absolute ground zero, there's so much you need to understand about programming to get even "Hello World" working on iOS. On the one hand, if you fire up XCode and create a new project, you end up with a runnable application immediately. On the other hand, to make it do anything useful, you need to understand Objective-C, object oriented programming, event driven programming and possibly some basic database stuff, plus whatever else you need for your app (graphics, network stuff, etc.)

It's kind of like saying "I want to be a heart surgeon, but I can't find any good introductory books on performing heart surgery for non-doctors." I find that a lot of people these days are trying to suggest that programming is something everyone should be able to do immediately. There are certainly platforms like Processing and Scratch that try to lower the barrier to entry, and I know a lot of people are doing well using Javascript in a browser as an introductory platform. But at the end of the day, there's a reason that I get the somewhat-big-bucks to do software development, because I've spent 30 years putting tools in my tool belt. I'm not suggesting that it takes 30 years to become an iPhone developer, but expecting to pick up a book with zero programming experience and have it teach you everything you need to know to write iPhone apps is a tall order.

In order to make this work, there would have to be a book for every platform that took you from a blank slate, taught you all the programming basics (and whatever advanced topics you needed to use the platform), all in the framework of the platform itself. They would be thick books…

My advise would be to learn programming using Javascript in a browser, since it's a C-like language, then transition over to iPhone once you understand programming well enough to be dangerous. Otherwise, the amount of things you need to learn all at once would be overwhelming.
James Turner

Contributing Editor, O'Reilly Media
Correspondent for the Christian Science Monitor
+ 1
  odewahn1's Photo
Posted Aug 03 2011 09:05 AM

Hi. I'd recommend Getting Started with Processing if you've never programmed before.

Processing is a great language that's easy to learn and satisfying to use -- you're up and doing cool stuff quickly, without a lot of overhead, and it introduces the fundamental concepts of OOP programming in stealth mode, without hitting you over the head with a bunch of jargon. Plus, Processing is basically Java, so the syntax you learn ports over to other languages. Plus, the book is really small and friendly -- it's not something that you're going to feel like a huge investment of time and energy, even though you'll learn a lot by going through it.

It's not the same as the programming language for the iPhone (Objective-C), but it will introduce you to important programming concepts that are the fundamentals of many major languages. As James says above, iPhone and iPad developers are in high demand and short supply, in part because while those devices are so easy to use, they're much harder to program for. (IMO)

Good luck!

Getting Started with Processing

Learn more about this topic from Getting Started with Processing.

Learn computer programming the easy way with Processing, a simple language that lets you use code to create drawings, animation, and interactive graphics. Programming courses usually start with theory, but this book lets you jump right into creative and fun projects. It's ideal for anyone who wants to learn basic programming, and serves as a simple introduction to graphics for people with some programming skills.

See what you'll learn

  kelahcim's Photo
Posted Aug 04 2011 03:11 AM

It's like blackbear said. This is not just reading the book. In fact, you have something that is called Computer Science - it usually takes like five years to complete this kind of studies. Just keep in mind, it simply takes time to learn. BTW - there was a study conducted that shows you need ~10 years of training in any advanced activity to became an expert - you can find it by typing "Expert" into wikipedia.

As for the books. If you plan to develop applications just for the iOS, you can start with "The C Programming Language (2nd Edition)" by Brian W. Kernighan and Dennis Ritchie. This book is just about C. However, you will learn what programming is and you will learn the basis of the Objective-C.

If you want to stick to Head First, I'd suggest Head First Java - this way, you will learn basic concepts of Object Oriented Programming.
  rachel.j's Photo
Posted Aug 09 2011 07:01 AM

I think the best book for you to start with would be Head First Programming, which is particularly written for beginners. It focuses on the core concepts of writing computer programs, which apply regardless of programming language.

From there, you could move on to learning more about object-oriented programming with Head First Java or you could learn more about web development with Head First HTML with CSS & XHTML and Head First Javascript.

These books would give you a foundation to work from when learning iPhone development. I hope this will help you to get started.

Feel free to write us if you have more questions. We appreciate your feedback.


Rachel James
O'Reilly Media
 : Aug 09 2011 07:05 AM
You might also want to check out this discussion:
The very FIRST book to read for a total noob programmer?

It's a more general question, but some of the comments may be useful to you.
+ 1
  mchammer's Photo
Posted Aug 10 2011 08:59 PM

Most computer science freshman learn to program in 1 semester. You can too. You don't need a 4 year degree to do IPhone development - just some passion and dedication.

You also don't need to "boil the ocean". Focus on tasks that will get you to your goal. I would focus on doing something very simple in Objective C. You should learn what it "means" to compile and execute - not some theoretical concept, but what it means in practice. Copying a simple IPhone project is also a good way to learn. If you go that route, make sure you spend time going back and learning what you did after you do it.

I had a professor once say that ANY college degree could be learned in about 6 months. He had 2 phd's - physics and biochemistry. If you are reasonably smart (not genius) and you have the passion and drive along with someone with whom you can discuss concepts/problems, then you will be successful.
+ 2
  Alejandro Ramirez's Photo
Posted Aug 19 2011 04:55 AM

If you like Podcasts, Stanford (yeah, 'the' Stanford University) is offering free full courses from their School of Engineering, and they happen to have iPhone Application Programming with recommended pre-requisites (CS106A - Programming Methodology with Java & Eclipse, which is an outstanding introductory class for learning Object-Oriented Programming).

You could jump right into the iPhone development if you have OOP knowledge.

Here is the link: http://see.stanford....ee/courses.aspx
Alejandro Ramirez
Digital Photography Club
  alex56's Photo
Posted Apr 06 2012 06:42 AM

I would like to begin to develop iOs app, "Head First: iPhone Development" is still good to develop with iOS 5??

Thanks école de surf bretagne
+ 1
  rachel.j's Photo
Posted Apr 09 2012 03:56 AM

A new edition of Head First iPhone and iPad Development is due to be released in June. If you want the most up-to-date information, this is probably the one you want: Head First iPhone and iPad Development, 3rd Edition
  Raster Graphix's Photo
Posted Aug 08 2012 09:39 PM

To learn about iphone application development you can go to the alison.com. Its an open source for free learning about Iphone application development. and the tutorials on this site are really easy to learn and implementing. You can go to this link (http://alison.com/courses/iPhone-App-Development/content).
  ocoder's Photo
Posted Sep 10 2012 09:50 AM

I'll chime in even though this question was posted a year ago...

blackbear's answer (the first answer) is the best.

I would go as far to say that if you don't have any programming experience, don't even begin with iPhone development.

And I would say learn some basic C programming first, rather than Javascript. There are many fundamental concepts in C that should be understood before moving into a language like Objective C. (see kelahcim's advice)

And one minor adjustment to blackbear's analogy:
"I want to be a heart surgeon, but I can't find any good introductory books on performing heart surgery for non-doctors."

It's more like saying "I want to understand how to heal the human body, but I can't find any good introductory books for non-doctors."

Even before starting you must have a basic understanding of anatomy, then how the different systems work together. If you work really hard you can most likely become a paramedic, if you work even harder and have the right aptitude you could possibly become a Nurse Practitioner. Physician? Well, maybe with a lot of dedication and enough smarts/talent. Heart surgeon? Possible, but slim chance. Not only does it takes years of work, only a few people are cut out for it, most are not. Computer Science is the same way. Very few programmers will ever rise to the level of being able to write complex iPhone apps (like networked 3D games written from scratch), but many programmers can learn to write basic/intermediate level apps (like simple 2D games without complicated physics).

As blackbear states, these days there seems to be a popular misleading idea that anyone can immediately become a programmer.

However I do think that anyone who has an interest in programming *should* try programming, and discover if they are suited to be a paramedic, nurse practitioner, physician or surgeon.
  tony_stark's Photo
Posted Sep 04 2013 12:41 AM

I a noob in iOS developpement. Do you think it's a good book for me?
iOS 7 will be deployed in few days, does it change anything with apps developpement ?