[wpms_breadcrumb reverse="0"]
Developpement - Mobile

IPHONE / IPAD-Développement Swift

Reference : DEVMOB04
5 jours - 2570 €
Prochaines sessions
    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