PDA

View Full Version : New to iphone programming




jeflte
Apr 19, 2009, 12:02 PM
I just downloaded the SDK a couple days ago, and I've been trying to learn it but it seems that the learning curve is pretty steep. My past experience with programming has been Visual Basic and Delphi, both of which aren't anything like Objective C.

Do you think that with my current amount of experience (Delphi and VB) that I could jump directly into Objective C or is it hard enough that I need to learn regular C first? I'm sure it's been posted before, but what are some resources that could help me get a basic understanding of it all?

I can pretty easily make a simple Hello World app, so I don't need that kind of tutorial.. My goal is to make a 2d game, and there really aren't many tutorials geared toward 2d animation it seems like.



gibbz
Apr 19, 2009, 12:13 PM
Via MROOGLE (http://mroogle.edesignuk.com/):

Here (http://forums.macrumors.com/showthread.php?t=522276)
Here (http://forums.macrumors.com/archive/index.php/t-522276.html)
Here (http://forums.macrumors.com/showthread.php?t=537331)
Here (http://forums.macrumors.com/archive/index.php/t-650545.html)
Here (http://forums.macrumors.com/showthread.php?t=674930)
Here (http://forums.macrumors.com/showthread.php?t=636164)
and Here (http://forums.macrumors.com/showthread.php?t=567645)

CocoaPuffs
Apr 19, 2009, 04:21 PM
If you can't master the art of google, I do agree that learning curve is too steep for you.

jeflte
Apr 19, 2009, 06:34 PM
If you can't master the art of google, I do agree that learning curve is too steep for you.
Hm, actually I posted specific languages that I have learned in the past, and then I asked a specific question asking for an opinion based what I have learned. Also I never said that the learning curve was too steep, so I don't know who you're agreeing with.

Thanks for the contribution!

firewood
Apr 20, 2009, 01:23 AM
If you've written and debugged enough good sized programs in a previous programming language (2 or more is better), and know how to use and debug potential problems with pointers, data types, and object instances, etc., then the median time talked about here seems to be around 2 months of learning curve till one is able to write an interesting non-trivial iPhone app.

Non-programmers seem to need around an additional 6 months or more of general programming experience before they can develop a full featured iPhone app without asking (boring boring boring) questions that demonstrate a really fundamental misunderstanding about some basic concepts.

But YMMV. Real genius, or complete lack of brain cells, can change these numbers down to days/weeks, or up till never.

So this answer is useless.

johnnyjibbs
Apr 21, 2009, 06:18 AM
I started from scratch in October and am about to release my first app (a productivity app) this week. I've been working a full time job, so it probably could have been done sooner but the learning process has been great and I picked up a lot on the way. So, I would say that Firewood's assessment of learning curve is about right.

I would say that the first couple of months is the hardest (as it is with learning any language, musical instrument, whatever) and I would reccommend starting simple and copying lots of examples first. Start with a hello world app or a fart app and then once you've worked out how to get a button working, move onto something a little more complicated like table views. Don't try a flood fill paint program as your first app like one guy is trying to do on these forums ;)

The trick, I have found, is not to get carried away on thinking you'll be a millionnaire within a month. Take some time and it will come with practice.

On the C/Objective-C side of things, I must admit that I have not gotten into C as much as I should. However, it really didn't take me long to work out how to draw rounded rectangles with various fill and line patterns in Core Graphics (which is a C-based, not Objective-C based API) and I've gotten the hang of floats and integers. The syntax is a bit different and you've got to forget about objects for that part, but I don't think it's difficult.

My own opinion? Don't go reading too many 300 page books on C and Objective C - they'll give you some backing but they might also turn you off altogether. Get copying bits of code and take a good look at the examples, then make them your own. Don't be too ambitious at first and take a step back if you really get overwelmed. Apple has a really good library of example code, programming guides and reference resources that there's plenty of material there to get you started.

steve10172
Apr 21, 2009, 06:55 AM
I started from scratch in October and am about to release my first app (a productivity app) this week. I've been working a full time job, so it probably could have been done sooner but the learning process has been great and I picked up a lot on the way. So, I would say that Firewood's assessment of learning curve is about right.

I would say that the first couple of months is the hardest (as it is with learning any language, musical instrument, whatever) and I would reccommend starting simple and copying lots of examples first. Start with a hello world app or a fart app and then once you've worked out how to get a button working, move onto something a little more complicated like table views. Don't try a flood fill paint program as your first app like one guy is trying to do on these forums ;)

The trick, I have found, is not to get carried away on thinking you'll be a millionnaire within a month. Take some time and it will come with practice.

On the C/Objective-C side of things, I must admit that I have not gotten into C as much as I should. However, it really didn't take me long to work out how to draw rounded rectangles with various fill and line patterns in Core Graphics (which is a C-based, not Objective-C based API) and I've gotten the hang of floats and integers. The syntax is a bit different and you've got to forget about objects for that part, but I don't think it's difficult.

My own opinion? Don't go reading too many 300 page books on C and Objective C - they'll give you some backing but they might also turn you off altogether. Get copying bits of code and take a good look at the examples, then make them your own. Don't be too ambitious at first and take a step back if you really get overwelmed. Apple has a really good library of example code, programming guides and reference resources that there's plenty of material there to get you started.

You have summarised very nicely.
Did you read any books on how to find your way around "SDK"?
If so, could you suggest any?
Thanks

johnnyjibbs
Apr 21, 2009, 08:58 AM
You have summarised very nicely.
Did you read any books on how to find your way around "SDK"?
If so, could you suggest any?
Thanks
The only book I have used is this one from PragProg. (http://www.pragprog.com/titles/amiphd/iphone-sdk-development) It's actually just in beta still, and I used it only as a starting point (you can even download the examples directly from the book, no need to bother with the paperback version) but I thought it explained everything quite well from fundamentally what is a table view and step-by-step on how to do it. There's quite a gentle introduction with hello world, then view controllers, then table views and navigation/tab bars, but it also has chapters on networking, SQLite (for databases), accelerometer, etc.

It probably says that you need some grounding in C and Objective-C but I didn't and I think you can grasp what's going on by thoroughly reading through the beginning.

I started out literally by reading and copying all the examples (by reading the book, you sort of do the examples), then - quite early on - ditched the book (apart from using as a reference now and then) and modified the examples into my own. This is where the Apple documentation on developer.apple.com/iphone really comes into its own.

Hope that helps, and good luck!!

steve10172
Apr 21, 2009, 09:32 AM
Thanks John
I`m going to place an order for the e-book.
Since my last post, I browsed Play.com and have bought this book also "Beginning IPhone Development: Exploring the IPhone SDK
Dave Mark & Jeff LaMarche".
Have you heard of it?

johnnyjibbs
Apr 21, 2009, 10:00 AM
No I haven't but that sounds like a good book too. I believe that getting something iPhone related is the way to go - you pick up the objective C as part of that, but there's only a few fundamentals to learn there. The main stuff is knowing the Apple APIs, which these books show you.

jeflte
Apr 21, 2009, 04:26 PM
Thank you. Like I said, I do have previous experience with programming, so I think I could learn it pretty will in a month.

I am actually reading a 300 page book on Objective-C, but once I am done with that I will work with actual examples, because that's the fastest way to learn.

johnnyjibbs
Apr 22, 2009, 02:52 AM
That's great. One more thing I would say is that if you don't think you'll be releasing an app until June/July, it may be worth heading straight into the iPhone SDK 3.0. I noticed the book I mentioned from PragProg is going to be updated to include 3.0 features so existing buyers of the beta will get advantage of that. That said, if you want to do that and test it on your device, you would have to upgrade your device (with no easy point of return to 2.2.1).

The basics of Objective C between 2.2.1 and 3.0 won't change, but a large amount of the work in an iPhone app is actually getting to know the Apple Cocoa APIs so it may be an advantage to get into that.

However, apps developed in 3.0 will not be able to be released until the actual 3.0 is released (probably early July), so this could be a factor.

steve10172
Apr 22, 2009, 04:05 AM
That's great. One more thing I would say is that if you don't think you'll be releasing an app until June/July, it may be worth heading straight into the iPhone SDK 3.0. I noticed the book I mentioned from PragProg is going to be updated to include 3.0 features so existing buyers of the beta will get advantage of that. That said, if you want to do that and test it on your device, you would have to upgrade your device (with no easy point of return to 2.2.1).

The basics of Objective C between 2.2.1 and 3.0 won't change, but a large amount of the work in an iPhone app is actually getting to know the Apple Cocoa APIs so it may be an advantage to get into that.

However, apps developed in 3.0 will not be able to be released until the actual 3.0 is released (probably early July), so this could be a factor.

Hi Johnny
I have bought and downloaded the PDF version of the book.
You are right about waiting for ver3.0 if app is not yet ready to be released.
I have yet to dive into it, therefore I will wait for the release of new firmware.
As you rightly mentioned, the PDF book will be updated to reflect changes due to FW3.0.
Could you tell me if they will inform me when the new beta of book is released or I have to keep checking on their website?

johnnyjibbs
Apr 22, 2009, 04:19 AM
Hi Johnny
I have bought and downloaded the PDF version of the book.
You are right about waiting for ver3.0 if app is not yet ready to be released.
I have yet to dive into it, therefore I will wait for the release of new firmware.
As you rightly mentioned, the PDF book will be updated to reflect changes due to FW3.0.
Could you tell me if they will inform me when the new beta of book is released or I have to keep checking on their website?
They will send you an email whenever a new pdf is ready.

Mstr
Apr 22, 2009, 11:33 AM
johnny, you legend! :)