PDA

View Full Version : Beginner needs help.




BigD58
Jul 21, 2008, 12:22 PM
Okay so I have been a long time mac user and have always been passionate about apple. But now that I have my iPhone I feel that it is time to start making applications/programming for the iPhone. I am new to this and have NO IDEA :rolleyes: where to start. Any help would be appreciated. Thanks!



soberbrain
Jul 21, 2008, 12:32 PM
http://developer.apple.com/

Limb
Jul 21, 2008, 12:52 PM
Check out the FAQ at the top of the forum:
iPhone Developer FAQ (http://forums.macrumors.com/showthread.php?t=518968)

Also, for recommendations on the programming part:
Should I start with basic Mac Cocoa programming? (http://forums.macrumors.com/showthread.php?t=524750)

And the Apple developer site (linked in the post above) is a great resource as well. In order for us to really help you better though, you might want to give us more details about your current understanding in general. Do you have any programming experience, etc?

-Limb

BigD58
Jul 21, 2008, 01:06 PM
No I don't have much experience at all. I am still in high school. I have been to the adc website before. But as I said I have little to none developing experience.

firewood
Jul 21, 2008, 01:58 PM
First learn at least one programming language well enough that you can solve simple and small programming problems easily. Something like Basic, Python or Javascript.

Then after you are comfortable with the general idea of software development, you can move on to more powerful development environments such as Cocoa with Objective C, and eventually more complicated or restrictive environments for embedded devices such as the iPhone.

Enuratique
Jul 22, 2008, 12:37 AM
No I don't have much experience at all. I am still in high school. I have been to the adc website before. But as I said I have little to none developing experience.

My advice would be to resist the urge to dive right into the new hotness... It's not for beginners unfortunately :( But don't let that stop you from learning how to develop software in the meantime!

MyAwesomeBlog
Jul 22, 2008, 12:42 AM
I'm JUST now getting into this myself. I have a pretty decent background in PHP and Perl and wonder how complicated building apps will be?

Hmm...

BigD58
Jul 22, 2008, 02:19 PM
Thanks for the help guys I really appreciate it. But just let you know I plan on making this a career one day and not just a hobby.:D

liptonlover
Jul 22, 2008, 02:41 PM
@ soberbrain - wrong dev site. That's the mac one and Big wants the iphone one.
http://developer.apple.com/iphone/

@ firewood - Don't recommend BASIC!!! I come from a BASIC background, and I will be the first to say it's the last language you want to learn if you want to get into Cocoa and Objective C. Instead I'd recommend C, since it's the base of obj-C anyways. And it's a better language than BASIC.

@ Enuratique - Reword that. Everyone has to start somewhere, so it HAS to be for beginners :p And I KNOW it's very possible to jump right into Objective C and Cocoa without knowing another language.

@ BigD58 - I'm almost 15... so we're pretty much in the same boat. Except that I've been programming in BASIC since I was 10-11 :cool:

Now for some useful information instead of arguing with everyone. :D
I'm going to explain to you exactly how to get into programming for the iphone. But a warning now: It's a long, hard journey.

1. If you haven't done so already, download the iphone SDK from the apple website. This will not only have what you need to develop for the iphone and touch, but also for macs.

2. go to www.cocoalab.com and go through their becomeanxcoder tutorial. This tutorial assumes you have no programming knowledge. It will teach you what you need to know about C, the basics of oop (object oriented programming), how to use the developer suite (xcode, interface builder, I think a few more as well), get you started with Objective C and Cocoa, and prepare you for more advanced tutorials and books.
*note* they have not updated the tutorial, so things will look SLIGHTLY different. The way you choose a type of file or project will look different but names will remain the same. It's not hard to figure out. Also when they say nib, the name got changed to xib. Just remember nib is xib.

3. Buy Cocoa programming for mac OS X from bignerdranch.com. This is the beginners best friend. I wish he was a better author, but despite his slightly bad writing, it's a great book. Like the books said, it will teach you 80% of what you need to know.

4. Use this forum, ask a lot of questions. I am always finding the people here helpful. Also find other cocoa resources online. There are quite a few. Just be careful that you find up to date ones, a lot of them are old.

5. Subscribe to cocoacast and late night cocoa podcast podcasts.

That's pretty much it. After becomeanxcoder, you can use cocoa programming for mac os x. Go through that, making use of your accumulating list of resources when you have problems. Do lots of experimenting. Come up with an app you want to make, and stick with it. Learn along the way. When you've mastered mac programming, you will feel great, you will have a great new skill, and you can begin on the iphone. They're pretty much identical programming wise, but in important ways they aren't.

There's my 2 cents... have fun!

iphonearticles
Jul 22, 2008, 03:15 PM
You can also check out www.iphonesdkarticles.com.

This site does not go into Objective-C details though.

janey
Jul 22, 2008, 03:17 PM
Buy Cocoa programming for mac OS X from bignerdranch.com. This is the beginners best friend. I wish he was a better author, but despite his slightly bad writing, it's a great book. Like the books said, it will teach you 80% of what you need to know.
Buy it from amazon, it's cheaper. Doh, it's an amazon link. Thought they sold the book in their own store too.

5. Subscribe to cocoacast and late night cocoa podcast podcasts.
In addition to this, ADC on iTunes videos are awesome.
http://developer.apple.com/adconitunes

Dippo
Jul 22, 2008, 05:44 PM
Apple has plenty of documentation!!! If you have any programming experience at all, then start here:

Introduction to The Objective-C 2.0 Programming Language
[PDF File] (http://developer.apple.com/iphone/library/documentation/Cocoa/Conceptual/ObjectiveC/ObjC.pdf)

It is certainly more fun to just dive in and start copying and pasting code, but if you don't understand the language, you will be very limited in what you will be able to accomplish.

anmldr
Jul 22, 2008, 05:50 PM
You can also check out www.iphonesdkarticles.com.

This site does not go into Objective-C details though.

I have not had a chance yet to read this but it is EXACTLY what I was looking for. Thank you.

liptonlover
Jul 22, 2008, 06:40 PM
Are you kidding me? :confused: :eek: Apple documentation is the worst thing for a beginner. I know it's not just me that is completely lost in there. Sure it's all up to date and everything that's anything is there, but it's hard to learn using it.

firewood
Jul 22, 2008, 07:42 PM
@ firewood - Don't recommend BASIC!!! I come from a BASIC background, and I will be the first to say it's the last language you want to learn if you want to get into Cocoa and Objective C.

That's exactly why I recommend BASIC. A lot of good to great programmers started out with BASIC, and then moved on to much more powerful and safe languages. It got them interested, and did not cause them brain damage.

The easiest path to get started, IMHO, is to learn a very simple (few keywords), concrete, and immediate programming language, and there aren't many choices that are widely popular and available. Maybe Logo? Or some Javascript to make things move on a web page? Even Python with Cocoa bindings... But it seems like 10X more programmers started with Basic than all of those others.

Dippo
Jul 22, 2008, 08:16 PM
Are you kidding me? :confused: :eek: Apple documentation is the worst thing for a beginner. I know it's not just me that is completely lost in there. Sure it's all up to date and everything that's anything is there, but it's hard to learn using it.

Yea, maybe for an absolute beginner Apple's docs aren't the best. But if you have programmed before, the docs do provide the delta training needed to get you started.

liptonlover
Jul 23, 2008, 07:20 AM
@ firewood - I know he could easily give up on programming and never make it into a career like he said he wanted to. But if he does, which is his goal, he is not going to want to have to deal with the bad habits BASIC inevitably teaches you. Things that I picked up are things I'm still trying to get past; I keep forgetting that names are not only DIFFERENT, a lot are the same names but mixed up. Here's the obstacles I can think of off hand.


To me a function was a subroutine. That got really annoying.

Anything that the editor highlights is a command. As it turns out, there is no such thing as "commands" in obj-c.

not needing semicolons meant when I had to add those at the end of EVERY line gave me loads of trouble, because I'd never remember to add them in the first place, then I'd forget to see if I forgot any when debugging.

It didn't matter where I placed a variable, all I had to do was say it's a global or local to decide that.

The whole user-driven idea was new and weird to me. The extent that I had dealt with that was the user moving the mouse, pressing a few buttons. Nothing more.


That's just what I can think of offhand. So I'm going to say again, in my opinion it would be much smarter to learn C. But please don't forget, that IS just my opinion. I don't know how experienced firewood is but he probably knows more about this than me.

DipDog3
Jul 27, 2008, 12:21 PM
Just start with xCode and examples and start programming!
Nothing like hands on experience.

Beau10
Jul 28, 2008, 02:35 AM
Just start with xCode and examples and start programming!
Nothing like hands on experience.

Bingo, we have a winner.

I've been programming professionally for the past dozen years, but have been doing it on and off over the years since I was 6 years old, starting with Basic on the Vic-20 (back in 1982). Went to a top-ranked school for CS to get my degree, blah, blah....

Simply put, there is SO MUCH TO LEARN, that if all you do is read without action, you are going to retain very little. Start with basic pre-written samples and pick them apart, modify them, figure out all the small details within reason, then move onto bigger programs/concepts.

Whether or not someone should start with Objective-C depends on the person - on the one hand, it's fairly advanced... on the other hand, it's what you use to create software for a very cool device. The desire vs. frustration matrix needs to be weighed. Being super confused is about the best thing possible as long as you don't give up - the more you push your comfort zone in a task you take on, the quicker you learn. The faster you make mistakes, the quicker you learn.