tags:

views:

194

answers:

11

I'm a web developer and I'm getting envious of all the cool iPhone apps. I know nothing about C or what ever language they use to make iPhone apps. I really have no idea where to start. What do I need to do? Should I take a class, buy a book? I have a pretty good grasp on programing, I do tons of HTML, CSS and Javascript development and some PHP and Action Scripting. I'm not very good with Object Oriented Programing but I think I could pick it up if I used it more. I love video tutorials like lynda.com or net.tutsplus.com. I learn best buy jumping in and getting my hands dirty.

+1  A: 

I haven't really looked into iPhone development at all. But as far as I know you can create a normal web app that can be accessed from the phone.

So depending on what you want to do, you could use your existing skills to make web apps specifically targeted at the iPhone.

Otherwise, if you want to develop an app, then Objective-C is the language the iPhone uses.

As far as I know you have to have to develop any apps on a Mac if you want them to go into the apple store. There are possibly a few other restrictions as well that you would have to look into if you want to publish the app that way.

Glenn Condron
A: 

Standford has their iPhone development courses on iTunesU but if you aren't good at Object Oriented programming then you are going to struggle with Obj-C.

Personally I would suggest learning Java to pick up the OO fundamentals first and then looking into Obj-C programming.

Rudiger
I had no idea about iTunesU, what a great selection of topics.
Eric U.
There is no reason one can't learn objective-c as their first language.
Dan
This seems pretty lame. You down rank me claiming something that I didn't say, mealy suggesting the poster learn OO in Java before doing iPhone Dev when it would seem you haven't done any Obj-C yourself.
Rudiger
That link is great, I just subscribed in iTunes.
Jared Christensen
@Rudiger If you need to learn object oriented programming, there's no reason why you can't start with Objective-C. The OO concepts are the same.
JeremyP
OO is hard for a lot of people when they have previously only done things like HTML, why make it harder by introducing delegates, threading and pointers at the same time? I also see that someone recommends starting with C on the command line before going to Obj-C in the GUI. This is exactly the same as what I am saying except I'm saying do it with a native OO language instead.
Rudiger
+2  A: 

By far the best book I read on beginning iPhone development is called just that, Beginning iPhone Development. Very easy to read and takes you from a total beginner to reasonably competent. Check it out: http://apress.com/book/view/1430216263

I should also mention that every chapter has you jumping in and doing practical work. Most of the time you enter some code, get it running, and then go through it to understand it.

alku83
I really like when books have you trying things as you go, I really learn best with that style. I just don't seam to remember things until I see them work.
Jared Christensen
+1  A: 

You may start by some online videos as you love video tutorials, the Stanford course is one of the best.

Then you can pick up a book or two.

If you still feel comfortable after that, you may start a real project and ask questions on StackOverflow along the journey ;-)

Enjoy~

ohho
+1 for the Stanford course. That was really useful.
webdestroya
the student presentations in the course also recommended. that's exactly how _newbies_ pickup iPhone development and showcase their achievement _within_ a short period of time
ohho
+1  A: 

I would suggest Head First iPhone by O'Reilly. Its well-written and makes it easy to rapidly transition from knowing nothing about iPhone development to making a functional app. It seems a bit juvenile at times but I felt that I was able to learn faster that way and was able to break up some of the typical programming text with some light-hearted humor.

Stedy
+1  A: 

You sound just like me!

The first step is to know what iPhone apps are programmed in, which is Objective-C, an object-oriented version of C. Basically, Objective-C is how you write for the Cocoa API (which is the preferred API for all things OS X).

Personally, I say write really great web apps that have style/scripting for when the user is viewing from their iPhone. Here are some sites with that in mind:

iui - css for iPhones

iwebkit - general framework

PastryKit - js framework for iphones

Anthony
+1  A: 

Learning iPhone programming and Objective-C programming at the same time will be daunting. If you're serious about getting into this, I recommend you start by learning C on the command-line, then advance to Objective-C GUI apps on the desktop, then eventually move to the iPhone.

If you want to short-cut the process, there are plenty of join-the-dots tutorials online and a whole bunch of iPhone programming books targeted at different levels of experience, but you'll need to be pretty tenacious; the online stuff is of extremely variable quality and there will be a lot of cursing and hair-pulling. I have almost 20 years of C and C++ under my belt, but I still lost a lot of sleep getting up to speed.

Don't be discouraged, though; it is extremely gratifying to finally get something up on the app store and see people enjoying it.

Marcelo Cantos
Good to know, I'm looking to learn it the right way.
Jared Christensen
A: 

Check out Jonathan Starks book on iphone apps. He shows how to use HTML, CSS, and Javascript to make iphone apps. You can distribute them from a server or use phonegap to convert them to native apps (legally!). This is probably the first direction to look into to leverage your existing skills. http://building-iphone-apps.labs.oreilly.com/

Nathan Whitehead
That's interesting…
Jared Christensen
A: 

Like so many has written already. Start by learning Objective C. Here is a great list of resources updated regularly. The comments are really helpful.

http://iphoneresources.aribraginsky.com/

The resources covers both Object-C and iPhone programming. Sections can be found various topics like game programming, twitter, etc.

Michael
A: 

If you really want to know how to make a good iPhone app, don't take shortcuts. Leave all of the intermediate products out and forget about just wrapping a website up in a UIWebView. Learning how to do it the right way will make you a better, more well-rounded programmer.

Since you don't know much C or Objective-C, I'd recommend reading Programming in Objective-C 2.0 by Stephen Kochan. It's a great book for going from no C experience to learning Objective-C. It also includes some iPhone-specific stuff.

Jeff Kelley
This is what I had in mind, thanks.
Jared Christensen
A: 

If you are serious about this, your first step is to buy an Intel based Macintosh. They all come with Xcode (the developer tool) on a DVD.

Then you can seriously think about learning Objective-C and there are many good suggestions about that already here.

JeremyP