Il y a 3 ans -
Temps de lecture 7 minutes
Retour sur dotSwift 2020
Back to the dotSwift
dotSwift c’est la conférence de début d’année, dédiée à Swift et son écosystème sous-jacent. Démarrée en 2015 et toujours animée par Daniel Steinberg, on y retrouve les habitués, des nouveaux venus, des sponsors, des speakers de toute nationalité.
Cette année c’est une journée entière, contre une demi journée les précédentes éditions. Avouons-le, cela retire le côté condensé, permet de digérer les connaissances transmises par les speakers et de prendre le temps de parler aux habitués tout comme aux nouveaux venus. Bien entendu les sponsors ne sont pas en reste, nous avons eu le plaisir de retrouver quelques têtes habituelles, alors sponsors de la FrenchKit l’année dernière (Oh, au fait, le 5 et 6 octobre, on prévoit cette année une édition encore plus grande, plus belle, plus forte que l’année dernière 😉).
Voyons maintenant ce que l’on a eu au menu :
Guilherme Rambo
Pour commencer la journée, Guilherme revient aux bases : le MVC, avec un gros focus sur le VC. Un peu accusé de tous les maux, notamment d’avoir la fâcheuse habitude de devenir massif, le ViewController reste néanmoins pratique : il peut être utilisé pour modéliser des Flow, faire des container ou encore être bien utile pour les coordinator que l’on retrouve classiquement dans l’architecture MVVM-C. Pourquoi MVC ? C’est aussi l’occasion de rappeler que l’architecture doit coller au besoin et qu’il n’est pas toujours utile d’utiliser une machine de guerre pour écraser une mouche. Au final, l’important n’est-il pas l’expérience que les utilisateurs éprouvent quand ils ont notre produit entre les mains ? C’est le message de Guilherme en tout cas.
Kaya Thomas
Avouons-le, les UI tests ça peut vite devenir bord… être difficile à lire et à maintenir. Qu’à cela ne tienne, Kaya nous explique que ce n’est pas une fatalité. Encore une fois les enum
viennent à la rescousse. En effet, Kaya nous montre, code sur slides, que l’on peut partir d’une implémentation qui ne donne pas clairement l’intention du test à un code beaucoup plus explicite qui, par exemple, vérifie que tel ou tel élément d’une application de conversion de devise est bien présent ou non. Bien entendu, on peut encore aller plus loin avec les fonctions builder…
Tomás Ruiz-López
Nous connaissons tous ces lignes de code dans lesquelles nous créons une tâche avec URLSession.shared
, qui vérifie la réponse, parse et renvoie un tuple type (Objet, Error)
. On peut faire mieux. A l’aide des génériques, de types algébrique comme Either
ou encore avec de l’injection de dépendances, Thomas nous montre comment. Plus généralement, cet exemple est une illustration de ce que l’on peut faire avec Bow, un framework pour faire de la programmation fonctionnelle plus aisément, tout en gardant le typage fort de Swift.
Ishmael Shabazz
Un must-have pour toute conférence pendant un moment à venir : un retour aux sources de SwiftUI et les outils qui gravitent autour (@State
, @Binding
ou encore @EnvironnementObject
). Un très bon récapitulatif de l’existant mais aussi … de ce qui devrait venir pour un hypothétique SwiftUI 2 en juin. En attendant, il est toujours possible de faire co-éxister du code UIKit et SwiftUI, notamment avec les UIHostingController
ou encore le protocole UIViewRepresentable
.
Lightnings talks
Thomas Ricouard |
Denis Poifol |
Devlin Duldulao |
![]() |
![]() |
![]() |
Trois sessions cette année, dont deux anciens participants de la FrenchKit: Thomas Ricouard qui reprend son sujet du moment: SwiftUI avec Redux, superbement illustré avec son application MovieSwiftUI et son mini-framework SwiftUIFlux; ainsi que Denis Poifol qui nous explique quand utiliser ses propres protocoles et des notions avancées tel que le type erasure. Enfin Delvin, nous explique comment utiliser Sign in with Apple qui, pour certaines applications, va devenir obligatoire d’ici avril.
Pavel Zak
Comment ajouter du “juice” à nos animations avec SwiftUI ? Pavel y répond avec brio ! Il nous présente tout d’abord le “why” des animations, afin de répondre aux “4 critères de awesomeness” pour créer une application digne de ce nom et zoom sur la partie “sexyness”, fortement liée aux animations. Et pour le “how”, Pavel part sur l’animation de trois carré, au début plutôt basique puis de plus en plus évolué avec du scaling, des translations et du damping. Enfin, partant de cet exemple, il expose un panorama d’outils tous plus utiles les uns que les autres, tel que GeometryEffect ou encore les animatable modifier/data. Le mot de la fin ? Plutôt une vidéo impressionnante mêlant son et animations, le tout en SwiftUI. Ca vaut le coup d’oeil.
Tim Condon
Son meilleur ami pour la vie, le BFF (Backend For Frontend). En effet, on connait tous cette API, usine à gaz, qui fait tout mais surtout n’importe quoi. Ou encore ces API, bien structurées mais découpées en plusieurs endpoint. Ces deux problèmes ont une solution commune, vous l’aurez compris: le BFF. Et en tant que développeur iOS, pourquoi pas en Swift ? Cela ne semble pas faire peur à cette équipier de la team Wenderlich, section Server Side Swift !
Vincent pradeilles
Vincent Pradeilles revient sur scène avec des conseils très pragmatiques sur le code au quotidien: en partant de l’asynchronisme avec le fameux block de completion, il montre comment éviter la dance du guard let et la “weak capture hell” avec des notions comme la programmation fonctionnelle et les fonctions “first class citizen” de Swift. C’est ainsi que l’on peut créer des pseudo mot clef tel que strongify ou encore debounce pour appliquer cela à des closures sans sacrifier la lisiblité du code. Enfin, en 2020, on peut encore faire mieux avec …. les property wrappers !
Tobias Due Munk
Certains viennent avec un jeu de slides, d’autres… avec une app ! Quoi de mieux pour une présentation focalisée sur SwiftUI ? Dans cette présentation Tobias nous montre comment prototyper une application type “decibelmètre” dont le design pourrait rivaliser avec les applications Apple elles-même.
Donny Wals
Autre sujet récent et récurrent, encore peu vu jusqu’à son talk : Combine. Donny nous donne un aperçu du fonctionnement de Combine en utilisant une approche pragmatique : là où il s’est heurté à un mur, il nous explique pourquoi et quelle solution apporter en creusant dans les fondements même du framework.
Erica Sadun
Avec beaucoup de légèreté et d’énergie, Erica Sadun nous présente comment utiliser les property wrappers et nous explique à quel point ils sont importants pour ajouter des contraintes spécifiques dès la déclaration d’une variable, pour rendre l’intention plus explicite, plutôt qu’à l’utilisation, qui est plus sujette à l’erreur.
Cory Benfield
Plutôt inattendue, Cory Benfield a fait, avec d’autres collègues de par le monde, une annonce live de SwiftCrypto, une nouvelle bibliothèque s’appuyant sur CryptoKit. Il montre quelques différents use-case après être revenu sur les intentions d’une telle lib de cryptographie (la rendre accessible, entre autres).
We’ll definitely be back
Encore une belle édition pour la dotSwift qui s’appuie sur une belle line-up et des sujets divers et variés, allant de l’architecture à la UI, en passant encore sur certains éléments de langage propres à Swift. Cette année, ce qui m’a marqué est le focus tout particulier sur les nouveautés marquantes de la WWDC 2019, on pouvait s’y attendre, il reste encore beaucoup à apprendre là dessus. Mais aussi et surtout, cette année a été marquée par la mise en place de talks très pragmatiques et activables rapidement, très peu de contenu “inspirationnel” ou plus haut niveau. Cela ravira très certainement la plupart des développeurs toujours soucieux d’améliorer le produit sur lesquels ils travaillent, dès le lendemain.
Côté organisation, le standard de qualité est toujours plus élevé, avec un emaplcement très sympa en plein coeur de Paris, un théâtre très agréable pour les yeux mais aussi une qualité d’accueil très professionnelle, de l’arrivée à la pause déjeuner, jusqu’à l’évènement de fin de journée, que j’aurais tout de même espéré un peu plus conviviale et animé.
C’est un très bel évènement, qui nous met la barre haute pour la prochaine édition de FrenchKit !
PS
Au fait, les vidéos sont disponibles sur le site officiel.
Commentaire