iPhone App Development Decision Tree

by Jonathan Stark

Trying to decide what technology you should use to build your iPhone app? This decision tree might help:


if ( appMustAccessHardware ) { // Camera, accelerometer, beep, vibrate
    if ( !developerHasMac ) {
        // Buy a Mac
    }
    if ( appIsIphoneOnly ) {
        if ( developerWantsToLearnObjectiveC ) {
            // Use Cocoa Touch/Objective-C
        } else {
            if ( developerValuesFormOverFunction ) {
                // Use Cocoa Touch/Objective-C
            } else {
                // Use HTML, CSS, and JavaScript + PhoneGap
            }
        }
    } else {
        // Use HTML, CSS, and JavaScript + PhoneGap
    }
} else {
    // Use HTML, CSS, and JavaScript
}