Blog Quoi de neuf chez Tiime ? Dans les coulisses de la conférence DotSwift 2019

Dans les coulisses de la conférence DotSwift 2019

Sommaire

    Introduction

    Le 28 janvier, le Théâtre de Paris (9e arrondissement), accueillait pour sa 5ème édition l’événement DotSwift 2019 : un ensemble de conférences autour du langage Swift. Grande première pour notre équipe, c’est avec enthousiasme que nous nous sommes aventurés dans l’antre de cette conférence.


    Rétrospective de la conférence DotSwift 2019

    L’après-midi s’est déroulée en trois sessions d’une heure suivies de pauses d’une demi-heure. Ce temps mis à profit a été l’occasion d’aller à la rencontre des autres participants et de découvrir les quelques stands présents (Meetic, Hired, Hiway…)

    À l’ordre du jour de ces sessions :

    • des présentations d’intervenants principaux d’une durée approximative de 15–20mn,
    • des conférences “éclair” d’environ 5 mn.

    Le tout animé par Daniel Steinberg, développeur iOS/iPad, auteur de nombreux ouvrages sur le sujet.

    Les présentations n’étaient pas toutes du même niveau, permettant ainsi de toucher un public allant du développeur novice au sénior aguerri. Faisons un petit tour d’horizon.

    RÉTROSPECTIVE SUR LE CONTENU

    Rétrospective du contenu DotSwift 2019

    Session 1

    Daniel Jalkut — Fondateur de Red Sweater, développeur de MarsEdit, membre actif de la communauté Mac et iOS

    Au travers de sa présentation, il explique la façon dont l’objective-C interagit en permanence avec le langage Swift malgré le fait que nous développons nos applications en full Swift. Il donne ainsi quelques astuces afin de contourner d’éventuels problèmes liés à leurs interactions comme :

    • l’utilisation de bridging pour l’implémentation de fonctions privées,
    • l’utilisation de préfixes afin d’éviter les collisions entre des fonctions Objc et Swift…

    Tweet Dotswift

    Soroush Khanlou — Consultant iOS

    Lorsqu’une classe qui, au départ était toute simple, devient en cours de développement une succession de ligne à n’en plus finir; c’est le moment de se poser et de réfléchir à un moyen de simplifier les choses. C’est ce que nous expose Souroush K. Il présente un moyen de factoriser le code en plusieurs étapes passant par la détection des similitudes, l’abstraction via des protocoles et la mutualisation des comportements communs. L’idée est d’obtenir une découpe du code dans le but de pouvoir le réutiliser facilement et de faciliter la mise en place de tests unitaires.

    Jeff Biggus — Ingénieur spécialisé dans les sciences

    L’univers des sciences est composé d’une multitude de symboles. Lorsque l’on se retrouve à réaliser des opérations mathématiques complexes dans le cadre d’un programme informatique, il peut s’avérer intéressant de pouvoir lire le code telle une formule mathématique. Jeff Biggus nous présente la façon dont Swift rend cela possible grâce à des opérateurs customs et aux caractères unicodes.

    Session 2

    Lightning talks : Charles parnot, Janina Kutyn, Vincent Pradeilles, Jan Kaltoun, Jason Akakpo

    Au cours de ces brèves présentations, des intervenants d’horizons divers ont abordé des sujets variés tels que :

    • l’organisation d’une base de donnée basée sur la séparation de la donnée pure de l’information UI,
    • Marzipan (un framework Apple permettant d’utiliser UIKit pour la réalisation d’app MacOS)
    • les calculs matriciels qui se cachent derrière l’API CATransform3D,
    • l’utilisation des keypaths ou encore l’intégration d’extensions d’applications iOS.

    Mark Dalrymple — Senior UNIX, Mac, iOS developpeur, co-fondateur de CocoaHeads

    Mark D. revient aux fondamentaux et nous explique de façon détaillée ce qui se cache derrière les attributs (@property, @IBAction…) que l’on a souvent l’occasion de voir lorsque l’on développe en Objective-C. Il nous invite à creuser encore plus en profondeur dans les sources afin de comprendre la signification de ces attributs. Typiquement, derrière l’attribut @property se cache la déclaration d’un getter et d’un setter.

    Johannes Weiss — Ingénieur logiciel chez Apple

    Lorsque Swift est arrivé, vendu comme gage de performance, les structures sont devenues un élément incontournable à utiliser. Un développeur est souvent confronté au dilemme de choisir entre une structure ou une classe. C’est précisément ce sujet que Johannes Weiss aborde. Il nous explique que ce combat est finalement plus une problématique de sémantique que de performance. Cependant, il faut rester nuancé car l’idée n’est pas non plus d’abandonner les structures mais plutôt d’évaluer le niveau de complexité du programme (o(n), log(n) …) et de l’optimiser en conséquence.

    Rétrospective de la conférence DotSwift 2019

    Session 3

    Lea Marolt Sonnenschein — Consultante iOS, membre actif de la communauté Raywenderlich

    La tableview est un composant fréquemment utilisé pour présenter des datas. Lea nous donne quelques billes afin de revoir notre façon de l’utiliser. Par exemple, elle nous explique comment simplifier l’appel de certaines fonctions (dequeue, reuse…) en utilisant des protocoles ou encore comment optimiser un code permettant d’afficher des données statiques via une enum. Elle nous invite également à utiliser des vues exploitables aussi bien dans une cellule que dans une vue classique.

    James Dempsey — Vétéran Apple, fondateur de Tapas Software, développeur, professeur

    Cet intervenant a axé sa présentation sur les scripts Swift en soulignant leur simplicité d’écriture. Les principaux avantages qui s’en dégagent sont leur rapidité d’exécution, l’accès facile aux frameworks systèmes et surtout la facilité de prise en main pour un développeur familier avec le langage.

    Tom Doron — Manager chez Apple

    Tom Doron nous expose un tout autre aspect des possibilités de Swift. Il met en avant le côté cross-platform que possède ce langage en nous présentant SwiftNio, un framework d’application réseau de bas niveau réalisé en Swift. Il permet la mise en place d’une architecture client/serveur performante et facilement maintenable.

    CE QUE L’ON RETIENT

    Il y avait plusieurs sujets portant sur le côté générique, la simplification et l’optimisation. Avec Swift, on tend à utiliser les atouts des protocoles, des extensions, des types génériques, de fonctionnalités telles que les keypath afin de structurer au mieux le code. Par ailleurs, plusieurs conférences nous enseignent que Swift se démocratise et s’ouvre à de multiples horizons. Il peut être intéressant pour un développeur de pouvoir utiliser le même langage dans différentes disciplines.

    De l’application mobile au script en passant par la réalisation de serveurs, une infinité de possibilités s’offre désormais aux développeurs utilisant ce langage.

    On retiendra également la clôture de la conférence par une petite prestation musicale de James Dempsey nous interprétant une petite chanson sur le thème des optionnels :).

    CONCLUSION

    La DotSwift met en avant des pointures du monde iOS. Elle nous propose des présentations de qualité sur des thèmes variés avec un niveau de technicité indéniable. Les diverses conférences mettent en relief le fait que le langage Swift ait atteint une sacrée maturité et devient de plus en plus solide. Sa communauté foisonnante a énormément contribué à ce qu’est devenu ce langage plein de promesses.

    Notre petit regret est qu’il n’y avait pas assez de contenu orienté iOS. Nous utilisons Swift au quotidien au sein de nos applications donc nous n’avons pas appris énormément de choses mais quelques points abordés pourraient nous donner des idées d’optimisations de code sur nos projets.