Formation "Programmation sur Mac en Cocoa"
Introduction au développement Mac en Cocoa

1er jour :
• Historique de Mac OS X (de Mac OS à NeXT et Mac OS X et l'iPhone)
• Les différentes API et strates de Mac OS X (Carbon, Java, Cocoa)
• Le langage Objective-C (Syntaxe, Runtime, Protocols, Categories, Dynamicité)
• Foundation (les bases de Cocoa)
• Présentation de Xcode (IDE de développement)

TP #0 : Mon premier programme Cocoa (Utilisation de Objective-C et Foundation dans Xcode)


2eme jour :
• Le paradigme MVC (Comprendre la philosophie Cocoa, construire son application)
• AppKit (l'Interface Graphique, le système d'événements, target/action ...)
• Présentation de Interface Builder (Outil de création d'interfaces graphiques)

TP #1 : Currency Converter (MVC, AppKit, Interface Builder, Xcode)


• La gestion mémoire en Cocoa (Retain//Release/Autorelease et le Garbage Collector)
• Les TableViews (Controle graphique d'affichage de liste)


TP #2 : MP3Player (Gestion mémoire, MVC, AppKit, Interface Builder, Xcode)


3eme jour :
TP #2 suite : MP3Player (Gestion mémoire, MVC, AppKit, Interface Builder, Xcode)

• Les usages en Cocoa (Délégation, Notifications, Archivages/Sérialisation...)

• L’Architecture Document (les applications multi-fenêtres, le undo/redo, la sauvegarde...)
• WebKit (Moteur d'affichage HTML)

TP #3 : WebBrowser (Usages cocoa, architecture document, WebKit)


4eme jour :

TP #3 suite : WebBrowser (Usages cocoa, architecture document, WebKit)

• AppKit, gestion des vues et des événements (contrôles souris, affichage des vues)


TP #4 : Playschool pour Mac, un jeu de rapidité (Usages cocoa, gestion des vues et événements)

5eme jour :
• Les outils d'analyses de performances : Instruments/Shark, le mode zombie
• Les outils d'améliorations du code : Clang, LLVM
• Debugging avec GDB

  • Le 5e jour est bien souvent l’occasion de raccourcir les TPs pour une session spécifique à la demande et aux besoins du client.
blocks_image