Objectifs de la formation
- Connaître l'environnement de développement des équipements mobiles d'Apple. - Connaître le langage Swift et ses principales bibliothèques. - Concevoir l'architecture d'une application mobile écrite en Swift. - Savoir comment optimiser et déployer une application performante conformément aux bonnes pratiques de développement. - Savoir utiliser le langage Swift en corrélation avec les APIs les plus répandues. - Être capable de concevoir une interface graphique en Swift. - Être capable d'échanger des données avec un serveur.
Contenu de la formation
- Avant de démarrer son application iOS en Swift. Le marché en chiffres. iOS dernière version, quoi de neuf ?. Les spécificités techniques du matériel. Différences entre les équipements Apple (iPad ,iPhone, Apple Watch, Apple TV). Comprendre le fonctionnement de iOS pour mieux développer (priorité des process, background, consommation électrique, etc.). 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. Les outils de mesure des performances (Instruments). L'intégration continue (tests unitaires, etc.). Documentations et ressources techniques. *Guidé par l'animateur, TP avec 1 bouton, 1 Label et 1 TextField pour présenter les différents sujets du chapitre. Tour d'horizon des possibilités de mesures avec Instruments (profiling, performances). 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. - Géolocalisation. Recommandations générales sur la gestion de la géolocalisation dans les applications mobiles. Présentation du framework CoreLocation. Paramètrer le fichier info.plist pour les autorisations de l'utilisateur. Lancer et stopper la géolocalisation. Utiliser le GeoCoding. Lancer la map à partir des coordonnées géodésiques. - Applications connectées et Web Services en Swift. - Distribuer ses applications. - Présentation de Swift UI.
Résultats de la formation
Attestation de suivi de présence
Conditions spécifiques d'accès à la formation
Les participants doivent posseder de bonnes connaissances prealables de programmation dans un langage oriente Objet (Objective-C, C, C++, C#...) en vue d assimiler la logique de Swift sans ecueil. Swift etant un langage concis et plutot simple d acces, ces connaissances ne s assimilent toutefois pas a une expertise trop avancee. Posseder les bases d Xcode (l environnement de developpement de cette formation) accelerera votre comprehension de certaines notions sans etre obligatoire pour autant.