Become a MacRumors Supporter for $50/year with no ads, ability to filter front page stories, and private forums.

norsemen42

macrumors newbie
Original poster
Oct 17, 2008
1
0
Hello there! Just a quick and very basic question. I have a few ideas for programms specific for the iPhone and was just wondering if anyone has expericance using their development kit (SDK)? If so, then 1. How easy is the learning curve and 2. about how long does it take to create a basic program and/or and advanced program?
Any help would be great!
 

chbeer

macrumors member
Sep 22, 2008
82
0
Berlin
Since you posted in the "iPhone Programming" forum there shall be some that know the SDK.

Your questions relate to your knowledge in programming. Are you experienced developer in, say, Java or C or C++? If you are an experienced programmer coding a good program takes from 1 day (program with only a table or sth.like that) to few weeks.

I am an experienced programmer in Java (since version 1.0) but it took me nearly 2 months for a medium complicated program. This includes getting experienced in objective-c.

edit: I have to add that I hate bad software and therefore stick to the apple guidelines, what adds some days to the learning curve.
 

2002cbr600f4i

macrumors 6502
Jun 21, 2008
489
0
As the other poster said, it all depends on your experience level.

I'm a mid to senior level Java programmer, but haven't touched C++ in nearly a decade. I spent a little bit of time cobbling about with Obj-C and the SDK back in July but didn't get very far (time issues.) 2 weeks ago at work they asked me to write a program for the iPhone. I picked up a copy of "Cocoa(R) Programming for Mac(R) OS X (3rd Edition)" and "XCode 3 Unleashed". Between the two of those and looking long and hard at all of the examples that Apple has put out for the iPhone I've been able to get the app pretty much all finished.

The biggest thing is don't try to "figure it all out" at once... Break your program down into it's component elements, try to find examples that do the same sorts of things, decompose those examples down to understand how they work, and then write a simple program that does just that one thing. Once you've done that with a couple features of your program, start merging them together into 1 program.

Doing it that way serves 2 purposes: 1) you can focus on individual features without getting bogged down in "Why doesn't this work!?!?" and 2) you build experience with the tools and techniques and the API faster.

Be prepared for frustration, stress and a lot of confusion (I find the compiler and runtime error messages nearly useless...) but once you start getting the hang on it, it's not too bad.
 

liptonlover

macrumors 6502a
Mar 13, 2008
989
0
1. Depends on your experience, I'll assume you haven't doing any coding before. It depends on how naturally you can program, but generally I'd say it's pretty long. There's a lot of concepts to cover just to learn basic generic programming, then you have to learn a specific language and its nitpicks, then there's the platform with special needs, and finally each app requires knowledge on different subjects. If you're going to write a space physics demo app, you need to know a LOT about physics. But a science calculator requires that you know all sorts of other stuff, and nothing about physics.

2. A VERY basic app is easy. To create a hello world app, just toss a label onto a window, and change the title to hello world. As you progress in your learning, you'll be able to do more. It's a big variable there.
 

Niiro13

macrumors 68000
Feb 12, 2008
1,719
0
Illinois
You don't really need too much experience...the more important factor is how good are you at grasping concepts. The basic idea of programming is having a ton of basic concepts that are pretty much the same for all programming languages and using them to create something more complex.

Even if you have no programming experience, if you can quickly understand these concepts, you can learn really quickly.

The simplest application can be done with no code...just drag and drop.

Madlibs might take an hour. Lightsaber might take a few hours. AIM takes about two weeks. Super Monkey Ball takes a few weeks.

It all depends on how well you plan and know the concepts as well. All the programs above might take you a few extra days if you aren't advanced like the companies.
 

EmptyPockets

macrumors regular
Jan 15, 2008
129
0
You don't really need too much experience...the more important factor is how good are you at grasping concepts. The basic idea of programming is having a ton of basic concepts that are pretty much the same for all programming languages and using them to create something more complex.

Even if you have no programming experience, if you can quickly understand these concepts, you can learn really quickly.

The simplest application can be done with no code...just drag and drop.

Madlibs might take an hour. Lightsaber might take a few hours. AIM takes about two weeks. Super Monkey Ball takes a few weeks.

It all depends on how well you plan and know the concepts as well. All the programs above might take you a few extra days if you aren't advanced like the companies.

I am just learning to program from scratch so my experience might be different from yours. It seems like the original poster is trying to learn from scratch as well.

I think your predictions are way off for someone just learning.

madlibs - a month or two
lightsaber - 3-4 months
aim - 6-12 months *probably more
monkey ball - at the very least a year and probably many many years by yourself

I should say I am only starting so maybe everything just seems more daunting in the beginning.
 

Niiro13

macrumors 68000
Feb 12, 2008
1,719
0
Illinois
I am just learning to program from scratch so my experience might be different from yours. It seems like the original poster is trying to learn from scratch as well.

I think your predictions are way off for someone just learning.

madlibs - a month or two
lightsaber - 3-4 months
aim - 6-12 months *probably more
monkey ball - at the very least a year and probably many many years by yourself

I should say I am only starting so maybe everything just seems more daunting in the beginning.

Well, my predictions were based off of a combination of a beginner and an intermediate (with the SMB exception).

And according to the OP's reply, it seems like they have a touch less experience than that.

And I think everything is seemingly more daunting in the beginning. Once you get used to it, then you'll realize how easy some things are (like lightsaber might even be easier than madlibs considering the code for a simple shake of the accelerometer is not as long as you'd think) like madlibs can simply be a bunch of textfields and as soon as someone's done entering a word, you add it to an array. then at the end, you simply fill in the blanks with the stuff from the array.

I definitely wish you best of luck. And hopefully, you'll be one of the people who will realize that some things might not take as long as you'd think :). It feels amazing once you realize that. Hopefully you'll feel it too.

I was the same way when I first started. I had no idea even how to do the things I learned in Java because Objective-C was so different. I pretty much had to learn back from scratch (especially since before I never learned anything about delegation or even what the heck the header files were for).
 

EmptyPockets

macrumors regular
Jan 15, 2008
129
0
Well, my predictions were based off of a combination of a beginner and an intermediate (with the SMB exception).

And according to the OP's reply, it seems like they have a touch less experience than that.

And I think everything is seemingly more daunting in the beginning. Once you get used to it, then you'll realize how easy some things are (like lightsaber might even be easier than madlibs considering the code for a simple shake of the accelerometer is not as long as you'd think) like madlibs can simply be a bunch of textfields and as soon as someone's done entering a word, you add it to an array. then at the end, you simply fill in the blanks with the stuff from the array.

I definitely wish you best of luck. And hopefully, you'll be one of the people who will realize that some things might not take as long as you'd think :). It feels amazing once you realize that. Hopefully you'll feel it too.

I was the same way when I first started. I had no idea even how to do the things I learned in Java because Objective-C was so different. I pretty much had to learn back from scratch (especially since before I never learned anything about delegation or even what the heck the header files were for).

Well thats refreshing to hear. It's really great to hear someone (sort of) learning it from scratch. I think I have a general understanding of the "basic basics" but there is still a long road ahead of me before I try to get anything onto the store.

Thanks for the kind words.

Can you link to any resources you may have used or books you read. It looks like a lot of SDK books are "coming soon"
 

chbeer

macrumors member
Sep 22, 2008
82
0
Berlin
Register on MacRumors! This sidebar will go away, and you'll see fewer ads.