Retour sur la conférence DotSwift 2018

Dot Swift - Débrief

Le 29 janvier 2018 a eu lieu la quatrième édition de la conférence DotSwift au théâtre de Paris. Comptant parmi l’une des plus importantes conférences Swift européennes, DotSwift est destinée aux développeurs Apple et à tous ceux qui s’intéressent à ce domaine.

L’évènement s’est déroulé sur trois jours : une journée entièrement dédiée aux conférences et les deux autres furent consacrés à des trainings. Nos impressions sur l’évènement sont plus que positives et nous allons faire le point sur ce que nous avons pu voir sur place.

Premier jour

L’ambiance était prometteuse, l’organisation sans faille. Rien ne leur a échappé. File d’attente, récupération des badges, stickers, nous sommes prêts avec Mehdi pour des talks inspirants et des trainings passionnants !

dotSwift 2018 - 1

La conférence était animée par Daniel Steinberg (LinkedIn / Twitter) le célèbre fondateur de Dim Sum Thinking. Un passionné d’iOS qui a rédigé plusieurs livres et tutoriels. Il a même organisé des conférences et sessions de formation sur iOS 11 et Swift 4.

Le concept de la conférence se rapproche énormément des TEDs. Chaque speaker avait un temps moyen de 18 minutes pour présenter un sujet et puis Steinberg enchaînait avec des petites sessions de questions-réponses.

dotSwift 2018 - 2

Le programme :

Les sujets gravitaient essentiellement autour de la programmation fonctionnelle.

Voici une liste non exhaustive des sujets abordés :

Il y a également eu quelques brèves interventions comme :

  • How to turn an onion into a snake? (@greg3z)
  • How to make a successful ARKit app? (@OsFalmer)
  • Supporting Objective-C in a Swift codebase (@guydaher)
  • Binary Frameworks in Swift (@steipete)

Functional Programming

L’une des particularités de la programmation fonctionnelle est l’immutabilité (désolé Monsieur Pivot, on ne dit jamais immuabilité en code, pardon). Les objets ne risquent pas de changer à cause de certains effets de bord. Son utilisation est rendue plus simple et plus générique grâce à l’utilisation des higher-order functions du type map, flatMap.

Graham Lee, Software architecte chez Wealth Wizards, a fait un talk orienté technique sur ce sujet dans lequel, on a découvert comment transformer des objets mutables en immutables. Par ailleurs, sa collection de Playground sur son git explique bien sa vision sur ce sujet.

On a ensuite enchaîné avec un speaker connu principalement pour son ouvrage “Hacking with Swift”, Paul Hudson.

Son talk particulièrement dynamique a mis le feu à la salle. Il n’a pas hésité à faire des analogies entre la crue de la seine, les pots de Nutella et la programmation fonctionnelle.

Ce que l’on a retenu de sa présentation sont les avantages de la programmation fonctionnelle et plus particulièrement ceux procurés par l’utilisation des map(), flatMap(), filter() et reduce().

La différence entre les maps() et les flatMap() lors de la transformation des objets Optionals. Par exemple, le fait que les paramètres nil sont ignorés par les flatmap() contrairement au map().

D’autre part, il faut se méfier et éviter les résultats en double Optional, lors de l’application de la fonction map() sur des objets Optional.

dotSwift 2018 - 3

Voici un lien présentant son talk plus en détail.

Accessibility

Sally Shepard, évangéliste Accessibility, a abordé les “best practices” lors du développement d’une application mobile, watch…

On a eu droit à un retour d’expérience intéressant concernant les fonctionnalités d’accessibilité dans iOS. Ayant été affectée par ce genre de problème, elle se dédie aujourd’hui à trouver des solutions aux problématiques d’accessibilité.

C’est toujours intéressant de nous rappeler les bonnes pratiques à mettre en place afin de développer une application exploitable par une majorité de personnes !

Vous trouverez des détails sur l’utilisation du kit d’accessibilité sur Inclusive Toolkit: tools for iOS & OS X app accessibility.

The Coordinator

Avec Ben Scheirman Screencaster, nous avons étudié les patterns d’iOS et distingué un nouveau modèle : le ‘coordinator’. Un modèle très utile, où chaque objet a son propre rôle.

Pour faciliter les tests et l’amélioration des contrôleurs, la solution de Ben Scheirmanen est très avantageuse car elle consiste à implémenter la logique du Navigation Controller dans la “Class Coordinator”, ce qui a pour but d’avoir un ViewControllers complètement indépendant.

Protocol Oriented Programming

Nous avons également assisté à une présentation technique de la part de Ellen Shapiro. Un récapitulatif sur les avantages et les inconvénients des usages de la programmation orientée protocole. Sous forme d’un petit exercice à l’oral, nous avons également traité les différentes utilisations des Extending Protocols avec le (Where Self).

Finally

La clôture de la conférence Dotswift par un membre de l’équipe Swift Core d’Apple était une parfaite réussite. Ben Cohen a mis en avant la library open source standard de Swift.

On voit clairement qu’Apple a changé sa politique en envoyant ses développeurs dans un évènement communautaire en Europe. On sait aussi qu’ils ont besoin de la communauté des développeurs iOS pour contribuer à l’évolution et l’amélioration de Swift.

Ce qui est important à retenir dans le talk de Ben, c’est les bonnes pratiques à suivre afin de rendre un code à la fois performant et accepté par le process d’acceptance d’Apple. Mais également les choses à éviter lors du développement. Bonne nouvelle, vous pouvez regarder ce talk sur YouTube.

Deuxième et troisième jours

Nous avons consacré les deux jours suivants à une formation de sur le langage Swift par Daniel Steinberg.

Le premier jour, le programme était léger. Nous avons fait un tour d’horizon sur le langage Swift, quelques exercices de base. Un peu classique ! On a appris à maîtriser les Types et les protocoles.

Les échanges sur les bonnes pratiques étaient intéressants, comme l’utilisation des opérateurs personnalisés avec les “infix operator” et les “precedence groups” (pour avoir plus d’idées sur les customs operator, voir ce lien).

Le dernier jour, la formation était plus pointue, plus technique. Le sujet se portait essentiellement sur la programmation fonctionnelle.

Daniel reprenait les sujets abordés lors de la conférence. On a traité chaque fonction très précisément : depuis la manière dont chacune s’exécute puis en terminant par une implémentation générique.

La formation a porté sur ces points :

Tous les exemples du training sont disponibles sur Github.

À noter : dans l’évolution de Swift, à partir de Swift 4.1, flatMap () a été renommée compactMap ().

Nous remercions l’équipe DotSwift pour ces 3 jours très instructifs et enrichissants !

Rendez-vous l’année prochaine pour ceux qui souhaitent parfaire leurs connaissances en Swift ou tout simplement découvrir ce langage. Et pour tous ceux qui, comme moi, s’impatientent de la sortie de Swift 5.0, je vous invite à consulter le fichier README.md du repository Swift-evolution pour avoir une idée sur des améliorations qui se préparent.

Vous aimerez aussi...