Développement IPhone et IPad avec Cocoa Touch

Apprenez à développer efficacement des applications IPhone et IPad

  • xcode

Durée : 5 jours – Référence : ONE

Résumé

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.

Le film du cours ici

Points forts

Les points forts de la formation

Apprenez :

1. Le langage Objective-C

IOS-exo-image-01

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

IOS-exo-image-02

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

IOS-exo-image-03

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

IOS-exo-image-04

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

IOS-exo-image-05

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

IOS-exo-image-06

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

IOS-exo-image-07

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

IOS-exo-image-08

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

IOS-exo-image-09 IOS-exo-image-10

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

IOS-exo-image-11

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

Exercices

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

IOS-exo-image-12

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

IOS-exo-image-13

Objectif : Utiliser la conception de storyboards, formidable raccourci pour créer des applications mobiles iOS.

b. Exercice : Les segues et délégués

IOS-exo-image-14

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

IOS-exo-image-15

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

IOS-exo-image-16

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

IOS-exo-image-17

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

IOS-exo-image-18

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

IOS-exo-image-19

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

IOS-exo-image-20

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 détaillé

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

Au sujet du formateur

bertrand

L’équipe LTM

Formation & développement mobile iOS/Android/Web

Contacter l’équipe
Catégories