3

I'd like to get into iPhone development (mainly OpenGL & games stuff, no GUI apps). Got 10+ years experience of thorough Windows development, mostly C++ / win32 api, some OpenGL. However I have absolutely NO experience with Mac or Apple whatsoever.

I'm confident I'll pick up the concepts without any trouble, but I got no clue where to begin, or even how to setup an iPhone development environment. Should I use GCC? or Xcode (is that an IDE and/or compiler?) and is there a step-by-step introduction somewhere to create an initial project?

There's an overkill of info and tutorials out there, but they all seem to assume some initial Mac development knowledge which I don't have. An absolute newbie tutorial on creating an OpenGL "hello world" for iPhone step by step from scratch would be awesome.

Does anyone what would be a good place to start for me?

Brad Larson
  • 170,088
  • 45
  • 397
  • 571
William Clark
  • 315
  • 2
  • 4
  • 7

4 Answers4

2

1 -- The example projects in XCode on the Mac make excellent starting points. XCode is an IDE... and if you set the target to "simulator" it just pops up the iPhone simulator. Fire it up, you can't miss it. Download from developer.apple.com.

2 -- I really liked the book "The iPhone Developer's Cookbook: Building Applications with the iPhone SDK"

3 -- Objective C is kinda quirky but you get used to it quickly enough, plenty of web resources and books are easy to find.

david van brink
  • 3,604
  • 1
  • 22
  • 17
2

I would also take a look at Stanford University's free iTunes U course in iPhone development. It's a great, thorough explanation of the iPhone platform and Objective-C. There's a "Hello World" tutorial in there, but the videos go much farther and will give you a good deep dive into the ecosystem. There is an OpenGL ES section as well.

If you haven't done so yet, you will need to either buy a Mac or build a Hackintosh, since you have to have OSX for development.

Feanor
  • 2,715
  • 4
  • 29
  • 43
1

For the simplest development environment for someone starting out with iPhone development, you'll want to go with a Mac running Snow Leopard and use Xcode with the iPhone SDK. Xcode is an IDE that contains within it a modified version of the GCC (or LLVM) compiler targeted at producing Mac or iOS binaries. It also includes a full iOS simulator for quickly testing out your applications.

There are ways of doing iPhone development on Windows, but they are extremely difficult to get set up and ultimately more of a curiosity than a practical means of development

There are a good number of getting started resources listed in this question. I recommend the Stanford videos, as well as Apple's getting started videos that you can access through the iOS Dev Center. Apple also has an iOS Getting Started document that acts as a jumping-off point for their other introductory documentation.

Be aware that OpenGL ES is not a simple subject to just jump into. You can easily create an OpenGL ES "Hello World" application by opening Xcode and creating a new project from the OpenGL ES Application template, but you'll have a hard time figuring out what to do after that. However, OpenGL ES is something you can learn independently of Cocoa and Objective-C, so if you want to jump into that topic, I taught a class on the subject which can be found on iTunes U as part of my advanced iOS development course. I walk through the fundamentals of OpenGL ES 1.1 there (2.0 can be found in the fall semester of the course). I also highly recommend Philip Rideout's iPhone 3D Programming book and Jeff LaMarche's series on the topic.

Don't let the initial complexity of OpenGL ES scare you away. You should be able to pick up the basics reasonably quickly if you apply yourself.

Community
  • 1
  • 1
Brad Larson
  • 170,088
  • 45
  • 397
  • 571
1

I did a test OpenGL app last fall, and found the best book for 3D on the iPhone was:

iPhone 3D Programming
By: Philip Rideout

It covers both versions of OpenGL ES that you need to be aware of if you want your apps to run on older iphone hardware, although if you only want to target the 3GS and up (and 3gen ipod touch, and ipads) then you can skip to OpenGL ES 2.

It has complete examples, a good explanation, and best of all it recognizes that a lot of people coming to the iPhone for games development already know C++, and it focuses on getting you right into the C++ OpenGL rendering loop. You have to deal with very little objective C, and most of that is well explained with examples that are easy to use.

It doesn't cover game design - it's just to get you going in 3D on iOS, so if you aren't familiar with OpenGL and game design fundamentals you should also invest in one of the many game design and opengl bibles that are available.

As far as programming the iPhone on windows, it's possible, and I have a friend doing it using a hackintosh VM. I decided to just get a cheap mac mini I found on sale when the new ones came out a few years ago. My friend found that his setup worked well enough to get to the stage where he was willing to commit to his app, then he invested money and bought a mac mini. He indicated that development just flies now, compared to his VM, and he wishes he switched sooner.

Whether you have the $500+ to invest in it is up to you, but be aware that there really aren't any other good options for iOS development yet, and you cannot easily submit apps to the apple store without a mac and xcode, so if you plan on going that route, you need to budget for a mac.

Adam Davis
  • 91,931
  • 60
  • 264
  • 330
  • 1
    Thanks everyone for the answers. Adam, I got a copy of the book this weekend after reading some positive reviews and it certainly sees worth it. Aimed at C++ developers without any Mac experience required, it seems perfectly fit for me. Thanks again! – William Clark Apr 11 '11 at 07:13