Développement et ergonomie d'applications pour iPhone et iPad

Présentation

iPhone est une gamme de smartphones commercialisée par Apple Inc. depuis 2007. Les modèles, dont l'interface a été conçue autour d'un écran tactile capacitif multipoint, disposent d'un appareil photo qui fonctionne également comme une caméra, d'un système de géolocalisation intégré permettant une localisation en quelques secondes grâce au système A-GPS et GLONASSainsi que d'un logiciel de cartographie numérique inclus, d'un iPod intégré qui permet d'écouter et de télécharger de la musique via la plateforme de téléchargement iTunes Store, d'un client Internet (pour naviguer sur le Web avec l'application Safari ou envoyer/consulter son courrier électronique), et de fonctions élémentaires telles que les SMS et les MMS ; ils disposent aussi de lamessagerie vocale visuelle comme mode d'accès à la messagerie vocale et de l'App Store, la plateforme de téléchargement qui permet de télécharger des applications, allant des jeux aux utilitaires en passant par la télévision et la presse électronique. Au mois de mai 2013, on compte plus de 800 000 applications disponibles pour la plateforme iOS.

Au 21 septembre 2012, six générations d'iPhone ont été commercialisées au rythme d'une par an, à chaque fois accompagnées d'une nouvelle version du système d'exploitation iOS qui en est également à sa version 6.

(Wikipédia)

Objectifs

  • Vous serez en mesure de développer des applications pour MAC OS avec Objective C et d'en assurer leur ergonomie, comprendre les pièges, savoir optimiser son développement pour la plateforme, utiliser ses connaissances en Objective C pour les appliquer à la plateforme iPhone et déployer ses applications sur l'App Store.
  • Vous aborderez le framework Cocoa, le langage C et de la programmation orientée objet jusqu'à la runtime Objective-C.
  • Vous apprendrez à gérer la mémoire, comprendre le système de notification et d'événements, réaliser des tests et améliorer la qualité du code.

Vous aborderez

  • Les bases de la programmation : variables, boucles, fonctions, etc...
  • La notion fondamentale d'objets, de classe, les méthodes et les messages
  • Les pointeurs, les adresses, et la gestion de la mémoire
  • L'utilisation de Xcode
  • Les classes du framework Foundation
  • ARC et les cycles de retenue
  • Les propriétés, blocs, catégories,
  • Le mécanisme cible-action et les design patterns

Public

  • Programmeurs voulant développer des applications pour l'iPad, l'iPhone et l'iPod touch.

Pré-requis

  • Vous devez avoir des bonnes bases dans un langage orienté objet.
  • La connaissance d'un langage du typeâJava, C++, C# ou Python, est un plus pour assimiler rapidement les spécificités d'Objective-C.

Durée

  • 4 jours

Compléments d'informations

Module 1 : 1 jour

  • Historique et racines du langage
  • Lexique et grammaire
  • Objective C, une surcouche orientée objet de C
  • Types, conditions, boucles et classes
  • Boucles orientées objet (Fast Enumerations)
  • Expression lambda
  • Notion de selector
  • Valeur nil
  • Rappel sur les pointeurs, la stack et la heap
  • Types génériques id
  • Objective C et compilation
  • Démonstrations et exercices

Module 2 : 1 jour

  • Elaboration d'une application avec UIKit
  • Architecture d'une application iPhone
  • Classe UIApplication
  • Classe UIResponder
  • Classe UIView et ses dérivés
  • Classe UIViewController
  • Classe UINavigationController
  • Lecture de fichiers multimédia

Module 3 : 1 jour

  • Bonnes pratiques en matière d'ergonomie
  • Ergonomie fonctionnelle (prototypage, tests de convivialité, architecture d'informations, etc.)
  • Design visuel (découpage des images, typographie, contraste, répétition, alignement, proximité, etc.)
  • Elaboration de contenu Web optimisé pour les mobiles
  • API de Google Analytics pour applications natives

Module 4 : 1 jour

  • Découverte des Frameworks les plus populaires (CoreAnimation, CoreImage, CoreLocation, MapKit, etc.)
  • Frameworks Open Source
  • Utiliser des services REST en mode asynchrone
  • Déploiement et marketing de l'application sur l'App Store
  • Démonstrations et exercices