Course Summary

iPhone Programming Workshop

iPhone development training from the ground up.

Learn to use the iPhone SDK's Xcode, Interface Builder, and UIKit framework to develop sophisticated, full-featured iPhone applications. This development training course will enable you to use many of the powerful features of Objective-C, Cocoa Touch, and the various iPhone SDK libraries and frameworks.

Develop native iPhone apps in class.

You'll learn the essentials of iPhone development: the tools, frameworks, concepts, and best practices—with plenty of hands-on exercises to reinforce the lecture sessions.
More...

Duration

5 days.

Objectives

iPhone Programming Workshop Student Guide

We take a somewhat different approach to training iPhone developers. First, we spend considerably more time on Objective-C 2.0 and the Foundation framework. We think that's essential to becoming a competent iPhone developer.

Second, we don't jump right into Interface Builder when we start getting into iPhone development. Instead, we initially do everything programatically. That way, once we do get into developing an iPhone UI visually with Interface Builder, it will be a lot clearer what's going on. (Interface Builder is unusual in that it's not a code generator—instead, it works with serialized objects, so it can seem awfully magical at first.)

This is in keeping our overall training philosophy, which favors a bottom-up approach that allows you to learn step-by-step. Not only does this make learning easier, but it tends to give you a more solid foundation for iPhone development.

We combine this approach with a smaller class size that ensures plenty of individualized attention from the instructor. That way, we can be sure you'll have a chance to get all your questions answered, and get all your lab exercises completed successfully.

  • Gain hands-on proficiency with Objective-C 2.0 and the Foundation framework for iPhone development
  • Get up to speed fast on Xcode and Interface Builder
  • Learn to write custom iPhone drawing and animation code
  • Access iPhone user input from touches, as well as from the accelerometer and Core Location
  • Set up and manage iPhone controls such as text fields, buttons, and pickers.
  • Work with the iPhone's table views, navigation controllers, and other UI components
  • Persist iPhone application state and user data

Audience

Take this course if you're:

  • A C programmer (or have taken ANSI C Programming or the equivalent)
  • Interested in learning the iPhone SDK to create great iPhone applications.

For further insight into which courses would suit you best, please take a look at our guide on iPhone development classes.

Additional Notes

Learn from a seasoned developer and teacher.

Jonathan Lehr is the founder and President of About Objects. In over two decades of experience as a software developer and trainer, he has written several books and more than a dozen courses on Objective-C, Cocoa, iPhone development, Java, and other programming topics.

Jonathan first learned Object-Oriented programming on a NeXT workstation he bought in 1991, and he has been sharing his enthusiasm for Objective-C and Cocoa ever since.

Need a machine? Reserve a 20" iMac Today!

Bring your own MacBook or MacBook Pro. Or—if you're attending classes at our headquarters facility in Reston—reserve one of our 20" iMacs with Core Duo processor and 2GB of RAM.

There are also MacBook Pros available at our other locations, but quantities are limited. Please contact our registrar (703-251-4474) to reserve a machine for an upcoming class.

Links

For additional information on iPhone programming, please visit:
iPhone Dev Center: http://developer.apple.com/iphone/

Also, please feel free to download our free iPhone development tutorials. These are Xcode projects that will take you step-by-step through detailed examples that cover the basics, including working with UIView and UIViewController; Core Animation and custom drawing; working with subclasses of UIControl such as UITextField and UIButton; working with UITableView and UITableViewController, including making a UITableView editable, and creating editable instances of UITableViewCell; and managing navigation with UINavigationController.

Outline

  • Xcode: Use Xcode to edit, build, and debug your iPhone applications and to manage project resources.
  • Objective-C: Get hands-on familiarity with iPhone development with the Objective-C programming language and Foundation framework.
  • Interface Builder: Use this world-class GUI tool to design your iPhone app's UI and connect it to your code—and learn the real meaning behind File's Owner, First Responder, and other mysteries.
  • Cocoa Touch Design Patterns: Discover how Apple leverages Model-View-Controller and other design patterns in the iPhone's UIKit framework.
  • Table Views: Work with the iPhone's UITableView and UITableViewController; implement data source and delegate methods to present data and interact with the user.
  • Navigation: Learn to use the iPhone's navigation controller, tab bar controller, and other UIKit components.
  • Handle Touch Events: Manage standard iPhone UI controls and custom components correctly in response to user input.
  • Custom Drawing: Learn to use Core Graphics and Core Animation to customize iPhone UI components, display and manipulate images, and provide rich animation for graphical elements.
  • Persist iPhone Application Data and UI State: Learn a variety of efficient techniques for saving info to various types of data stores.
  • Memory Management: Learn to use retain counts and autorelease pools to manage your iPhone app's memory, while avoiding common pitfalls.
  • System Events: Work with the iPhone's built-in accelerometers and other system resources.
  • Integrate with Core Services: Integrate your iPhone app with Address Book, Maps, Safari, Mail, and other standard iPhone applications.
  • Design for Modularity: Leverage the iPhone's dynamic loading capability to reduce complexity, improve performance, and dramatically simplify maintenance.
  • iPhone Performance Monitoring and Debugging: Use Apple's Instruments utility and the GNU debugger (gdb) to find and fix problems and eliminate hot spots and memory leaks.

Course Testimonials

Highly recommended -- especially if you want to understand what's going on (or at least get the tools to understand what's going on) behind the scenes.

- Jeffrey E. Thoma, Ph. D.

I'm a newbie -- still learned a ton.

- Brendan Kilcoyne

Excellent presentation of all material. I was very happy with how the labs explored the major topics.

- Christopher Hoff

This was the best course I have taken and far better than the Stanford University class. I learned more in one week, with historical backgrounds from NeXT that I would have never learned anywhere else.

- Victoria French

Great job; each presentation was very detailed. I liked the pace, the exercises, and the help from the instructor when needed.

- Gus Delgado

Thanks so much!!

- Gabriel Vicente

If you are serious about getting in-depth, end-to-end, real world iPhone programming, you must take this course!

- John D'Esposito

The best course I have ever taken.

- John D'Esposito

Excellent, well thought out and well designed course. This is a MUST-HAVE course for any one aspiring to be a good iPhone developer.

- Santosh Menon

Very good course. Instructor is excellent, knowledgeable, and helpful.

- Zhimin Lin

Great. Wow. Thanks!

- John Eisenschmidt