[wpms_breadcrumb reverse="0"]
Developpement - Mobile

IPHONE / IPAD-Développement Swift

Reference : DEVMOB04
5 jours - 2570 €
Prochaines sessions
  • Le 10/12/2018
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

Pré requis

  • Bonnes connaissances de la programmation et d’un langage orienté objet (C++, Java, C#, PHP5 objet, …)
  • Disposer de connaissances basiques en Objective C

Modalités pédagogiques

Cours dispensé en mode présentiel avec une alternance d’apports théoriques et méthodologiques, et de mises en situations pratiques

Inscription

Programmes de IPHONE / IPAD-Développement Swift

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