Vous apprendrez à développer des applications complexes en Objective-C pour iPhone et iPad en utilisant l’environnement de développement sur MacOs-X, XCode, le générateur d’interface, l’iPhone Simulator et le debugger intégré. Vous apprendrez à développer des interfaces graphiques et vous maîtriserez les mécanismes d’accès au réseau et de persistance des données.

Description

Durée : 28 heures
Modalités techniques d’évaluation : Évaluation des connaissances par QCM, évaluation des compétences au travers de travaux pratiques et de cas d’études. Contrôle de l’acquisition des connaissances et des compétences pendant la formation par le formateur.
Moyens pédagogiques : Apports théoriques réalisés en classe et complétés par de nombreux travaux pratiques permettent aux participants de disposer d’une expérience concrète. A l’issue des sessions magistrales, réalisation de cas d’études tutorés.

Objectifs pédagogiques

À l’issue de la formation, le participant sera en mesure de :

  • Maîtriser la syntaxe du langage Objective-C et l’environnement de développement iOS
  • Développer les vues et les contrôleurs d’une application
  • Accéder au réseau et invoquer des services Web Rest
  • Gérer les gestures
  • Lire et enregistrer des données
  • Exploiter les fonctionnalités du terminal (géolocalisation, accéléromètre…)

Travaux pratiques

PROGRAMME DE FORMATION

Introduction

  • Types de terminaux.
  • Le programme développeur Apple.
  • Architecture d’une application iOS.
  • Outils et SDK.

Travaux pratiques
Prise en main de l’environnement de développement.

Introduction à Objective-C

  • Origine du langage Objective-C.
  • Syntaxe de base. Notion de classe.
  • Les Controllers.
  • Identification des objets, constantes : le type id, la valeur nil.
  • Héritage.
  • Références dans l’arborescence.
  • Description d’une méthode Objective-C.
  • Initialisation de l’instance d’un objet.
  • Les protocoles et le principe de la délégation (les delegates).
  • Les sélecteurs.
  • Le framework Foundation (chaînes de caractères, listes, dictionnaires).
  • Le comptage de références.

Travaux pratiques
Ecriture de programme en Objective-C. Un exemple avec le Slider. Gestion de la mémoire.

Enregistrement au programme Apple

  • Enregistrement (informations personnelles, bancaires, de développement). Provisioning.
  • Enregistrement d’un certificat.
  • Ajouter un périphérique, identifiant UDID.
  • Ajouter un AppID Identifiant d’application.

L’environnement de développement

  • Description de l’interface (XCode, Simulateur, Instruments…).
  • Installation du SDK Apple (téléchargement, installation, localisation).
  • Méthodologie de développement.
  • Création d’un projet sous XCode. Interface XCode.
  • Les fichiers initialement générés.
  • Cycle d’exécution de l’application.
  • Définition des propriétés de l’application et le fichier Info.plist.
  • L’interface Builder et ses composants.
  • Construction de l’application.
  • Modèle-Vue-Contrôleur (MVC).
  • Les actions (déclarations, liaisons à l’interface).
  • Compilation et lien. Utilisation du simulateur.
  • Limitations du simulateur.
  • Mécanismes d’aide, de complétion et de debug.
  • Utilisation du debugger et de la console, les options de Debug ?natives?, les problèmes généraux de compilation.

Travaux pratiques
Création d’une application et débogage.

Conception et ergonomie

  • Méthodologie.
  • Identifier les fonctions-clés de votre applicatif.
  • Choisir le Design Pattern.
  • Ebaucher le storyboard et une charte graphique.
  • Développement de l’interface et de l’application.
  • Tests et optimisation.
  • Publication sur l’AppStore (éléments nécessaires, signature…).
  • Liste des icônes nécessaires à la publication.

Travaux pratiques
Améliorer la conception et l’ergonomie d’une application.

Développement

  • Instancier un contrôleur de vues.
  • Dimensions de l’application.
  • Dimensions des éléments graphiques.
  • Les éléments de saisie simple.
  • Les controls simples : Segmented controls. Switches. Progress Views. WebViews.
  • Le Slider.
  • Les contrôleurs de navigation, d’images, de vues et de vues personnalisées.
  • Ajouter des icônes.
  • Les Frames.
  • Rotation et animation des vues.
  • Contenu de la barre de navigation.
  • Listes d’éléments.
  • Action sur les listes.
  • Utilisation du multimédia (son, vidéo).
  • Lancement de l’application, icône de lancement. Splash Screen. Ecran de lancement.

Travaux pratiques
Manipuler des éléments de base, des vues, des éléments de navigation, le TableView, des listes. Ajouter un contenu multimédia.

Réseaux et Web Services

  • Architecture des couches réseau dans iOS.
  • Utiliser des web services REST et JSON.
  • Les API et Framework d’accès au réseau (NSURL, NSURLSession…).
  • Les notifications locales et réseaux.
  • Introduction au multithreading.
  • Exécuter des tâches de manière asynchrone.

Travaux pratiques
Accéder à des services Web. Gérer l’asynchronisme.

Lire et enregistrer des données

  • Les méthodes de stockage. Ecrire dans les ressources de votre application.
  • Sauvegarder et restaurer une chaîne de caractères dans un fichier.
  • Les préférences utilisateur. La classe NSUserDefaults.
  • Les fichiers de propriétés. Les plist.
  • Le format de données JSON. Manipulation XML.
  • Code principal dans le RootViewController.

Travaux pratiques
Sauvegarder et restaurer des données. Manipuler des fichiers XML, JSON et préférences utilisateur.

Introduction aux fonctions avancées

  • La manipulation de l’écran (détection de la position et des mouvements du doigt).
  • Déplacements simples, utilisation de l’accéléromètre. Zoom simple.
  • Internationaliser ses applications.
  • Utilisation du WiFi (détection de l’accès au réseau…) et du GPS (informations de géolocalisation…).
  • Créer une animation, enchaîner les images.

Travaux pratiques
Manipuler quelques fonctions avancées.