Développement d'applications mobiles
IPHONE / IPAD-Développement Swift
Reference : DEVMOB04

5
jours - 2595 € HT Télécharger la fiche
Prochaines sessions

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 et délais d’accès
Bulletin d'inscription à retourner complété
Public visé
Pré-inscription
Tout public
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