Cette année encore, Eleven Labs et sa bande d’astronautes étaient partenaires de la dotJS version 2015.

wilson

Alors oui, mais la dotJS c’est quoi déjà ?

Il s’agit ni plus ni moins de la plus grande conférence Javascript d’Europe. Le but étant de se rassembler afin de présenter l’avenir du Javascript, de voir l’avancement de certaines technologies ou fonctionnalités, et de troller tous ensemble.

dotJS fait partie des dotConferences, dont mon collègue astronaute Martin Cadoux nous explique très clairement le concept dans son article sur dotCSS :

“dotConference une série de conférences qui vise à proposer des présentations de haute volée en lien avec des technologies ou des sujets particuliers. On en recense six aujourd’hui, dont les dotJS qui se sont déroulés lundi dernier, mais aussi les dotGo, et bientôt les dotScale. Ces rassemblements ont lieu exclusivement à Paris, mais attirent néanmoins une audience venue en large partie de l’étranger.”

C’était pour ma part ma première participation à la dotJS. Ayant eu des retours assez mitigés des dernières éditions, malgré de nombreuses personnalités connues du monde JS (Addy Osmani, Jeremy Ashkenas…), j’étais impatient de voir par moi-même cette édition 2015.

Une grande partie des participants venant de toute l’Europe, voir du Monde (et même d’autre galaxie comme notre Wilson !), l’intégralité des conférences se sont déroulées en anglais. Le programme est assez alléchant: ES6, Node, WebRTC… On retrouve du beau monde, comme Brendan Eich (Inventeur de JavaScript) ou encore Eric Schoffstall (Créateur de Gulp). Mais c’est également l’occasion de découvrir des contributeurs de la communauté moins connus. C’est donc le moment idéal pour rentabiliser votre abonnement WallStreet English !

Javascripters at #dotjs coffee break! Tabs vs spaces indentation discussion was not going to end well ⊙_☉@dotjs pic.twitter.com/ivkvFMQjtM

— gerardsans (@gerardsans) 7 Décembre 2015

Pour cette 4ème édition, la communauté JS et plus de 1000 développeurs se sont donc retrouvés le 7 décembre à partir de 9h au coeur du 9eme arrondissement de Paris, plus exactement au “Théatre de Paris”, l’un des plus beaux théâtre de capitale.


L’événement s’étalant sur toute la journée, voici donc un tour d’horizon rapide des différents talks.

Modern Async JS par Christophe Porteneuve

Christophe Porteneuve nous présente ici plusieurs problématiques liées à l’utilisation de callback et du code asynchrone. Le fameux “Callbackhell”, qui comme son nom l’indique, peut vite devenir infernal, autant sur la compréhension que sur la maintenabilité du code. Celui-ci étant parfois difficile à prendre en main, les générateurs et les promises peuvent déjà nous y aider, en attendant les fonctionnalités await/async d’ES7.

Slides

Hyperdrive: p2p hash sharing tool par Mathias Buus

Mathias Buus, gros contributeur sur npm (Pas loin de 400 modules !), nous présente son dernier module: Hyperdrive. Un module de partage de données via navigateur avec un système de hashage comme l’utilise git.

Dépôt Github du projet : https://github.com/mafintosh/hyperdrive

Slides

Dealing with garbage par Samuel Saccone

Samuel Saccone, développeur chez Google, aborde ensuite le sujet épineux des fuites mémoire et des performances (Illustré par quelques screenshots assez sympathiques). S’en suit une démonstration de l’utilisation de la console Chrome poussée, afin de détecter/fixer ces problèmes. Puis de la présentation de son outil de détection de fuite mémoire: Drool.

Présentation drôle et très bien animée pour un sujet pas super passionnant de premier abord.

Slides

À lire également, une présentation très intéressante d’Addy Osmani sur l’utilisation de la console Chrome ici.

HTTP/2 is here, now let’s make it easy par Rebecca Murphy

Constat sur HTTP/2 aujourd’hui: Ça à l’air cool, mais on ne s’en sert pas. Le principal problème étant la compatibilité des serveurs/hébergeurs/navigateurs, qui ne facilitent pas son utilisation pour le moment. J’avoue ne pas avoir compris la totalité de la présentation. Si vous en savez plus, je suis preneur ;)

Slides

LUNCH BREAK !

Lightning talks

Après la pause déjeuner, on reprend en douceur avec une série de “Lightining talks” au format court de 5-10 minutes, dont 2 qui ont particulièrement retenus mon attention :

Publishing ES6 modules today par Laurent Voyer

Laurent Voyer partage avec nous les meilleurs moyens de publier des modules ES6. La meilleure solution étant de pusher nos modules sur npm ou sur un CDN (avec une retro-compatibilité ES5). Un peu court de résumer tout cela en 10min, mais le principe mérite cependant qu’on s’y intéresse plus longuement.

Slides

Mobile debugging with VorlonJS par Etienne Margraff

Etienne Margraff nous présente son outil de debug cross browser: VorlonJS Après avoir préalablement ajouté un script à notre application, il est possible de debugger depuis une interface VorlonJS à distance. Prometteur. Prochaine étape, le debug d’application NodeJS.

Slides

Practical ES6 par Nicolas Bevacqua

Tour d’horizon sur les fondamentaux de ES6, avec une liste d’exemples expliqués de la nouvelle mouture d’EcmaScript. Rien de vraiment nouveau mais une piqûre de rappel nécessaire, détaillée dans son article. Si vous souhaitez d’ores et déjà utilisez ES6 dans vos projets, des outils comme Babel vous aideront à prendre en main la nouvelle syntaxe le temps de sa mise en place progressive.

Slides

Reactive Javascript par André Staltz

Sans doute l’une des présentations les plus intéressantes de la journée. André Staltz y présente de manière très simple et précise la programmation reactive au travers de RxJS. Ne connaissant pas le sujet, j’ai trouvé l’approche claire et les exemples particulièrement parlants, notamment le cycle de vie de deux variables liées et comment l’une affecterait l’autre, via la fonctionnalité “Observable”, sorte de promise améliorée. Je vous incite vivement à regarder tout cela de plus près. Une introduction est disponible ici et quelques vidéos ici, afin d’approfondir le sujet.

Pendant ce temps-là, Wilson se promène un peu.

Just made a new friend from @Eleven_Labs #dotJS pic.twitter.com/dV5PjBm0qA — Adrien Trauth (@Nioufe) 7 Décembre 2015

WebRTC par Eric Schoffstall

WebRTC est en passe de devenir un nouveau standard pour tout ce qui est connexion peer-to-peer entre navigateurs sans passer par un serveur, celui-ci étant assez attendu par la communauté vu les possibilités qu’il propose (Communication par voix ou vidéo par exemple). Cependant, seuls Chrome, Firefox et Opera proposent cette implémentation (Voir en détails). Après avoir travaillé sur la compatibilité sur chaque navigateur (y compris IE9 et mobile) et en regroupant les différentes solutions apportées sur chacune des plateformes, Eric annonce la création de sa nouvelle librairie rtc-everywhere. Magique !

“If you decided your stuff only works on Chrome Desktop, you’re not making a product you’re building a demo” - @contrahacks at #dotJS

— ChristophePorteneuve (@porteneuve) 7 Décembre 2015

En bonus: Eric postule également au poste de maire de San Francisco…

Jade > Pug par Forbes Lindesay

Forbes Lindesay, développeur chez Facebook, nous présente le fonctionnement de son moteur de template HTML “Jade” (Renommé “Pug” pour des questions légales, il me semble). Nous utilisons aujourd’hui de plus en plus ce genre d’outils appelé “transpiler”, notamment Babel ou CoffeeScript, et il est toujours intéressant de comprendre comment ce genre de parser fonctionne. Il est également possible de créer ses propres plugins avec un système de pipe, une bonne nouvelle pour ceux qui l’utilisent.

Teaching Kids to Code par Tim Caswell et son fils de 9 ans

Présentation amusante du développement pour plus jeunes, et sur ce qui est possible en dehors d’un navigateur web.

Slides

Pocked sized JS par Henrik Joreteg

Dans un contexte de plus en plus “Mobile-first”, Henrik Joreteg nous incite ici vivement à penser “Mobile everywhere”. Les performances de nos devices et la qualité de notre connexion lorsque nous développons nos applications n’étant pas forcement identiques à celles de l’utilisateur final.

if you want to write fast software, use a slow computer

— Dominic Tarr (@dominictarr) 8 Août 2015

Une présentation plus théorique que technique mais certainement pas moins intéressante, qui remet en question notre façon de concevoir nos applications afin de rendre l’expérience utilisateur la plus agréable possible. Je vous incite vivement à voir sa présentation, une très bonne surprise !

Slides

No title par Brendan Eich

Enfin pour terminer la journée en beauté, Brendan Eich, le créateur de Javascript. A vrai dire, il était assez compliqué de suivre, tellement les sujets étaient nombreux: FirefoxOS, Tizen, asm.js… S’en suivit une petite démonstration de jeux Facebook développés en Javascript (Notamment un avec des poulets tueurs de zombies…), le résultat est assez impressionnant par sa fluidité. J’attendais un peu plus de cette présentation cependant.

So impressed when @BrendanEich demo’ed what web assembly is capable of in #firefox #wasm #dotjs pic.twitter.com/sTGDdkHKMr — Perry Mitchell (@perry_mitchell) 8 Décembre 2015

Conclusion

Ce fut pour ma part une très bonne expérience. L’événement fut très bien organisé, les conférences étaient de qualité, les sujets variés et l’ambiance y était très bonne. C’est avec plaisir qu’on y retrouve également certaines têtes. Pas de réelle révolution cependant, le but de ce rassemblement semblait plus d’obtenir une orientation de la communauté. Petite frustration tout de même sur le fait de ne pas pouvoir poser de questions directement en fin de présentation, mais cela est sûrement dû à un souci de logistique. L’objectif de ce post étant de survoler le large panel de sujets abordés, je vous laisse approfondir les plus intéressants.

Les photos de l’événement sont disponibles sur le compte Flickr

Compte Twitter : https://twitter.com/dotJS