Formation "Programmation iPhone/iPad"
Introduction au développement iPhone/ iPad en Cocoa

1er jour :
Présentation du langage C et TP (si nécessaire)
Introduction à la Programmation Orientée Objet (si nécessaire, 1 journée pour ces 2 présentations)
• Historique de Mac OS X, de l’iPhone et de ses APIs
• Les applications web et les applications natives
• Introduction à Xcode et Introduction rapide à Interface Builder

• TP #0 : Mon premier programme iPhone (Utilisation d’Interface Builder, Xcode et Simulateur)

• Le langage Objective-C (particularités, envoi de message, categories, protocoles, runtime)
• Foundation (NSObject, création d'objets, utilisation du runtime Objective-C, NSArray, NSDictionary)

2eme jour :
• Présentation plus complète de Xcode (Target, SDK, Signature)

TP #1 : Mon Premier Programme Cocoa (iPhone Simulateur) (Objective-C, Interface Builder, Xcode)

• Présentation plus complète de Interface Builder (Les widgets, le mecanisme Target/Action)

TP #2 : Un peu d’action (Objective-C, Interface Builder, Xcode, utilisation du mecanisme Target/Action)

• La gestion mémoire en Cocoa (retain/release/autorelease)
• Les usages Cocoa : la delegation (Partie I)

TP #3 : Track Me! (iPhone Device) (Signature, Gestion mémoire, Delegation, Objective-C, Interface Builder, Xcode) : TP utilisant le GPS de l'iPhone, les Vues Interface Builder, mecanisme target/action

3eme jour
:
• MVC (Model View Controller)
• UIKit
• Les View Controllers : Concevoir une application architecturée pour l'iPhone
• Les TableViews

TP #4 : The Font Show (iPhone Device ou Simulateur) (Usages Cocoa, UIKit (TableView/UIViewController), Objective-C, Interface Builder, Xcode) : TP permettant d'utiliser pleinement les UITableView, scrolling.

Les usages en Cocoa (Partie II)

4eme jour :
TP #5 : Mon Gestionnaire de Taches (iPhone Device ou Simulateur) (Usages cocoa, View Controllers)


• Gestion des vues et des "touch"


5eme jour :

TP #6 : Playschool, jeu de rapidité (iPhone Device ou Simulateur) (Usages cocoa, UIView, UITouch)
• Les outils d'analyses de performances : Instruments/Shark, le mode zombie
• les outils d'améliorations du code : Clang, LLVM
blocks_image