Développement applications iOS

iPhone / iPad – Développement Swift

Objectifs

  • Comprendre les architectures techniques des iPhone et Ipad
  • Prendre en main l’environnement de développement
  • Comprendre les spécificités et caractéristiques du langage Swift
  • Être capable d'utiliser les API du SDK pour interagir avec l'Ipod ou l'Ipad
  • Connaitre les spécificités de compilation pour chacun des appareils
  • Être en mesure d'optimiser l'utilisation de la mémoire par l'application développée pour garantir les performances de l'appareil

Programme

Les architectures iPhone / iPod touch / iPad
  • Un marché porteur
  • La "sécurité" économique du modèle de développement
  • Les spécificités du matériel (processeur, mémoire, disque, ...)
  • Différences concrètes entre les modèles
  • Les besoins en ressources selon l'utilisation
  • Impacts du firmware sur les applications
  • Contraintes de développement liées à la plate-forme iPhone
  • Particularités du système d'exploitation iOS
  • Pourquoi utiliser Objective C ? Swift ?
L'environnement de développement
  • Le vertige des chiffres liés aux applications
  • Configuration Mac nécessaire
  • Présentation des outils et IDE disponibles (Xcode incluant Interface Builder, iPhone Simulator)
  • Démarrer un nouveau projet avec Xcode
  • Compiler à destination de l'iPhone / iPod touch / iPad
  • Compiler à destination de l'iPhone / iPod touch (Organizer)
  • Pourquoi faut-il signer un binaire (Target) ?
  • Les pragma XCode / compilateurs ObjC
  • Concevoir ses propres modèles (templates) de projet XCode
  • Le simulateur iPhone Où trouver de l'aide ?
Le langage Swift
  • Présentation générale et vocabulaire
  • Etat de l’art Swift
  • Pourquoi Swift et non Objective C ?
  • Comparatif langages orientés objet PHP, C++ et Java
  • Syntaxe
  • Déclarations
  • Inférence de types
  • Appels de fonctions
  • Struts / Enum
  • Generics
  • Collections
  • Optionals
  • Contrôle d’exécution
  • Closures
  • Gestion de la mémorie avec ARC
La programmation objet avec Swift
  • Classes
  • Constructeurs
  • Catégories et extensions
  • Les propriétés déclarées (@property)
  • Méthodes
  • Destructeurs
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 et fonts (NSCharacterSet) dates, times et numbers (NSDate)
  • Interfacer son application avec les réglages utilisateurs standards système
L'interface utilisateur pour vos applications iPhones
  • 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
  • Exemple UIView / UIImageView
  • Appliquer une transition à une View dans un bloc d'animation
iCloud, une nouvelle philosophie pour le développement
  • Une nouvelle philosophie pour les utilisateurs et les développeurs
  • Le modèle iCloud d'Apple (architecture et services offerts)
  • Les différentes API de stockage iCloud
  • Le principe du stockage par paires clé/valeur
  • iCloud et le modèle SandBox pour les applications
  • Exemples de stockage en ligne avec iCloud
Compléments
  • Nouvelle gestion de la géolocalisation, notification locales associées
  • Intégration des réseaux sociaux à tous les niveaux du système
  • Diffuser du contenu (musique, photos, vidéos) en Wifi (Airplay, Apple TV)
  • La reconnaissance faciale (principes et exemples d'utilisation)
  • Exemple d'identification via une webcam
Professionnaliser son application
  • 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 AppStore
Présentation des nouveautés iOS8
  • Xcode 6 "plus de fonctions d'optimisation et de contrôle du code"
  • Applications pour la future Watch
  • Passage en revue des principales améliorations
  • Migrer une application iOS7 en iOS8
Please login to get access to the quiz
iPhone / iPad – Développement Swift pour développeurs Objective C (Prev Lesson)
(Next Lesson) iPhone / iPad – Développements avancés avec Swift
Back to Développement applications iOS
Public

<li>Ingénieur logiciel, développeur ou analyste programmeur</li>

Pré-requis

Bonnes connaissances de la programmation et d'un langage orienté objet (C++, Java, C#, PHP5 objet, ...)