Skip to Content

iPhone Dev 101: Introduction

Welcome to the iPhone Dev 101 series. This series on TUAW is designed to tell readers about iPhone development, and give potential iPhone developers a look at the iPhone. In this introductory post, I'll walk you through some of the most asked questions about the iPhone & App Store. These posts will be a little geeky, but I will try to explain anything that you might not already know about.

Where do I start?
If you already have an Apple ID (either from iTunes/MobileMe/.Mac/etc.), then the first place to start would be to join the iPhone DevCenter. The basic (free) access will allow you to download the SDK (Software Development Kit), look at documentation, download example code, and test your applications in the iPhone Simulator (a Mac application that emulates the iPhone OS).

You will not be able to test and debug your application on your actual iPhone or iPod touch hardware, however. For that you will need to purchase a paid development membership.

Once you attempt to sign in to the DevCenter with your Apple ID, you will be presented with some terms and conditions that you will need to accept. Once you accept them, you will be taken to the main DevCenter -- this is the place where you will be able to download the SDK and access some other important information about iPhone development.

Read on to learn more about iPhone development.


Should I become a paid member?

Apple offers two levels of paid memberships for the iPhone developer program. The Standard program is $99, while the Enterprise program is $299. What's the difference?

The standard program gives you the ability to create both free and commercial applications for distribution on the iTunes App Store. The Standard program also gives you full access to the iPhone DevCenter, the ability to test your applications on either an iPhone or iPod touch, access to search and submission rights in the Apple Developer Forums, and distribution of your applications via the Ad-hoc method.

If you are looking to develop applications for use within a particular company (meaning you will not be distributing via the iTunes App Store), then you might take a look at the Enterprise program. This program will give you the same level of access as the Standard program, except you trade off iTunes App Store access for Internal ("In-house") Distribution -- which will allow you the ability to distribute your apps via e-mail, download link, etc.

Both forms of the iPhone dev program give you access to code-level technical support for your applications. This means that you can send Apple your project (Xcode project) via e-mail and have them help you with errors that you might run into.

For these posts, we will be focusing mainly on the Standard Development Program; if you will be joining the Enterprise Program, I highly suggest taking a look at the documentation available on the DevCenter as well as in the Apple Developer Forums.

You can find more information about the different developer memberships available on Apple's website. I would suggest playing around with the SDK before you join any of the iPhone development programs -- this will allow you some time to warm up to coding on the iPhone. Purchasing a membership only takes a couple of weeks to set up.

Look for my next iPhone Dev 101 post in which I'll discuss the iPhone SDK, and the applications that comprise it. If you want me to cover a specific topic on development for the iPhone, feel free to let me know in the comments.

Welcome to the iPhone Dev 101 series. This series on TUAW is designed to tell readers about iPhone development, and give potential iPhone...
 

Add a Comment

*0 / 3000 Character Maximum

24 Comments

Filter by:
Matt

@Mike

Wow... Could you perhaps be any more arrogant?

If you're reading this post, ignore his comments. If you've never written a line of code in your life, Objective-c will seem a bit overwhelming. If you have a programming past, you'll find many common threads that are similar across programming languages, but still be faced with the challenge of putting all the pieces together.

I look at it like learning a foreign language... There are similarities in your native language as with a foreign one, but that doesn't mean you're going to pick it up immediately. Typically only after classes, books, or time in country will you fully grasp the language.

Don't let jerks like Mike get you down!

January 21 2009 at 2:15 PM Report abuse rate up rate down Reply
John Wilker

There's an iPhone developer conference in March in San Jose CA, that might also be a good place to start. I'm schilling for it, it's my conference :) but we're aiming to have some good hands on training. Worth seeing if it's a fit for you.

www.360idev.com

January 20 2009 at 7:37 PM Report abuse rate up rate down Reply
justin

To - Oliver Heart

The iPhone SDK actually requires an Intel-based Mac running Mac OS X Leopard, but yes that should have been mentioned above.

January 20 2009 at 6:16 PM Report abuse rate up rate down Reply
OlsonBW

Programming in C, C++, Objective C, etc., all are setup like some Rube Goldberg device which a lot of unnecessary complexity.

It's ridiculous that a lot more stream lined method for creating complex programs hasn't been developed yet. Heck, you can't even create an easy iPhone app without spending 90% of your time doing things have nothing to do with the actual code of what you want the program to do.

Visual Studio isn't it either.

Programming today is stuck in what I call the pre-Model T stage.

Programming is like having to set the magneto, set the advance, set the choke, then crank start the car. Nobody average person in the 1930s, let alone today, would stand for that for a normal car that has to get them around town.

Yet we still put up with this today with programming. I know it won't be easy. It's as big and as hard as writing an operating system. We need someone to stand up to do this and create a revolution in programming. We need compilers that figure out the redundant boring parts of programming.

There is a reason why we don't program in assembler anymore. Besides not being able to run on different kinds of CPUs, it was too hard to modify code.

It's time to take the next step. I just wish I was up to the task to start and lead it. I'm not. Someone else is. I just don't know who.

January 20 2009 at 5:23 PM Report abuse rate up rate down Reply
2 replies to OlsonBW's comment
Kuy

There's a very good reason to limit the art of software development to those who can practice it well - quality. If simply anyone could develop software with no regard to end-user experience, support or sustainability then we'd end up with an endless desert of mediocrity which would devalue the entire computing experience. If you don't believe me, do a deep dive into the Linux world and see what you discover.

I've spent years trying to solve the very problem you described until I realized that the real problem is to give people who can _already_ code well the tools to bring better quality products to market faster. .Net has the wrong answer here - it brings masses of poor quality code to the world faster, which is not what we need. Apple's solution is therefore pretty accurate.

I guess I just countered your soapbox with a bigger soapbox :-p
Nonetheless it's good that Cory is at least showing people what's involved in iPhone app development.

-Kuy

January 20 2009 at 9:40 PM Report abuse rate up rate down Reply
Mike

I hope this is a poor attempt at trolling. My 8 year old nephew wrote his first iPhone app in Obj-C 2 months ago and is currently pulling in about $4k a month. I don't know wth he's going to spend it on... Toys R Us?

Both iPhone developers, and users, have hit rock-bottom in terms of effort and creativity. Part of the reason is the unbelievable simplicity of software dev these days. And quite frankly, if you can't handle Objective-C right now, you shouldn't be developing software in the first place. Please just stay away from XCode and let those of us who give a sh!t write the code from now on, mmkay? Maybe if you did you would find something more interesting than farting apps on your mobile.

Thanks.

January 21 2009 at 8:42 AM Report abuse rate up rate down Reply
Ron

Thanks for the post, I'm looking forward to the continuing series.

If you could add a quick note to just explain how to make a web app or web page install as an iPhone application, that would be a great start for a lot of people! (Although I am sure Apple has some example apps, it would be great to read a quick overview without having to install all of the tools first).

January 20 2009 at 4:53 PM Report abuse rate up rate down Reply
JimBuzbee

I just wrote an article dealing with how I wrote my first iPhone app:

http://www.smallnetbuilder.com/content/view/30712/87/

January 20 2009 at 3:49 PM Report abuse rate up rate down Reply
Matt

A few notes here:

1) I feel it's a necessity to constantly test your app on the actual device, as the Simulator can be misleading. For example, I'm working on an app that has to handle large amounts of XML data. In the simulator, it processes super fast, however on the iPhone it was painfully slow. It's important differences like that which cannot be allowed to go overlooked.

2) If you've never written a line of code before, iPhone programming is not the place to start. It's tempting because of how intriguing it is, but the reality of it is that it's not an easy language to pick up. I've been programming PHP and JS for 5 years now, and it took me a solid 3-4 months on my own to get objective-c down. I'm not saying it's impossible, however you're throwing yourself into the lion's den.

I don't mean to sound negative, rather quite the contrary... It's good to be excited about wanting to learn, however you also have to go about it in the right way, else you'll find yourself frustrated and giving up!

http://www.mndcreative.com

January 20 2009 at 3:03 PM Report abuse rate up rate down Reply
oliver hart

You should add that the iPhone emulator is only available to machines running leopard. No help for us tiger folk.

January 20 2009 at 2:37 PM Report abuse rate up rate down Reply
Mark Johnson


There are some great iPhone programming books just out, here are the best:

http://www.markj.net/iphone-development-programming-books/

Mark

January 20 2009 at 12:05 PM Report abuse rate up rate down Reply
1 reply to Mark Johnson's comment
Brad Zimmerman

Mark: does "iPhone in Action" give enough of an intro to Objective-C for the no-programming-experience-whatsoever beginning programmer? I already have access to (through my workplace) Beginning iPhone Development but one of the assumptions the writers made, no fault against them, was that the reader was already somewhat familiar with Obj-C and programming in general.

I, like others, am interested in learning Obj-C and learning to program for the iPhone. I don't mind if it takes "quite awhile" to learn Obj-C; I have no desire to get rich quick via the App Store. I just would like to do more with my iPhone and it is the sole thing I am actually *interested in* programming for.

January 22 2009 at 8:41 AM Report abuse rate up rate down Reply
Max

Hey, For all those people asking "I've never programmed, is it easy?" etc.
Well here's the answer: Objective-C is based off of C, so for instance I knew C++ when I started Obj-C, and all the logic type stuff is the same (methods, basically everything to do with OOP)
I believe you need that groundwork before learning Obj-C because it's a little harder, even the fact that it has interface builder and all that. The best way to learn is to get the basics in C (for a month or whatever) in an IDE that is really simple, and just programming text based programs (which will help you learn how more complex programs work) Then slowly ease into Obj-C. Hope that Helps!
-Max Tkacz, Head of Programming, Polyhedron Group.

January 20 2009 at 11:10 AM Report abuse rate up rate down Reply
Buy an ad here

Hot Apps on TUAW

Tweets

© 2012 AOL Inc. All Rights Reserved.