Formation numérique
Swift, développer des applications iOS (iPhone/iPad)
Reference : APL02B6

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

Objectifs
- Ce cours vous permettra de disposer de solides bases pour développer des applications professionnelles autour des incontournables phénomènes de société que sont devenus l’iPhone, l’iPod Touch, ou l’iPad réunis sous la bannière iOS. Ce cours se déroule exclusivement en langage Swift. Une fois votre environnement de développement et le langage Swift maîtrisés, vous abordez les API du SDK iOS comme la gestion des données et l’interface utilisateur afin de disposer d’une bonne vue d’ensemble et de pouvoir développer vos premières applications. L’environnement de développement est Xcode 9 pour iOS 11. Les spécificités de l’iPad, des écrans secondaires et des nouveaux matériels Apple seront abordées. Les nouveautés Swift 4 seront également présentées.
Pré requis
- De bonnes connaissances de la programmation et d’un langage orienté objet (Objective-C, C++, Java, C#, PHP5 objet, etc.) sont demandées pour suivre ce stage dans les meilleures conditions possibles.
Modalités et délais d’accès
Bulletin d'inscription à retourner complété
Public visé
Pré-inscription
Tout public
Programmes de Swift, développer des applications iOS (iPhone/iPad)
Avant de démarrer son application iOS en Swift
- Le marché en chiffres
- iOS 11, quoi de neuf ?
- Les spécificités techniques du matériel
- Différences entre les équipements Apple (iPad ,iPhone, Apple Watch, Apple TV)
- Impacts du firmware sur les applications
- Swift vs Objective-C la synthèse
Environnement et outils de développement
- Matériel et configuration Mac nécessaire
- Rôles de Xcode et Interface Builder
- Instruments
- L’intégration continue (tests unitaires, etc.)
- Apple Developer Program
- Documentations et ressources techniques
Nouveautés de Xcode 10
- Les changements au quotidien avec Xcode 10 (mode foncé, multi-curseurs, bibliothèque « library », etc.)
- Intégration avec GitHub, Gitlab et Bitbucket
- Compilation et débogage accélérés
- Prise en charge des nouveautés par rapport aux dernières versions de iOS et MacOS
- Autres nouveautés …
Architecture d’une application Swift
- Vue d’ensemble des design patterns fondamentaux
- Design pattern : Model View Controller (MVC)
- Design pattern : Delegate
- Design pattern : Protocol
- Design pattern : Observer
- Structure d’un projet Xcode
- Swift, vue d’ensemble
- Cohabitation avec Objective-C
- Les constantes et variables
- Opérateurs, instructions de contrôle, fonctions, boucles
- Classes et interfaces
- Tuples, Closures, Enumerations
- Gestion des erreurs
- Conseils de nommage
Manipulation et stockage des données
- Gestion de la mémoire
- Ressources du projet (textes, images, sons, vidéos…)
- Manipulation de fichiers
- Introduction à CoreData (SQLite)
- Stockage au format JSON et PLIST
- NSKeyedArchiver/ NSKeyedUnarchiver, protocol Codable en Swift
Interface utilisateur avec UIKit
- Design avec storyboard et segue
- La classe UIView
- Répondre à des évènements avec UIResponder et le mécanisme Target-Action
- Interface simple avec UIButton, UIImage, UILabel et UITextField
- Message bloquant avec UIAlertController
- Enchaînement des écrans avec UITabBar, UINavigationBar et UIStoryboardSegue
- Liste de données avec UITableView
- Animation des UIViews
- Expérience Utilisateur enrichie avec UIGestureRecognizer
Applications connectées en Swift
- Se connecter à un serveur avec une API REST
- Flux JSON
- Téléchargement de contenu
- Problématiques
- Mécanismes proposés par Apple
- Mise en oeuvre
- Gestion des applications avec iTunes Connect
- Les éléments à fournir en plus de l’application
- Contraintes imposées par Apple
- Processus de validation des applications
- Mises à jour de l’application
- Gestion des Web Services
Pour aller plus loin
- Présentation du développement pour l’Apple Watch (Interface Builder, WatchKit)
- L’environnement Xcode pour l’Apple Watch
- Applications universelles
- Ecosystème Apple en ligne : iCloud, Game Center, APNS, iTunes
- Des frameworks spécialisés : exemples de la géolocalisation avec CoreLocation et UIMapKit et du son avec AVFoundation
- Migrer une application vers Swift 4 et iOS 11