Il y a 9 ans -

Temps de lecture 5 minutes

Retour sur dotJS 2013

Lundi 2 décembre 2013 a eu lieu au Théâtre de Paris la conférence dédiée au langage JavaScript dotJS.

Cette conférence est différente de beaucoup de conférences techniques : elle a lieu sur une seule journée, dans une seule salle et ne propose que des conférences courtes (30 minutes maximum).

Cette année la programmation annoncée était plutôt exceptionnelle pour une conférence dédiée au JavaScript.

Plusieurs Xebians de France et de Hollande y ont assisté. Voici un retour sur cette journée.

Quelques présentations qui ont retenues notre attention : 

Addy Osmani (Créateur de Yeoman)

Addy Osmani nous a présenté Polymer une librairie basée sur la spécification Web Components. Cette librairie donne un avant-goût du futur du développement web en fournissant un ensemble de polyfills et de composants UI.

John K. Paul

Ses slides

John K. Paul nous a parlé des différentes techniques permettant d’améliorer la qualité du code JavaScript telles que la validation de la syntaxe ou l’analyse statique. Des plugins existent pour les principaux éditeurs pour effectuer ces validations mais John nous propose de systématiser ces validations via un precommit hook.

Pour aller encore plus loin, John nous a parlé de TypeScript, un langage typé qui étend JavaScript et qui compile en JavaScript !

Remy Sharp

Ses slides

"On peut tout résoudre avec une iframe ou un setTimeout". C’est avec cette phrase que Remy Sharp introduit une présentation à contre-courant et assez surprenante pour 2013. Après un rapide historique, il montre que les iframes sont encore bel et bien présentes notamment pour contourner certaines limitations des navigateurs.

Dave Methvin (leader de l’équipe JQuery core) sur les performances en JavaScript

Dave Methvin a parlé des performances en JavaScript et notamment d’un problème assez spécifique : le Forced Layout

Le problème du "Forced Layout" intervient lorsqu’au sein d’un appel JavaScript :

  • On a modifié une classe sur un élément du DOM.
  • On interroge immédiatement après la taille d’un des élements impactés par ce changement. Cet appel bloque le code JavaScript et effectue de façon synchrone un recalcul du layout.

La timeline des outils de développement de Google Chrome permet de détecter ce problème très facilement : 

Guillermo Rauch (créateur de Socket.IO et de Mongoose)

Ses slides

Guillermo Rauch a présenté des recettes pour rendre son application réactive : pour lui, une application web doit se mettre à jour immédiatement suite à une action utilisateur.

Pour lui, les opérations asynchrones sur le web ne doivent pas être bloquantes. Il ne faut pas proposer de "spinner" ni attendre la réponse du serveur pour présenter un résultat, mais faire l’inverse : mettre à jour immédiatement et revenir en arrière en cas d’erreur.

Les seuls cas où il suggère de faire attendre l’utilisateur sont les cas d’utilisation liés à la sécurité : "Se déconnecter d’un site", "Changer un mot de passe".

Nicolas Geoffroy (membre de l’équipe core Dart)

Comment faire ce dotJS sans parler de la sortie en grande pompe de la première version majeure du langage Dart ! Vous savez ce langage qui vise à devenir la future référence dans le développement web. Et pas que, d’ailleurs, pendant ce talk nous avons eu l’occasion d’avoir la certitude que Dart sera bien sur Android, la confirmation du portage de Angular en Dart avec l’intégration de Polymer. Nicolas a eu aussi l’occasion d’expliquer que si Dart n’était pas encore dans Chrome, ce n’était que pour des raisons techniques et qu’une fois les différents blocages levés on devrait voir apparaître la virtual machine Dart sur Blink.

Bien sûr au-delà de tous ces aspects "politiques", Nicolas nous a parlé de tous les avantages de Dart, tel que l’outillage fourni avec son IDE le DartEditor, son système de dépendances centralisé pub, aussi évoqué, le multithreading grâce au Isolate, les performances supérieurs à du JavaScript même quand Dart est compilé en JavaScript, la fonctionnalité de snapshot permettant de démarrer une application beaucoup plus vite ….

Qu’on se le dise, Dart est désormais stable et prod ready !

Alex Sexton (créateur de yepnope.js)

Ses slides

Alex Sexton a fait une présentation très dense sur la sécurité dans le navigateur : 

  • L’utilisation du sélecteur css ":visited" couplée aux timing attacks afin de retrouver l’historique de navigation.
  • Les attaques de type : Cross site request forgery

Pamela Fox (créatrice de la section programmation de Khan academy)

Ses slides

Pamela Fox a proposé une présentation très intéressante sur l’apprentissage du langage.

En effet, même si le JavaScript est en 2013 l’un des langages les plus utilisés au monde (cf http://adambard.com/blog/top-github-languages-for-2013-so-far/), son apprentissage reste tout de même assez difficile.

L’un des axes d’améliorations avancé par Pamela Fox est le perfectionnement du deboggeur en clarifiant les messages d’erreur.

Brendan Eich (CTO de Mozilla)

Ses slides

Brendan Eich nous a parlé de l’évolution du Web avec les enjeux actuels tel que le mobile et le cloud ainsi que la nécessité pour les utilisateurs de pouvoir rester maîtres de leurs données.

Les possibilités du web augmentent notamment grâce aux améliorations des performances de JavaScript. Cependant un domaine restait jusque-là inaccessible : les jeux vidéos en 3D. Certains problèmes restent encore à résoudre mais les premières démos du moteur Unreal Engine, porté dans le navigateur via asm.js, sont prometteuses.

En conclusion

Du point de vue de l’organisation, il n’y a rien à reprocher à cette édition de dotJS : superbe lieu et programmation alléchante.
Si la première édition en 2012 a été décriée pour son manque de technique, cette seconde édition a eu des présentations très pointues. Néanmoins, chez Xebia, on reste vraiment sur notre faim : les sujets sont soit survolés, soit hyper-spécialisés. Le format des présentations n’y est pas étranger.

Publié par Florent Le Gall

Ingénieur @ Xebia

Commentaire

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Nous recrutons

Être un Sapient, c'est faire partie d'un groupe de passionnés ; C'est l'opportunité de travailler et de partager avec des pairs parmi les plus talentueux.