Votre partenaire formation 100% digital

iOS, développement mobile en langage Swift

Maîtrisez Swift et disposer de solides bases pour développer des applications professionnelles iOS sur iPhone, iPod Touch, ou l'iPad

  • Formateur(s)

    Benjamin ORSINI
  • Référence

    UPHD2

  • Durée

    5 jours (35h)

  • Prix unitaire HT

    2355 €

Prochaines sessions

Prochaines sessions - iOS, développement mobile en langage Swift
Date de début Ville Prix unitaire HT
Sur demande

Description

Cette formation 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.

Objectifs pédagogiques

  • Maîtriser le langage Swift
  • Développer une application professionnelle iOS en Swift
  • Appréhender l’environnement de développement Xcode 9 pour Swift

Public cible

Ingénieurs logiciels, Développeurs, Analystes programmeurs, Chefs de projets

Pré-requis

Bonnes connaissances de la programmation et d’un langage orienté objet

Modalités d’évaluation

L’évaluation des acquis se fait tout au long de la session au travers d’ateliers de mise en pratique des notions et concepts abordés pendant la formation.

Méthodes pédagogiques

50 % Théorie / 50 % Pratique

Programme de la formation

Avant de démarrer son application iOS en Swift

  • Le marché en chiffres
  • IOS 10, 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

Atelier :

Guidé par l’animateur, TP avec 1 bouton, 1 Label et 1 TextField pour présenter les différents sujets du chapitre

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
  • Conseils de nommage

Atelier :

Utilisation du Playground pour présenter les différents éléments de syntaxe Swift

Manipulation et stockage des données

  • Gestion de la mémoire
  • Ressources du projet (textes, images, sons, vidéos…)
  • Manipulation de fichiers
  • Particularités des fichiers plist
  • Introduction à CoreData (SQLite)
  • Stockage au format JSON et XML

Atelier :

Intégration de JSON, XML et plist au sein du projet préalable

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 UIAlertView
  • Enchaînement des écrans avec UITabBar, UINavigationBar et UIStoryboardSegue
  • Liste de données avec UITableView
  • Animation des UIViews
  • Expérience Utilisateur enrichie avec UIGestureRecognizer

Atelier :

Début d’un TP sur la gestion d’un Zoo et de ses animaux qui sera enrichi au fur et à mesure des chapitres.
Enchaînement d’un TabBar et d’un Navigation Controller, auquel on ajoute une AlertView, puis une présentation modale.
Swipe to Delete / Pull To Refresh.
Ensuite, à l’aide d’un protocole puis d’une Unwind Segue, présentation des passages de données en avant et en arrière.
Animation avec l’utilisation de UIDynamics et la programmation d’un Tetris.

Applications connectées en Swift

  • Se connecter à un serveur avec une API REST
  • Téléchargement de contenu
  • Problématique
  • 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

Atelier :

Si le participant a un compte, processus de publication, TestFlight. Sinon, démonstration par l’animateur

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, iAd
  • Des frameworks spécialisés : exemples de la géolocalisation avec CoreLocation et UIMapKit et du son avec AVFoundation
  • Migrer une application vers Swift 3.0 et iOS 10

Atelier :

Géolocalisation, MapKit, Geocoding
Utilisation du stockage de données iCloud pour une application
Ajout de son et de vidéo dans l’application
Ajout de l’Apple Watch dans le TP existant depuis 2 chapitres