Formation Combine + Concurrence Swift avec John Sundell

Cette formation est donnée 100% à distance

Mise à jour le 24 novembre 2021, 15:41

Rejoignez John Sundell, créateur de Swift by Sundell, pour une formation d'une journée sur la programmation concurrente en Swift, dont le nouveau système de gestion de la concurrence, la syntaxe async/await, et le framework Combine d'Apple.

Apprenez les principes de base de Combine, de la concurrence Swift, et de divers paradigmes de programmation réactive et asynchrone. Comment créer des pipelines de données de plus en plus complexes, comment effectuer des tâches courantes telles que des opérations de base de données ou des appels réseau avec Combine ou async/await, et comment concevoir et tester divers types de code asynchrone.

L’objectif de cette formation est de vous préparer à l’utilisation de Combine et les mécanismes intégrés de concurrence dans Swift pour créer des applications pour iOS et pour les autres plateformes d’Apple. Il est principalement conçu pour les développeurs ayant peu ou pas d'expérience avec Combine ou d'autres frameworks de programmation réactive (y compris ReactiveCocoa ou RxSwift), et couvrira à la fois les techniques de base et les concepts avancés.

Si vous aimez le site web, les podcasts et vidéos de Swift by Sundell, vous allez adorer cette formation !

Cette formation est organisée par Swift Paris Trainings (aka Greg Lhotellier) en partenariat avec Delicious Insights.

  • Expert de renommée mondiale
  • Nombreux projets pratiques
  • État de l’art de la technologie
  • Meilleures pratiques récentes

Objectifs

La formation Combine + Concurrence Swift avec John Sundell vise à permettre aux apprenant·e·s de :

  • Se familiariser avec les différentes API et opérateurs de Combine
  • Comprendre les principes de base de la création de pipelines Combine, en se concentrant sur des cas d'utilisation spécifiques à iOS.
  • Utiliser Combine pour résoudre des problèmes asynchrones courants, tels que l'écriture de code concurrent, l'orchestration d'opérations de base de données, l'observation d'événements ou l'exécution d'appels réseau.
  • Créer et architecturer des flux de données robustes à l'aide de Combine, de plusieurs façons.
  • Comprendre les relations entre async/await et Combine, et en quoi consiste la gestion native de la concurrence par Swift.
  • Explorer le nouveau système de concurrence de Swift, y compris les acteurs, la concurrence structurée et les séquences asynchrones.
  • Associer Combine et async/await dans une appli, et rendre ces technologies interopérables avec le code asynchrone existant.

Public visé

La formation a lieu intégralement en anglais ; une compréhension suffisante de l’anglais oral est donc nécessaire.

Les apprenant·e·s doivent par ailleurs déjà avoir au moins 2 ans d’expérience en développement d’applis iOS avec Swift, SwiftUI ou UIKit, et dans l’utilisation basique de Git et des outils de ligne de commande. En particulier, la formation ne s’adresse pas aux débutants, mais à des personnes ayant déjà une expérience professionnelle de développement d’applis avec Swift sur iOS. Elle ne convient pas non plus aux personnes ayant beaucoup d'expérience avec RxSwift ou ReactiveCocoa, car une grande partie de la formation couvrira des concepts de programmation réactive très similaires.

Pré-requis

Cette formation n'a pas de pré-requis (acquis exigés contrôlables par tests, diplômes, certifications…).

Programme

  1. Combine

    • Introduction à la programmation réactive et ses concepts-clés
    • Aperçu de l’API de Combine, dont les Publishers & Subscribers, Subjects et opérateurs
    • Construction de pipelines de données à l’aide des opérateurs et publishers
    • Associer Combine à du code à base de closures
    • Refactoriser l’existant à l’aide de Combine
    • Utiliser du code concurrent multi-thread avec Combine
    • Intégrer Combine avec UIKit et SwiftUI au moyen de ObservableObject et @Published
    • Tests unitaires de code Combine
  2. Concurrence Swift

    • Introduction à async/await.
    • Concurrence structurée et exécution parallèle de tâches asynchrones multiples.
    • Utiliser des flux et séquences asynchrones, avec ou sans Combine.
    • Utiliser les acteurs pour résoudre les conflits temporels et structurer les systèmes concurrents.
    • Associer Combine, async/await et du code à base de closures.
    • Tests unitaires de code basé async/await.

Un p'tit document ?

Imprimer ou télécharger en PDF le programme et les infos

Moyens pédagogiques & techniques

  • Toutes nos formations sont synchrones, y compris les sessions distancielles : on est « en direct », pas sur la base de vidéos pré-enregistrées.
  • Nous n'envisageons pas pour le moment de proposer à nouveau des sessions inter-entreprises présentielles avant, au plus tôt, le 1er avril 2022.
  • Un riche support de cours est fourni, qui sert de fil conducteur. Il contient généralement une présentation (diapos) détaillée et des supports de départ dédiés pour chaque partie pratique.
  • Les apprenant·e·s peuvent poser leurs questions à tout moment.
  • Les sessions alternent théorie et pratique par intervalles courts (de 5 minutes à 1 heure)
  • Les parties pratiques reposent sur des mises en situation concrètes (ex. code source de départ, dépôt Git de départ, exercice en ligne avec énoncé et documentation, etc.)
  • Les parties pratiques sont réalisées soit en individuel, soit en sous-groupes susceptibles de varier d'un exercice à l'autre, afin de tirer parti du pair programming et mettre en avant la collaboration.
  • Les sessions distancielles utilisent une réunion périodique Zoom accessible via le client installable ou le client pur web (sans installation ni privilèges spécifiques). Elles tirent parti notamment des fonctionnalités de vignettes vidéo, partage d'écran, de discussions, de la découpe en sous-salles et potentiellement des quizzes et annotations / tableaux blancs.
  • Les sessions durent une journée de 7h de cours.
  • Les horaires sont de 9h30 à 12h30 et de 14h à 18h.
  • Chaque apprenant·e utilise son propre poste de travail ou ordinateur portable.
  • Le poste de travail utilisé par l’apprenant·e doit être un Macbook capable d’exécuter les outils de développement Apple avec un niveau de performance raisonnable, avec la dernière version de Xcode (hors bêta) installée.
  • Les formations vont de 5 à 10 apprenant·e·s.

Moyens d’évaluation et de suivi

  • Chaque demi-journée de formation fait l'objet d'un émargement (numérique ou papier). Pour les sessions distancielles, si un·e apprenant·e ne fournit pas son émargement complet dans les temps, les journaux de connexion Zoom feront foi.
  • Chaque première période dans la journée commence par le « debrief » : pendant environ une demi-heure, on fait collectivement ré-émerger les connaissances abordées pour la première fois lors de la journée précédente, afin de remettre tout le monde « dans le bain », de consolider la compréhension et de renforcer l'entente de groupe.
  • Tout au long de la formation, la validation des acquis se fait par la réalisation réussie des parties pratiques (exercices, mini-projets, labos, mises en situation diverses, etc.). Des quiz interactifs complètent parfois la mise en pratique. Le formateur / la formatrice reste disponible pour toute question ou tout point de blocage durant les parties pratiques.
  • Si un·e apprenant·e manifeste une difficulté, le formateur ou la formatrice peut choisir de l'accompagner spécifiquement sur son poste de travail le temps nécessaire, y compris lors de sessions distancielles grâce aux fonctionnalités dédiées de Zoom (assistance individuelle / one-to-one).
  • À l'issue de la session, chaque apprenant·e peut recevoir son attestation de fin de formation (sur demande), et pour les sessions distancielles, nous émettons un certificat de réalisation proforma, utile notamment pour la prise en charge par un financeur tiers (ex. OPCO).
  • Une fois la formation terminée, chaque apprenant·e reçoit un lien vers un questionnaire d'évaluation à chaud, qui lui permet notamment d'exprimer son ressenti sur l'atteinte (effective ou à court terme) des objectifs de la formation.

Les apprenant·e·s reçoivent, à chaque début de période, un accès :

  • aux diapositives du support de cours au format web, afin de pouvoir faciliter leur suivi.

Après la session, ils·elles reçoivent par ailleurs :

  • un e-mail de debrief très fourni et riche en ressources,
  • une archive de référence, contenant les éléments de code finalisés, les slides de toute la formation et diverses ressources complémentaires.

L’évaluation des acquis se fait en cours de formation, au moyen de la réussite des exercices interactifs.

Formateur

John Sundell

John Sundell

John Sundell est le créateur de Swift by Sundell. Depuis 2017, il a aidé plus d’un million de développeurs à améliorer leurs compétences au travers de plus de 500 articles et épisodes de podcast en accès libres, ainsi qu’en intervenant dans de nombreuses conférences techniques de premier plan dans le monde entier.

Avec plus d’une décennie d’expérience professionnelle en développement logiciel, pour des grands comptes tels que Volvo et Spotify, il intervient désormais au sein de plusieurs équipes de toutes tailles pour les aider à monter en compétence, améliorer leur code et les produits qu’elles livrent.

Ses objectifs restent d’aider les communautés de développeurs Swift et iOS autant qu’il le peut, de partager ses retours d’expériences en développement de logiciels et applis, et d’aider les autres à tirer meilleur parti de leur travail de développement.

Prochaines sessions

(Sauf indication contraire, chaque date dispose d’au moins 4 places encore libres)

Tarifs

Vous inscrivezTarif unitaire
1 à 2 apprenant·e·s900 € HT
3 à 4 apprenant·e·s750 € HT
5+ apprenant·e·s600 € HT

(Les éventuelles promotions en cours ne sont pas reflétées ici, mais seront automatiquement appliquées lors de votre demande de convention.)

Financez tout ça grâce au FNE formation étendu !

Besoins matériels et logiciels

  • Disposer d'un ordinateur de performance suffisante (à fournir pour du présentiel intra)
  • En distanciel, cet ordinateur doit être équipé d'une webcam, d'un micro et d'une sortie audio
  • En distanciel, disposer d'une connexion internet avec un débit minimal descendant/montant de 1Mbps, et idéalement au moins 5Mbps.
  • En distanciel, pouvoir exécuter Zoom, soit en tant que logiciel installé, soit via le client 100% web. Le bon fonctionnement du client installé peut être testé ici.

Chaque apprenant·e doit par ailleurs venir avec :

  • Un Macbook capable d’exécuter les outils de développement Apple avec un niveau de performance raisonnable.
  • La dernière version de Xcode (hors bêta) installée.

Modalités d’inscription et délais d’accès

Quel que soit le type de session que vous visez (intra- ou inter-entreprises, distanciel ou présentiel), la demande initiale (de devis, de convention…) se fait en ligne sur la page de la formation souhaitée. Vous trouverez ci-avant des liens de demande de convention pour chaque session inter-entreprises ayant de la disponibilité, un bouton de demande de proposition pour une session intra-entreprise, et pour toute autre question, un bouton de contact plus bas sur cette page. Les formulaires en ligne sont à privilégier car ils accélèrent le traitement en évitant la multiplication des échanges e-mails afin d'obtenir l'ensemble des informations nécessaires.

Pour une session inter-entreprise déjà planifiée, nous répondons aux demandes de devis et conventions de formation (qui valent devis) dans un délai maximum de 48h ouvrées (et le plus souvent, en quelques minutes). Pour des sessions intra-entreprise, nous vous recontactons en général sous 72h ouvrées pour affiner votre besoin et vous préparer une proposition adaptée au mieux.

Les e-mails fournissant les devis et conventions de formation, ainsi que les pages de nos formations, fournissent un lien vers un questionnaire en ligne de positionnement des apprenant·e·s : ces informations doivent nous parvenir au plus tôt, idéalement avant signature, afin que nous puissions valider la bonne adéquation de la prestation à son public.

Les convocations partent par e-mail au plus tard 7 jours avant le début de la session, date à laquelle la décision éventuelle d'annulation (typiquement en raison d'un quorum de participants non-atteint pour de l'inter-entreprises) est prononcée. Si la session est confirmée avant ce délai, et à votre demande, nous pouvons vous envoyer les convocations plus tôt.

Pour une session inter-entreprise, il est possible de s'inscrire en ligne (demande de convention et renvoi par e-mail de la convention signée) jusqu'à la veille du début de la session, sous réserve que la disponibilité demeure. Si le délai nominal d'envoi de convocation est déjà passé, celle-ci est envoyée immédiatement à réception de la convention signée.

Toutefois, dans le cas d'un client particulier (personne physique), les délais légaux de rétractation peuvent exiger une contractualisation suffisamment en amont de la session. Ces délais sont de 10 jours calendaires pour une session présentielle, et 14 jours calendaires pour une distancielle. Afin de permettre une inscription de dernière minute aux clients personnes physiques, celles-ci ont la possibilité de renoncer explicitement à leur droit de rétractation lors d'une demande de convention en ligne tardive.

En cas de subrogation de paiement (OPCO, Pôle Emploi, Région, UE, etc.) il est impératif que nous recevions l'accord de financement avant le dernier jour de la formation. En cas de financement refusé ou partiel, le client est redevable de plein droit du reliquat de prise en charge.

Vous pourrez retrouver toutes les informations sur les modalités d’inscription et de paiement, l’annulation et le remboursement dans nos Conditions Générales de Vente.

Avis & Satisfaction

  • 6 apprenant·e·s
  • 6 avis
  • 94% de taux de satisfaction en Pédagogie
  • 100% de taux de satisfaction en Expertise
  • 91% de taux de satisfaction en Moyens

Accueil PSH / PBS

La loi du 5 septembre 2018 pour la « liberté de choisir son avenir professionnel » a pour objectif de faciliter l’accès à l’emploi des personnes en situation de handicap.

Notre organisme a à cœur de donner à tou·te·s les mêmes chances d’accéder à (ou de se maintenir dans) l’emploi.

Nous pouvons adapter certaines de nos modalités de formation : pour cela, étudions ensemble vos besoins.

N’hésitez pas à contacter notre Référent Handicap, Christophe Porteneuve, par e-mail ou téléphone.

N’hésitez pas à contacter notre Référent Handicap, Christophe Porteneuve, par e-mail à handicap@delicious-insights.com ou téléphone au 06 62 05 96 56.

Une question, une angoisse ?

Détendez-vous, on a sûrement des réponses pour vous rassurer et éclaircir les choses. Alors parlons-en !

Contactez-nous

Contactez-nous par e-mail à contact@delicious-insights.com ou téléphone au 06 62 05 96 56.

Témoignages

  • Que ce soit pour découvrir la programmation réactive ou se mettre à niveau avec Combine, cet atelier est au top, pour tout niveaux et avec l’un des meilleurs créateurs de contenus pour développeur iOS actuel : John Sundell.

    David Yang – InsideApp