Objectifs pédagogiques de la formation

Cette formation iPad développement vous permettra de disposer de solides bases pour développer des applications professionnelles qui utilisent au mieux les capacités de l’iPad. Une fois votre environnement de développement et le langage Objective C maîtrisés vous abordez les API du SDK qui intègre des spécificités pour l’iPad, mais aussi tous les besoins des autres équipements iOS comme l’iPhone et l’iPod touch.
Vous disposerez d’une bonne connaissance de la gestion des données et de l'interface utilisateur et vous pourrez ainsi développer vos premières applications pour iPad (ou iPhone) dans un contexte d’entreprise ou pour les particuliers. Les nouveautés concernant Xcode 4 et l'iPad 2 seront abordées.

 

Programme de la formation

Avant de démarrer son application pour iPad

Des chiffres rassurants
  • Penser à adapter son application aux capacités de l'iPad
  • Exemple d'applications iPad pour l'entreprise, pour le grand public
  • Les nouvelles fonctionnalités des applications (SpringBoard, Mail, Safari, ...)
  • La « sécurité » économique du modèle de développement
  • Les spécificités du matériel (puce de l'iPad, mémoire, disque, ...)
  • Différences entre les équipements iPad ,iPhone et iPod.
  • Comment le développeur peut optimiser la consommation des ressources ?
  • Impacts du firmware sur les applications.
  • Contraintes de développement liées à la plateforme iPad
  • Pourquoi utiliser Objective-C ?
L'environnement de développement

Configuration Mac nécessaire.
  • Présentation des outils et IDE disponibles (Xcode, Interface Builder,...)
  • Particularités du système d'exploitation iOS
  • Démarrer un nouveau projet avec Xcode
  • Compiler à destination de l'iPad
  • Comprendre l'équivalence avec l'iPhone
  • Les « besoins » du simulateur d'iPad fourni avec le SDK 3.2 (IPad Simulator)
  • Pourquoi faut-il signer un binaire (Target ) ?
  • Migrer un target de projet XCode iPhone/iPod touch en projet universel iPhone/iPod touch/iPad
  • Les pragma XCode / compilateurs ObjC
  • Concevoir ses propres modèles (templates) de projet XCode
  • Où trouver de l'aide ?
Le langage Objective-C 2.0

Présentation générale et vocabulaire.
  • Comparatif langages orientés objet Objective-C, C++ et Java
  • Philosophie des messages (message d'appel à une méthode)
  • Les méthodes et les classes
  • Création de classes et d'instances
  • L'importance des conventions de nommage
  • Différence entre classe et interface
  • Accès et portée des variables d'instances
  • Propagation des messages
  • La directive @selector
  • S'y retrouver dans la documentation officielle
  • Objective-C 2.0 runtime référence
La programmation objet avec Objective-C 2.0

Catégories et extensions
  • Les propriétés déclarées (@property)
  • L'utilité des protocoles (@protocol)
  • Déclarations des interfaces donnant la responsabilité à d'autres pour l'implémentation
  • Une gestion de la mémoire performante
  • Comprendre et savoir utiliser le « runtime reference »
Les API Cocoa Touch du SDK iPhone

Tour d'horizon des principales API par thème
  • Les grandes lignes des méthodes de codage avec Cocoa
  • Classes de base et hiérarchie
  • Conventions de nommage et comportements attendus
  • Héritage ou bien composition et connaissance ?
La gestion des données avec le Framework Foundation

Philosophie du framework foundation
  • Les classes fondamentales communes à tous les traitements
  • Utilité des collections
  • String, Text & Fonts (NSCharacterSet)
  • Dates, Times & Numbers (NSDate)
  • Interfacer son application avec les réglages utilisateurs standard système
L'interface utilisateur pour vos applications iPad

Framework: Cocoa Touch Layer
  • Les apports du framework UIKit
  • Comprendre l'intérêt du modèle MVC (Model View Controller)
  • Les classes Contrôleur de View (Controller View)
  • UIView, sous-classe UIResponder (réponse/gestion événements utilisateurs)
  • La hiérarchie des Views et leur géométrie
  • Les interactions entre les objets View dans UIKit
  • L'architecture de rendu des Views
  • Les bases de Core Animation
  • Le système de coordonnées des Views
  • Hiérarchies des classes UIResponder / UIWindow / UIView
  • Combiner une Barre d'onglets (Tab Bar) et des Contrôleurs de Navigation
  • Mise en œuvre d'un UISplitViewController et d'un UIPopOverController
  • Exemple UIView / UIImageView
  • Appliquer une transition à une View dans un bloc d'animation
Professionnaliser son application pour iPad

Problématiques de l'internationalisation
  • Désignation des langues (lproj)
  • Présentation de la distribution de son application sur l'Appstore
  • Les « contraintes » imposées par Apple
  • A quoi sert le certificat de distribution ?
  • Quels outils pour le versionning de l'application distribuée ?
  • Les grandes lignes de la publication sur iTunes App Store