Combinez: programmation asynchrone avec Swift

Online Coding Courses for Kids

Maîtrisez la programmation asynchrone déclarative avec Swift en utilisant le framework Combine!

L’Ă©criture de code asynchrone peut ĂŞtre difficile, avec une variĂ©tĂ© d’interfaces possibles pour reprĂ©senter, exĂ©cuter et consommer un travail asynchrone – dĂ©lĂ©guĂ©s, centre de notification, KVO, fermetures, etc. Jongler avec tous ces diffĂ©rents mĂ©canismes peut ĂŞtre quelque peu Ă©crasant. Est-ce que ça doit vraiment ĂŞtre si difficile? Plus maintenant!

Avec l’introduction par Apple du framework Combine dans la WWDC 2019, il est clair qu’Apple vise Ă  positionner la programmation dĂ©clarative et rĂ©active dans Swift comme un investissement Ă  long terme et un changeur de jeu dans la façon dont les dĂ©veloppeurs exĂ©cutent et composent des pièces de travail asynchrone, ce qui en fait un outil indispensable Ă  votre disposition.

L’introduction de Combine en tant que cadre intĂ©grĂ© dans l’écosystème Apple est une nouvelle prometteuse pour les dĂ©veloppeurs qui s’intĂ©ressaient Ă  des frameworks tels que RxSwift ou ReactiveSwift, mais qui ne voulaient pas les frais gĂ©nĂ©raux d’une dĂ©pendance tierce; et si l’expĂ©rience de l’un ou l’autre de ces Ă©lĂ©ments peut ĂŞtre utile, ce n’est pas une condition prĂ©alable Ă  ce livre. Vous apprendrez tout Ă  partir de zĂ©ro pour devenir un vĂ©ritable maĂ®tre de la moissonneuse-batteuse.

Qu’est-ce que la combinaison?

Combine est le cadre d’Apple pour travailler avec des Ă©vĂ©nements asynchrones d’une manière unifiĂ©e et rĂ©active qui garantit que votre application est toujours Ă  jour en fonction du dernier Ă©tat de ses donnĂ©es.

Quels sont ces Ă©vĂ©nements asynchrones, pourriez-vous demander? Tout ce qui se passe au fil du temps dans votre application peut ĂŞtre reprĂ©sentĂ© par ce que l’on appelle une combinaison Éditeur – requĂŞtes rĂ©seau, entrĂ©es utilisateur, notifications, KVO et bien plus encore. Et comme Combine unifie tous ces diffĂ©rents mĂ©canismes sous une seule interface, cela ouvre la porte Ă  des moyens intĂ©ressants et puissants de composer la logique et de travailler de manière dĂ©clarative et universelle.

Combine est Ă©galement Ă©troitement intĂ©grĂ© dans les SDK d’Apple. Par exemple, le cadre d’interface utilisateur SwiftUI utilise Combine pour garantir que les vues de votre application restent Ă  jour, ce qui fait de Combine un incontournable pour vos compĂ©tences.

Avant que tu commences

Cette section vous indique certaines choses que vous devez savoir avant de commencer, comme ce dont vous aurez besoin pour le matériel et les logiciels, où trouver les fichiers de projet pour ce livre, et plus encore.

Section I: Introduction Ă  Combine

Dans cette partie du livre, vous allez vous familiariser avec les bases de Combine et dĂ©couvrir certains des Ă©lĂ©ments constitutifs qu’il comprend. Vous apprendrez ce que Combine vise Ă  rĂ©soudre et quelles sont certaines des abstractions qu’il fournit pour vous aider Ă  les rĂ©soudre: Ă©diteur, abonnĂ©, abonnement, sujet et bien plus encore.

Une introduction en douceur aux types de problèmes résolus par Combine,
une histoire des racines de la programmation rĂ©active sur les plateformes d’Apple,
et un cours intensif sur les pièces mobiles de base du cadre.


L’essence de Combine est que les Ă©diteurs envoient des valeurs aux abonnĂ©s.
Dans ce chapitre, vous apprendrez tout ce que cela signifie et comment travailler avec les éditeurs et les abonnés, et gérer les abonnements créés entre eux.
Cela vous permettra de commencer sur votre base d’apprentissage des opĂ©rateurs,
créer une application qui crée des collages de photos simples, des tests et du débogage.


Section II: Opérateurs

Si vous considĂ©rez Combine comme une langue, comme la langue anglaise, les opĂ©rateurs sont ses mots. Plus vous connaissez d’opĂ©rateurs, mieux vous pouvez articuler votre intention et la logique de votre application. Les opĂ©rateurs reprĂ©sentent une part importante de l’Ă©cosystème Combine qui vous permet de manipuler les valeurs Ă©mises par les Ă©diteurs en amont de manière significative et logique.

Dans cette section, vous découvrirez la majorité des opérateurs que Combine a à offrir, divisés en groupes utiles: transformation, filtrage, combinaison, manipulation du temps et séquence. Une fois que vous aurez réduit votre opérateur, vous terminerez cette section avec un projet pratique pour mettre en pratique vos connaissances nouvellement acquises.

Avant qu’un abonnĂ© ne reçoive des valeurs d’un Ă©diteur,
vous voudrez souvent manipuler ces valeurs d’une manière ou d’une autre.
L’une des actions les plus courantes que vous souhaiterez faire est de transformer ces valeurs
sous une forme idĂ©ale pour l’abonnĂ©.
Ă€ la fin de ce chapitre, vous transformerez toutes les choses.


Dans ce chapitre, vous découvrirez comment filtrer les éléments des éditeurs Combine,
vous pouvez ainsi contrĂ´ler facilement les valeurs publiĂ©es par l’amont et
ne traitez qu’avec ceux qui vous intĂ©ressent.


Les Ă©diteurs sont extrĂŞmement puissants, mais ils sont encore plus puissants lorsqu’ils sont composĂ©s ensemble!
Ce chapitre vous apprendra les opérateurs de combinaison de Combine qui vous permettent de prendre plusieurs flux et de créer des relations logiques significatives entre eux.


Une grande partie de la programmation asynchrone liée au traitement des valeurs dans le temps,
ce chapitre va dans les dĂ©tails de l’exĂ©cution de tâches temporelles complexes qui seraient difficiles Ă  faire sans Combine.


Quand on y pense, les éditeurs ne sont que des séquences.
En tant que tel, il existe de nombreux opérateurs utiles qui vous permettent de cibler des éléments spécifiques ou de rassembler des informations sur la séquence dans son ensemble, que vous découvrirez dans ce chapitre.


Il est temps d’essayer vos nouvelles compĂ©tences Combine dans un vrai projet et d’apprendre Ă  faire jouer Foundation et UIKit avec votre code rĂ©actif.


Section III: Combiner en action

Vous connaissez désormais la plupart des bases de Combine. Vous avez appris comment fonctionnent les éditeurs, les abonnés et les abonnements et la relation entrelacée entre ces éléments, ainsi que comment vous pouvez utiliser les opérateurs pour manipuler les éditeurs et leurs émissions.

Bien que la théorie soit excellente et certainement utile, la connaissance pratique de la vie réelle est reine!

Cette section est divisĂ©e en cinq mini-chapitres, chacun avec son propre accent sur les approches pratiques pour tirer parti de Combine pour des cas d’utilisation spĂ©cifiques. Vous apprendrez comment tirer parti de Combine pour la mise en rĂ©seau, comment dĂ©boguer vos Ă©diteurs de moissonneuse-batteuse, comment utiliser les minuteries et observer les objets compatibles KVO, ainsi que le fonctionnement des ressources dans Combine.

Pour conclure cette section, vous allez vous salir les mains et crĂ©er une couche rĂ©seau complète soutenue par Combine – quelle excitation!

Ce chapitre vous apprend Ă  intĂ©grer de manière transparente les requĂŞtes rĂ©seau dans les chaĂ®nes d’Ă©diteurs Combine et Ă  rendre votre mise en rĂ©seau plus facile et plus rĂ©siliente.


Le débogage du code asynchrone est notoirement plus difficile que le code linéaire,
Combinez des aides avec quelques outils qui vous aideront grandement à améliorer votre compréhension des processus en jeu.


Une partie de niche de votre code, les minuteries sont toujours utiles
et facile à créer dans Combine, comme vous l’apprendrez dans ce chapitre.


Ce chapitre vous montre comment l’observation des valeurs-clĂ©s, qui Ă©tait historiquement le meilleur moyen d’ĂŞtre averti lorsqu’une valeur change, s’intègre dĂ©sormais parfaitement avec les Ă©diteurs Combine.


Le contrĂ´le prĂ©cis de l’utilisation des ressources est un sujet dĂ©licat, mais ce chapitre mettra en lumière les opĂ©rateurs de partage qui vous permettent de faire exactement cela.


Dans ce chapitre, vous travaillerez sur une API de mise en réseau qui communique en temps réel avec les serveurs Hacker News et en cours de route, vous ferez des exercices en utilisant plusieurs opérateurs et éditeurs dans Foundation.


Section IV: Combinaison avancée

Avec une grande partie des fondations Combine dĂ©jĂ  dans votre ceinture Ă  outils, il est temps d’apprendre certains des concepts et sujets les plus avancĂ©s que Combine a Ă  offrir sur votre chemin vers une vĂ©ritable maĂ®trise.

Vous commencerez par apprendre Ă  utiliser SwiftUI avec Combine pour crĂ©er des expĂ©riences d’interface utilisateur vraiment rĂ©actives et fluides, puis vous apprendrez Ă  gĂ©rer correctement les erreurs dans vos applications Combine. Vous dĂ©couvrirez ensuite les planificateurs, le concept de base qui sous-tend la planification du travail dans diffĂ©rents contextes d’exĂ©cution, et vous expliquerez comment vous pouvez crĂ©er vos propres Ă©diteurs personnalisĂ©s et gĂ©rer la demande des abonnĂ©s en comprenant la contre-pression.

Enfin, avoir une base de code astucieuse est gĂ©nial, mais cela n’aide pas beaucoup si elle n’est pas bien testĂ©e, vous conclurez donc cette section en apprenant Ă  tester correctement votre nouveau code Combine.

SwiftUI est le nouveau paradigme d’interface utilisateur d’Apple et il est conçu pour une interaction avec Combine Ă  un tout autre niveau.
Dans ce chapitre, vous allez travailler sur un projet SwiftUI basé sur Combine.


Ce chapitre prĂ©sente le puissant système d’erreur typĂ© de Combine,
et comment vous pouvez en tirer parti pour gérer les erreurs dans votre application et dans les éditeurs Combine.


Dans ce chapitre, vous découvrirez ce que sont les planificateurs, comment ils sont liés à RunLoops,
Distribuez les files d’attente et les threads et comment Combine Ă©tend Foundation pour s’intĂ©grer Ă  eux.


La création de vos propres éditeurs et opérateurs est un sujet avancé que vous apprendrez à maîtriser dans ce chapitre, tout en apprenant et en expérimentant la gestion de la contre-pression.


Ce chapitre vous présentera les techniques de test unitaire à utiliser avec le code Combine.
Vous passerez des bases des tests dans un terrain de jeu Ă  l’application de ce que vous avez appris en ajoutant des tests Ă  un projet d’application iOS existant.


Section V: Créer une application complète

La maîtrise demande de la pratique, et la pratique vous le fera!

Vous avez traversĂ© tout ce livre, un exploit incroyable par tous les moyens. Il est temps de vraiment consolider les connaissances que vous avez acquises tout au long de ce chapitre et de crĂ©er une application entière Ă  l’aide de Combine et SwiftUI.

Vous avez acquis de précieuses compétences tout au long de ce livre et, dans la dernière section, vous avez également acquis un savoir-faire avancé en matière de Combine.
Dans ce dernier chapitre, la pièce de résistance,
vous allez crĂ©er une application complète qui applique ce que vous avez appris, mais l’apprentissage n’est pas encore terminĂ©! Les donnĂ©es de base dans Combine n’importe qui?


Close Menu