dotswift 2020
< < Articles

Retour de la conférence dotSwift par nos Ingénieurs mobile Jean-Felix Tran et Baptiste Cadoux

24/02/2020

Le 3 février se sont réunis à Paris de nombreux développeurs iOS et Mac du monde entier pour assister à la conférence dotSwift. Cet événement, très apprécié par les professionnels de l’univers Swift, a proposé un large choix de conférences, démonstrations techniques, retours d’expériences et présentations des nouveautés.

Swift est un langage de programmation. Rendu public en 2014 par Apple, son développement a été initialisé par Chris Lattner. Le langage est devenu open source en début 2015, et est rapidement devenu le langage mainstream utilisé par les développeurs pour les plateformes Apple (remplaçant petit à petit l’obj-c).

Cette 6e édition a accueilli de nouveau Daniel Steinberg, développeur d’applications pour iPad et iPhone, mais aussi d’autres speakers de renoms tels que Cory Benfield, Senior Software Engineer chez Apple, Guilherme Rambo, App developer ou encore Kaya Thomas, iOS Engineer chez Calm.com.

Nos Ingénieurs mobile, Jean-Felix Tran et Baptiste Cadoux ont eu la chance de participer à l’événement pour parfaire leurs connaissances. Voici leur retour :

Quelle était l’ambiance à dotSwift ?

Jean-Felix : Cela fait plusieurs années que j’ai l’opportunité d’assister à la dotSwift et cette édition 2020 a été la première à se dérouler sur une journée complète, au lieu de l’après-midi habituel. Cela illustre l’engouement du public pour un événement hébergé en France et qui s’agrandit chaque année.

L’ensemble des speakers ont présenté un large éventail de sujets couvrant l’ensemble de la techno Swift : les problématiques Swift server, le Design Architecture, les paradigmes ou encore la couche visuelle SwiftUI vue sous différents angles. D’autres conférences complémentaires touchant aux bonnes pratiques sur les tests et à l’évolution du langage nous ont été présentées.

La journée s’est clôturée par l’annonce de SwiftCrypto, un nouveau projet open source d’Apple offrant une simplification de la gestion des problématiques de cryptographies en Swift : https://swift.org/blog/crypto/

Baptiste : Pour moi c’était ma première année à la dotSwift et surtout ma première conférence tout court et j’ai beaucoup apprécié l’ambiance qu’il y avait. Les speakers ont fait des discours très intéressants et ont su être captivants sur des sujets que je ne connaissais que très peu, voire pas du tout.

Quel est votre top 3 de vos conférences préférées ? Pouvez-vous nous les résumer ?

Jean-Felix : Parmi les présentations, voici celles qui m’ont marquées, par ordre chronologique :

1/ “MVC: Many View Controllers” par Guilherme Rambo

J’ai découvert Guilherme Rambo en lisant des articles au sujet du reverse engineering Apple sur 9to5mac, mais également sur Stacktrace podcast, podcast hebdomadaire sur le développement de logiciels, l'actualité d'Apple et les aspects techniques, réalisé en collaboration avec John Sundell.

Il nous arrive souvent d'avoir des réflexions liées à l'industrialisation, à la réalisation d’un ou plusieurs projets, avec des équipes plus ou moins importantes. Cette présentation nous amène à des réflexions autour des architectures et segmentations projet qui tendent vers la Clean Architecture, des problématiques de qualité, "réusabilité" du code.

Lors de sa présentation, il nous montre que des concepts qu’on a tendance à expliciter en Clean Architecture peuvent être appliqués dans un contexte MVC (Model View Controller) si l’on creuse et exploite plus en détail les features proposées au sein de l’existant Apple. Dans le Design Architecture, on évoque souvent le principe de KISS (Keep It Simple Stupid). Ici, Guilherme Rambo illustre comment tirer le meilleur parti d'une architecture MVC controversée dernièrement et très souvent critiquée en Massive View Controller.

Retrouvez sa présentation juste ici : https://github.com/insidegui/mvcwithsugar/blob/master/MVCWithSugar.pdf

2/ “Prototyping Custom UI in SwiftUI” par Tobias Due Munk

Le second sujet qui m'a interpellé est celui de Tobias Due Munk, qui expose comment faire un prototype en SwiftUI. SwiftUI étant la dernière innovation Apple permettant aux développeurs d'implémenter l'interface utilisateur d'une app. Il n'aurait pas mieux illustré le propos qu'en faisant une démonstration pas à pas en live coding. Un talk ludique se finissant sur les applaudissements du public.

Retrouvez sa présentation juste ici : https://duemunk.dk/talks/2020-01-03_Prototyping-Custom-UI-in-SwiftUI_dotSwift.pdf

3/ “Cryptography in Swift” par Cory Benfield Cryptography

Enfin, le troisième sujet qui m'a personnellement intéressé est l'annonce de SwiftCrypto par Cory Benfield. D'une part, par le fait que celui-ci soit lié à la sécurisation des données et d'autre part, par le fait qu'il soit en open source.

L'open source ouvre la possibilité d'usage sous Linux et implique l'ouverture au cross-platform. Son avantage est, qu'en plus des standards, il supporte spécifiquement l'environnement proposé par Apple avec une mention "secure enclave". Ce qu'il faut retenir c'est que SwiftCrypto est ouvert à contribution (chaque proposition sera sévèrement cadrée, il faudra bien lire les guidelines) et n'implémente pas de solutions jugées "très spécifiques" liées à un hardware.

Retrouvez sa conférence en vidéo juste ici : https://www.dotconferences.com/2020/02/cory-benfield-cryptography-in-swift

Mentions spéciales tout de même à Erica Sadun pour son retour d'expérience sur sa contribution au développement du langage Swift, et à Vincent Pradeilles qui explique la mise en œuvre de pseudo-mots-clés par la programmation fonctionnelle.

Baptiste : Durant cette journée, nous avons eu le droit à de nombreuses présentations sur une multitude de sujets très intéressants, mais j’ai surtout apprécié les deux suivantes :

1/ Comme Jean-Felix, la conférence de Tobias Due Munk (“Prototyping Custom UI in SwiftUI”) m’a marqué. Il nous a présenté un prototype en SwiftUI, la dernière innovation d’Apple, qui permet de développer des interfaces utilisateurs beaucoup plus facilement et surtout d’avoir un rendu en temps réel. Cela nous a permis d’avoir un aperçu de ce qu’il est possible de faire avec cet outil, bien qu’il soit encore tout nouveau et encore assez limité sur certains points.

2/ Ensuite, j’ai beaucoup appris de la conférence de Kaya Thomas, “Swift Techniques for Testing” qui a abordé les tests unitaires. Sa conférence était très axée sur “comment rendre plus facile l’écriture des tests unitaires” ainsi que sa compréhension, entre autres grâce aux « function builders » qui permettent de regrouper les tests dont on attend le même résultat dans une même fonction plus lisible.

Retrouvez sa présentation juste ici : https://speakerdeck.com/kmt901/swift-techniques-for-testing

Comment allez-vous mettre à profit ce que vous avez appris pendant cette journée ?

Jean-Felix : Ces présentations permettent de conforter les choix techniques sur lesquels on souhaite se positionner au sein d’ekino. De plus, cela permet de monter en compétence sur les présentations et ateliers en interne.

Baptiste : Personnellement, la conférence sur les tests unitaires va beaucoup m’aider à en créer plus facilement de manière plus compréhensible et surtout à factoriser tout cela parce qu’on se retrouve souvent avec les mêmes choses à déclarer lorsque l’on commence de nouveaux tests.

D’un point de vue global, cela va nous permettre de mieux savoir où et quand nous allons pouvoir mettre en place les dernières grosses nouveautés d’Apple, SwiftUI et Combine.

Un dernier mot ?

Jean-Felix : A L'année prochaine (je l'espère !)

Baptiste : Vive le Swift !