Retour sur dotSwift 2015


Aaaah je l’attendais avec impatience cette conférence dotSwift !
Imaginez le théâtre des variétés dédié à Swift, ce lieu historique et sublime accueillait en effet la première conférence du genre en France car s’il y a eu un évènement majeur dans le monde de la Pomme en 2014 ce fût la révélation de ce nouveau langage de programmation pour OSX et iOS.

Personnellement, j’ai tout de suite adhéré aux paradigmes proposés par Swift car c’était reprendre le meilleur de ce qui existe ailleurs pour le développeur :
O-O, fonctionnel, typage fort & inférence de type, génériques, optionnels…

Swïftdinger


Ah oui d’ailleurs, les Optionals ont apparemment chamboulé l’esprit de beaucoup de gens puisque c’est Dimitri Dupuis-Latour (@dupuislatour), ancien ingénieur Xcode chez Apple, qui nous en parle en ouverture de conf.
Avec humour, il nous présente les bienfaits de Swift et ne peut donc s’empêcher de faire l’analogie entre le chat de Schrödinger et un Optional !
Très bonne image je dois dire et je retiendrais d’ailleurs sa célèbre 1ère citation :

 » To understand optionals, you first need to understand quantum mechanics « .

Il nous rappelle par là que les Optionals nous permettent de modéliser l’état d’une variable et contribuent à une meilleure sécurité du code notamment pour les initialisations ou les vérifications qui pour un non-Optional deviennent de facto inutiles.
Puis Dimitri revient sur les Enums et les Generics avec quelques bouts de code illustrant leur possible utilité.

Pour finir, cet évangéliste en herbe nous laisse avec un royal :  » Keep calm and think Swift « .

Tech Swift

2ème intervenant : Marius Rackwitz (@mrackwitz), membre de cocoapods nous présente « Static vs Dynamic Library ».
Une prez assez technique sur comment fait-on pour construire une library (je garde le terme anglais) ou un framework et les avantages/inconvénients de chacun. Je n’ai malheureusement pas pu tout noté (en plus dans le noir c’était dur) mais voici ce que j’ai gardé pour un Dynamic Framework :

  • + indépendance d’espace de nom
  • + réduction de la taille du fichier
  • + ressources séparées
  • – code source figé donc si code mort ou obsolète, on le garde quand même
  • – augmentation du temps de chargement

Sa prez est !

Switch to Open Swift

Corinne Krych (@corinnekrych) de chez RedHat nous montre également sa vision de Swift à travers la nécessité qu’elle a eu de switcher d’Objective-C à Swift et le travail d’adaptation ou de ré-écriture de aerogear.
On revient donc sur les Optionals en passant par les computed properties, les différences entre Struct et Class, la surcharge d’opérateur, les génériques et le test tout ça avec des exemples réels tirés du framework aerogear entrecoupés de dessins de Corinne et surtout une recommendation pour le bien de tous : faîtes de l’Open source.

Apéro!


Un break bien mérité et une agréable surprise : cookies, gâteaux et surtout pommes à volonté avec un bon café ou un jus de fruits et enfin on peut observer les discussions qui s’animent entre amoureux ou découvreurs de Swift. C’est donc un moment opportun et agréable pour faire des rencontres et échanger pendant une bonne demi-heure.
Bientôt la cloche sonne et il faut retourner à sa place.

Lightning talks

Un concept différent pour cette deuxième partie, des interventions rapides (5-10 mins) pour nous présenter un aspect de Swift.
Boris Bügling (@NeoNacho) est le premier à se lancer et nous balance ses recherches et jeux sur les fonctions. Un travail intéressant en particulier la ré-implémentation de fonctions en Swift à l’aide d’Objective-C entre autre et de Swift. pour plus de fun voir son github ici !
Puis viennent trois autres orateurs dont je n’ai pas retrouvé le nom, les sujets étaient :
le Bluetooth LE (quelques moments drôles), les tests avec le QuickCheck de chez QuviQ mais de manière théorique, pas de démo juste nous faire rêver et nous inciter à aller voir leur site… du coup je conseillerais aux intéressés de se rabattre sur une solution équivalente et Open source : SwiftCheck, ensuite une prez soit disant sur Swift et la « data science » malheureusement là encore du bla bla (pas car) et rien de concret malgré un point de vue intéressant sur l’importance des données dans un domaine (voir une vie) de plus en plus avancé technologique.
Un talk ultra-éclair : 4 mins/ 4 tips, donc les voici en 4 lignes :

  • Enum power
  • Struct vs Class (Heap vs Stack, value vs ref, celui de gauche étant 50x plus rapide)
  • Struct pour définir les constantes
  • arrrrghhh, je m’en souviens plus mais il me semble qu’il était question de if remplacé par une fonction (je corrigerai plus tard)

Puis un long talk par Romain Huet (@romainhuet) de chez Twitter nous faisant l’éloge de son framework Fabric et une démo à la clé. Alors certes c’est beau et ça marche très bien mais comme pour d’autres j’avais l’impression qu’on voulait me vendre un truc. En plus ça marche car je l’ai téléchargé ! Gredin !
On termine avec JP Simard (@simjp) de chez Realm pour une intervention géniale sur l’introspection dans Swift.
Car si cela est tout naturel en Objective-C grâce à son dynamisme Smalltalkien, en Swift il existe selon lui 6 degrés du Mal (6 degrees of Evil) pour y parvenir :

  • Ne rien faire
  • Cast
  • Reflexion intégrée dans Swift (MirrorType)
  • Utiliser Objective-C en héritant de NSObject
  • Fonctions privées
  • Inspecter la disposition de la mémoire

Ces slides sont dispos ici !

Pfiouuuu, enfin le deuxième break !

Apéro! Encore !


Pareil que le premier, une bonne ambiance, à boire et à manger dans un cadre magnifique…
mer…credi la cloche, VITE !

Func my life

C’est Kyle Fuller (@Kyle) de chez Apiary qui enchaîne avec « Functional Programming » en Swift bien sûr, ayant fait du OCaml dans ma jeunesse je ne suis pas dépaysé par les fonctions montrées mais pour ceux qui viennent d’Objective-C ou qui simplement ne connaissent pas du tout ce paradigme ça doit être un soulagement. Un petit bémol pour Kyle qui a été tout de même assez rapide entre ces slides autant que sa façon de programmer je l’imagine !

D’ailleurs voici ses slides !

May the Swift be with you

Avec « Swift in Production », Ash Furrow (@ashfurrow) de chez Artsy est le coup de coeur de cette conf.
Son approche de Swift est une approche humaine avant tout et avec humour voir sagesse.
Il nous expose 3 choses à retenir :

  • Swift c’est Objective-Party (tout ce qu’il y avait de bien et plus et non pas Objective- C ie sans C)
  • Les outils pour/en Swift sont actuellement immatures
  • Il faut être informé, écrire dans un blog, écrire du code, le partager, …

Ash nous invite donc à créér, participer, améliorer, critiquer la jeune communauté Swift afin de la développer et la rendre meilleure et nous aussi.

Un américain à Paris

Venu de San Francisco, Daniel Steinberg (@dimsumthinking) nous raconte des blagues d’américain (ugly american), plaisante sur les Rubyistes mais surtout nous rappelle l’histoire d’Objective-C et son évolution jusqu’à Swift. Une belle histoire qui nous révèle que Swift était en préparation depuis longtemps et ce à travers les multiples ajustements d’Objective-C (modernisation), llvm, storyboards, Xcode. On croit jusqu’à la fin qu’il reste un éternel nostalgique d’avant Swift pour comprendre à la fin qu’il est le gourou de tout le monde ! La preuve en est : il fût le premier à écrire un livre sur Swift le 2 juillet 2014 soit un mois après sa publication par Apple !

Le mot de la fin

Ce fût une très agréable après-midi dans un lieu beau et atypique avec des intervenants (et un public) de qualité, je tiens à souligner et à remercier le professionnalisme de l’équipe de dotConferences (grand merci à Ferdinand Boas) et je leur dit à l’année prochaine pour la dotSwift 2016 !

(Manuel FRANCOIS et Alain BOUDARD @dotSwift)