Aller au contenu principal

PLB CONSULTANT : 02. Swift, développer des applications pour iOS. iPhone/iPad

Organisme

PLB CONSULTANT
3-5 RUE MAURICE RAVEL
92300 LEVALLOIS PERRET
Voir toutes ses formationsAutres organismes proposant cette formation

Durée

35 heures

Modalités

Formation
  • Classe virtuelle
  • Présentiel
Évaluation

Travaux pratiques. Auto-évaluation en début et en fin de formation.

Prix

Inter
La formation en Inter est dispensée pour un groupe de salariés d’entreprises différentes.
1470€ HT / personne
Intra
La formation en Intra est dispensée pour un groupe de salariés d’une seule et même entreprise.
6772.5€ HT / groupe
4 stagiaires minimum

Public

Développeurs, chefs de projet, architectes…

Pré-requis

Avoir des connaissances pratiques de la programmation et d'un langage orienté objet (Objective-C, Java, C++, C#).

Objectifs pédagogiques

- Comprendre l’écosystème du développement pour les équipements mobiles d’Apple 

- Utiliser le langage Swift et les différentes API 

- Maîtriser l’architecture d’une application mobile écrite en Swift 

- Optimiser, construire et déployer une application performante 

- Concevoir une interface graphique 

- Echanger des données avec un serveur

Programme détaillé

 

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

Atelier

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

Atelier

Mise en œuvre d’un projet classique pour maîtriser son environnement de développement et les bases syntaxiques (erreurs de compilation, debugger, etc.)

 

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

Atelier

Intégration de JSON 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 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

Atelier

Mise en œuvre des différents composants graphiques présentés ici sous forme de synthèse dans plusieurs vues afin d’aborder également la navigation et le passage de données.

 

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

Atelier

Création d’une application utilisant la géolocalisation par réseau et GPS, récupérant latitude et longitude, utilisant le géocoding et demandant les permissions à l’utilisateur

 

Applications connectées et Web Services en Swift

Introduction au réseau et iOS

Push notifications et protocoles disponibles sous iOS

Architecture GCD et asynchronisme (threading)

Flux JSON, le format

Bonnes pratiques pour accéder au réseau

Le non blocage du thread UI (main thread) avec GCD

Mise en oeuvre, les différentes apis utilisables

Eviter les références cycliques dans les closures d’appels

Contraintes imposées par Apple

Gestion des Web Services en JSON

Atelier

Mise en œuvre de Web Services, consommation de Web Services de façon synchrone et asynchrone. Téléchargement de photos d’un cloud sur internet

 

Distribuer ses applications

Vue d’ensemble du modèle prévu par Apple.

Les différentes modalités de distribution (AppStore, ...)

Le programme de développement Apple

Atelier

Dépôt d’une application sur AppStore

 

Présentation de Swift UI

Grandes différences entre SwiftUI et Interface Builder

Exemple de création de vues

Un petit mot sur la gestion des états et des données partagées

Comment gérer les listes en Swift UI ?

Gestures avec SwiftUI

Atelier

Ce chapitre n’est qu’une présentation rapide des concepts SwiftUI (ils font l’objet d’une formation dédiée) mais nous vous montrons les grandes lignes d’une interface simple rapidement développée en Swift UI

Sessions

Filtrer les résultats
Modalités pédagogiques
Formation synchrone se déroulant avec la présence physique du (des) formateur(s) et du (des) apprenant(s) réunis dans un même lieu de formation.
Formation combinant des séquences en présentiel et des séquences à distance synchrones ou asynchrones.
Formation à distance, asynchrone, s’appuyant sur une plateforme d’apprentissage, pouvant être complétée par d’autres modalités de formation à distance (visio-conférence…)
Formation à distance, synchrone, s’appuyant sur un dispositif de visio-conférence. La classe virtuelle recrée à distance les conditions d’une formation en salle traditionnelle.
Type de formation
La formation en Inter est dispensée pour un groupe de salariés d’entreprises différentes.
La formation en Intra est dispensée pour un groupe de salariés d’une seule et même entreprise.
Options
Les compétences professionnelles visées par la formation sont validées via un test permettant d’obtenir une certification officielle.
Ces sessions ne peuvent être ni annulées ni reportées par l’organisme de formation.