Durée : 5 jours – Référence : ONE
Pour qui ce stage ?
Développeurs d’applications, chef de projets, etc.
Pré requis
Connaître la programmation orientée objet : classes et objets, héritage, polymorphisme, etc.
Connaître un langage objet type : C++, java, C# ou équivalent.
Connaître l’environnement Mac OSX est un plus.
Les webmaster et/ou développeurs web connaissant uniquement un langage type PHP auront avantage à suivre le cours Objective-C auparavant.
Exercices
Une grande partie du cours est dédiée aux exercices de développement d’applications sur IPhone et IPad. L’outil de développement utilisé sera XCode d’APPLE et ses outils.
Durée du stage
5 jours
Objectif
Vous apprendrez ici à maîtriser le Framework COCOA Touch situé au coeur du développement sur iOS, le langage Objective C et l’environnement de développement XCODE de Mac OSX, la conception des interfaces graphique avec Interface Builder, la conception par storyboards, comment tester et déboguer votre application embarquée avec l’émulateur intégré et votre périphérique.
Le processus de déploiement et d’intégration de ces applications sera expliqué.
L’objectif final est de vous rendre opérationnel sur le développement d’applications IPhone / IPad.
Les points forts de la formation
Apprenez :
1. Le langage Objective-C

Exemple de source Objective-C
Il s’agit du langage de base pour tout développeur iOS, c’est indispensable dans l’apprentissage.
2. A utiliser XCode et ses projets, son débuggeur

Bien connaître son environnement de développement : édition des projets, intégration des bibliothèques et des ressources, gestion du Bundle, débogage, etc.
3. La base : les contrôleurs standards Cocoa IPhone et IPad, les délégués
Le contrôleur de base

Le contrôleur de base est l’endroit où le développeur met les traitements propres à ses problématiques, celui-ci est intimement lié à une vue (ou plusieurs), c’est la brique de base de tout développeur Cocoa (voir modèle MVC).
Le contrôleur de navigation et le TableView contrôleur

Il s’agit d’un des contrôleurs les plus connus et utilisés sur IPhone et sur IPad : mécanisme de « pop » et de « push ».
A connaître absolument !
4. A développez des applications graphiques

Application graphique type jeu de Q/R
La programmation des vues graphiques, la gestion des animations et des transformations affines permettent d’améliorer l’expérience de l’utilisateur et de créer des applications mobiles intuitives, spectaculaires et de grande qualité.
5. A créer des Storyboards

Exemple de storyboard iOS
Les storyboards sont vraiment très innovant dans la conception d’applications mobiles, peu d’environnement de développement offre ses possibilités.
Il existe 2 techniques de développement d’interface graphique sous iOS : l’ancienne à base de fichier xib et la nouvelle à base de Storyboard, ou comment créer une application graphiquement en évitant le code.
6. A programmer les gestures IPhone et IPad

Apple™ propose des « gestures bien définie : le « tap », le « pincer », la rotation avec les doigts, le « swipe » : changement de pages, le « pan » : drag and drop, le « long press » : doigt pressé longuement.
A connaître absolument. Je vous conseille de lire le guide des interfaces graphique proposé par Apple™.
7. A accéder au réseau

Ici activité réseau d’un IPhone 5 avec les outils Apple™
Un mobile doit communiquer sur internet, c’est une de ses fonctions de base :
Principe des notifications locales et réseau
Appeler des web services asynchrones (important sur les mobiles)
Les requêtes Web type http
JSON et iOS
8. Le système de fichier, le bac à sable


Gestion des préférences
Settings dans le projet
Le bac à sable d’une application iOS
Visualisation avec l’Organizer
Gestion des préférences
Gestion des fichiers
Le parsing XML
9. La géo localisation, le geo coding
Services de géo localisation
Le service standard de géo localisation : un grand classique de la mobilité.
Le service optimisé
Les régions
Le magnétomètre
Les objets geo coder
Les exercices du cours
1. Objective-C
a. Exercice : Les figure géométriques
Objectif : utiliser la POO avec Objective-C, créer des classes et des objets en Objective-C, utilisez l’héritage et les protocoles
b. Exercice : Les collections Cocoa
Objectif : Se familiariser avec les principales classes collections, notamment NSArray, NSDictionary, NSString, etc.
2. Les widgets graphiques et XCode
a. Exercice : La calculatrice
Objectif : Se familiariser avec la conception d’interfaces graphiques avec interface Builder, création d’actions et d’outlets, modifier les propriétés.
Utiliser le débogage avec XCode, poser de points d’arrêt sur conditions, utiliser une pile en C++ avec une interface graphique Cocoa.
3. iOS, les contrôleurs, les vues, les widgets standard, les animations
a. Exercice : Conception de storyboards, manipulations
Objectif : Utiliser la conception de storyboards, formidable raccourci pour créer des applications mobiles iOS.
b. Exercice : Les segues et délégués
Objectif : Comprendre les objets « segues », la gestion de leur identifiant, le passage de paramètre entre les contrôleurs (dans les deux sens).
c. Exercice : La table view et sa programmation

Objectif : La vue en table est un des fondamentaux pour programmer iOS, ici nous étudierons la gestion de ces tables et de leurs délégués
d. Exercice : Gestion des vues et couleurs
Objectif : Intégration d’une classe vue personnalisée lié au contrôleur, utilisation du composant « slider », gestion des couleurs et du canal alpha.
e. Exercice le jeu de loto
Objectif : Utilisation des codes block et des animations graphiques. Gestion des transformations affines.
4. Les gestures
a. Exercice sur les gestures et les animations
Objectif : Création d’une application iOS implémentant les gestures : « pan », « rotate » et « swipe ».
Animer les déplacements.
5. Le réseau
a. Exercice : Appel d’un service web en JSON
Objectif : Utiliser les fonctions Cocoa permettant de lancer des requêtes web (NSURL and co.), notamment d’appeler des web services.
Utiliser la dé sérialisation JSON avec les apis iOS.
Découvrir l’indispensable mode asynchrone.
6. La gestion des données
a. Exercice : Utiliser le « parsing » XML Cocoa
Objectif : Utiliser XML dans la programmation Cocoa, avec les délégués associés et la gestion des erreurs.
7. La géo localisation
a. Exercice : Mise en œuvre la géo localisation
Objectif : Mise en œuvre de la géolocalisation. Utiliser le service standard et le service optimisé, mise en œuvre du géo coding et du mapkit.
Contenu sommaire
– Objective-C et Cocoa Touch
– XCode et les outils
– iOS, les vues et les contrôleurs, les widgets
– Protocoles et gestures
– Graphiques et animations
– Réseaux, web services
– Gestion des fichiers, XML
– Conclusion
Programme de la formation Développement IPhone et IPad avec Cocoa Touch
Remarque : En fonction du public, une revue rapide de l’environnement Mac OSX sera faite.
Introduction
- Développer sur une plate forme mobile
- Les frameworks disponibles, les APIs, les outils
- Pré requis nécessaires :
- Technologies, protocoles, formats
- Les patterns de développement utiles
Objective-C
- Les classes et les interfaces
- Les propriétés
- Les instances, les méthodes
- Les protocoles
- Les mécanismes de gestion mémoire : les règles
- Automatic reference counting : ARC
- Un mot sur “modern Objective-C”
- Le type id et la valeur nil
- La bibliothèque standard, les classes utilitaires
- Le mécanisme de comptage de référence
- Architecture de Cocoa et MVC.
XCode l’IDE de développement Mac
- Présentation du fonctionnement de XCode, les fonctions, les fenêtres, …
- Création d’un projet dans XCode iPhone/IPad
- Utilisation d’interface builder
- Le débogueur XCode
- Processus de développement Mac et outils
- Matériel et SDK pré requis
- Tester son application (mode test)
- Créer le certificat du développeur iOS
- Création d’un identifiant d’application (AppID)
- Création du « Provisioning profile » pour le développeur
- Les archives pour la publicationsur l’App Store
IOS, les vues et les contrôleurs, les widgets
- Architecture iOS
- Architecture globale du système, de l’OS
- Contrôleurs et vues
- Gestion des root contrôleurs et des contrôleurs de navigation
- Interface graphique IPhone/IPad, concepts
- Les objets disponibles de l’interface (widgets)
- Méthodologie de conception d’une interface IPhone/IPad : Storyboards
- Les fichiers XIB (ancienne méthode de conception)
- Le modèle MVC dans l’OS : principe et architecture
- Gestion des contrôleurs standard : navigation, root view controller, autres…
- Gestion des vues
- Dessiner dans les vues, les fondamentaux
- La gestion des différents types de liste
- Le dessin graphique et les animations
Les gestures iOS
- La liste des gestures standard
- Le simulateur et les gestures
- Implémentation avec Interface Builder
- Implémentation avec du code
- Les aspects multi gestures
- Bonnes pratiques
Les réseaux
- Les couches réseaux dans iOS
- La nécessité de créer des mécanismes asynchrones
- Les accès http
- Local et push notifications : le principe
- Les web services avec iOS
La gestion des données
- Gestion des préférences utilisateur
- Lire et enregistrer des valeurs
- La gestion des propriétés
- La gestion des fichiers
- Le format JSON : utilisation et manipulation
- Gestion des données XML : parseurs, événements
La géo localisation
- Principe de la géo localisation
- Les bibliothèques iOS indispensables
- Le service standard et le service optimisé
- Les délégués associés
- Implémentation
- Le système de « geo coding »
- Introduction au mapkit