This is a website by Willem van Zyl

I'm a project manager, software developer, Apple evangelist and geek from South Africa. I'm passionate about web and mobile application development, usability, productivity, physics, astronomy, science fiction and fantasy.

If you would like to contact me, message me on Twitter or send me an email.

Xcode and Objective-C resources for iPhone Application Developers

02 Jul 2009

If you'd like to become an iPhone Application Developer, there are several resources available online and offline to get you started.

There are two kinds of iPhone applications: Web-based and Native. Web Apps combine the iPhone's Multi-Touch technology with Safari web-based interfaces (built in HTML, JavaScript and CSS with additional functionality provided by your language of choice: PHP, Java, etc.), while Native Apps are designed and developed in Apple's Xcode software using the Objective-C language.

Web Apps can be developed on any platform, but if you do so on a Mac you'll have access to Apple's excellent Dashcode IDE and iPhone Simulator (a full version of the iPhone OS running as a desktop application) to debug your application.

Native Apps can only be developed in the Objective-C language on a Mac using Apple's free Xcode IDE. To debug your Native Apps, you can run them in the iPhone Simulator or configure your actual iPhone as a development device for testing.

Web Apps

Safari is Apple's web browser based on the WebKit engine, and the Safari Dev Center provides Safari Development Videos, a Reference Library, Technical Articles, Coding How-To's and Sample Code to enable iPhone OS integration, visual effects, client-side storage and offline applications for Safari-based Web App development.

If you're a Mac user, Apple's Dashcode software (included for free with the Xcode Developer Tools) is a great iPhone Web App IDE that provides a library of drag-and-drop application elements and sample code as well as the ability to test web applications in the iPhone Simulator.

Web Apps are hosted on your own servers and are not distributed through the App Store, however Apple does have an online listing of Web Apps to tell the world about your software.

Native Apps

To develop Native Apps you'll need three things: Apple's free iPhone SDK (including the Xcode Developer Tools), a free iPhone Developer Account, and a Mac.

The Xcode Developer Tools are included for free on all Mac OS X install discs or can be downloaded from Apple's iPhone Developer website. They include the Xcode IDE (a graphical workbench that integrates a professional text editor, a robust build system, a debugger, and the GCC compiler), Interface Builder (a drag-and-drop application interface designer that integrates seamlessly with Xcode projects), Instruments (a suite of performance analysis tools), Dashcode (a Dashboard Widget and iPhone Web App IDE), the WebObjects Framework (Apple's Java-based enterprise framework for developing scalable Web applications), and a complete set of reference documentation.

Native Apps can be distributed via Apple's App Store or direct copying to iTunes based on one of two models:

  • Standard Program ($99) - For developers who are creating free and commercial applications for iPhone and iPod Touch and want to distribute applications on the App Store
  • Enterprise Program (*$299&) - For companies with 500 or more employees who are creating proprietary in-house applications for iPhone and iPod Touch

Objective-C and Cocoa

Objective-C is the reflective, object-oriented C-based programming language used to develop most Mac (and all Native iPhone) applications.

Cocoa is Apple's collection of frameworks, APIs and accompanying runtimes that make up the development layer of Mac OS X. The Cocoa Frameworks are completely accessible to Objective-C programs, and can even be accessed using native syntax in AppleScript, Python, and Ruby.

There are several resources available online to learn about Objective-C and Cocoa, including:

Cocoaloab.com - Become an Xcoder

Apple.com - Introduction to the Objective-C 2.0 Programming Language

Apple.com - Object-Oriented Programming with Objective-C

iPhone Dev Center - Getting Started

iPhone Dev Center - iPhone Application Programming Guide

iPhone Dev Center - iPhone Development Guide

iPhone Dev Center - iPhone Human Interface Guidelines

iPhone Dev Center - Your First iPhone Application

iPhone Dev Center - iPhone Reference Library

Apple.com - Cocoa Overview

Apple.com - Getting Started with Cocoa

Apple.com - Cocoa Fundamentals Guide

Apple.com - Cocoa Framework Reference Guides

Apple.com - Cocoa Reference Library

The Pragmatic Bookshelf has several screencasts available for aspiring Xcode developers:

Getting Started with Xcode and Interface Builder (free)

Coding in Objective-C 2.0 (Episode 1: Classes, Objects and Messages; Episode 2: Memory Management; Episode 3: Debugging - $5 each)

Becoming Productive in Xcode (Essential Shortcuts - $5.00; Power Moves - $5.00)

Writing Your First iPhone Application (Episode 1: Creating a Table View; Episode 2: Linking Table Views with a Navigation Controller; Episode 3: Adding Text Fields and Buttons; Episode 4: Editing On a Table View; Episode 5: Reordering Rows and Persisting Data - $5 each)

... in addition to an iPhone SDK Development eBook ($24.00) and a free Xcode Shortcuts Cheatsheet.

Additional iPhone Development Resources

Blogs:

Mobile Orchard

iCodeBlog

iPhone Dev Central

Dr. Touch

#iPhoneDev

How to Make iPhone Apps

iPhone SDK Articles

iPhone Developer Tips

71 Squared

The Flying Jalapeno Lives

Podcasts / Screencasts:

Stanford iPhone Application Programming Course (also available via iTunes)

Mobile Orchard Podcast

The App Show

iPhone Alley

Schenk Studios

Open-Source Libraries:

Three20 Open-Source Objective-C Library

Bullet Physics Engine

Cocos2d Framework

Matt Legend Gemmell - Cocoa Source Code

Appsamuck

Communities / Forums:

iPhone Dev SDK

Stack Overflow

MacRumors Forums for iPhone Programming

XCake Wiki: Resources

Books:

Beginning iPhone Development: Exploring the iPhone SDK

Programming in Objective-C 2.0

Cocoa Programming for Mac OS X

Pragmatic Programmers' iPhone SDK Development

The iPhone Developer's Cookbook: Building Applications with the iPhone SDK

iPhone in Action: Introduction to Web and SDK Development

Do you like this? Share it:

Copyright © Geekology 2011. All Rights Reserved.

Hosted by Code. Like. Clockwork.