dotjs-2018-1
< < Articles

Retour de la conférence DotJS par Arnaud Lebreton, André Ranarivelo et Matthieu Leroy

23/11/2018

Team ekino : Pourquoi tu avais envie d'aller à cette conférence ?

Matthieu Leroy : Participer à la conférence DotJS, c’est la chance, pour moi, de rencontrer des « speakers » qui sont des experts dans leur secteur, tels que Anders Hejisberg (@ahejlsberg) qui est à l’origine du projet « Typescript », Devon Lindsey qui est très investi dans la communauté JS ou encore Myles Borins (@MylesBorins) directeur du NodeJS TSC qui est responsable de l’évolution du coeur de NodeJS.

Je souhaitais également avoir des retours d’expérience ou l’opinion de ces intervenants sur les technologies qu’ils utilisent. C’est enfin la chance de découvrir les projets sur lesquels la communauté Javascript travaille actuellement et qui sont en train d’émerger.

TE : Quels sujets ont été abordés ?

Arnaud Lebreton et Matthieu Leroy : Il y avait beaucoup de présentations, mais il y en a quelques-unes qui m’ont plus marqué que d’autres :

  • La première présentation par Sacha Greif (@SachaGreif), designer indépendant et développeur, concernait les tendances des frameworks en Javascript depuis trois ans via un sondage. Il a notamment rangé les framework en quatre catégories : « adopt », « assess », « analyze » et « avoid », selon leur utilisation et leur taux de satisfaction dans la communauté JS. Il ressort que React a été classé dans la catégorie « adopt » de par sa popularité et son taux de satisfaction de 81%. A l’inverse, « Polymer » et « Ember » étaient dans la catégorie des « avoids ». Cette présentation était intéressante pour se rendre compte des tendances ainsi que des nouveautés qui émergent comme « Typescript » avec une augmentation de +20% de son utilisation en 2018.
  • Tobias Ahlin, Minecraft love Javascript : Fort de 90 millions d’utilisateurs réguliers, Minecraft, développé par la société Mojang, s’investit grandement sur Javascript pour répondre à un problème de taille: le cross-platform. Aujourd’hui présent sur PC, IOS, Android, Xbox et la Nintendo Switch, le code source du jeu a dû être divisé pour répondre aux problématiques de chaque plateforme (puissances variées des appareils, différents contrôleurs : manettes - clavier - souris - tactile…). Tobias Ahlin (@tobiasahlin), experience design director chez Mojang, nous a présenté sa vision afin de développer l’interface de Minecraft en Javascript.

Mojang s’est dirigé vers le projet HummingBird développé par la société Coherent Labs. Ce projet a répondu à quasiment toutes les attentes de Tobias. Hummingbird est un outil riche, il inclut notamment un éditeur permettant de modifier directement des éléments du jeu sans recompilation, économisant ainsi un temps précieux aux équipes. De plus, son développement ne nécessite pas d’apprendre de nouveaux langages, tout est écrit en utilisant le combo déjà gagnant Javascript - Html 5 - Css 3, ce qui permet de faciliter l'arrivée de nouveaux membres dans l'équipe. Et cerise sur le gâteau, les performances des interfaces ainsi développées ont été au rendez-vous pour chacune des plateformes. Cette solution avait donc tout pour lui plaire.

Utiliser HTML, JS, et CSS pour développer un jeu vidéo ? C'est en effet possible. Les jeux actuels embarquent de plus en plus de composants issus des technologies Web. Et de fait, Felix Rieseberg (@felixrieseberg), lead dev pour l’application Slack et également conférencier à dotJs, nous a présenté plus tard dans la journée quelques composants React utilisés dans le jeu Battlefield 1. Il est donc très probable de voir ce genre de pratique se répandre dans les années à venir.

À l’heure actuelle, le client Javascript de Minecraft est encore au stade de bêta privé. Mais une documentation existe déjà, nous permettant d’aller tester le projet, et pourquoi pas d’aller développer nous-même des modes pour le jeu. Tobias a enfin conclu sa présentation en rappelant que le public d'un jeu tel que Minecraft était majoritairement composé d'enfants, et en déclarant qu'il espérait que le jeu puisse faire naître des vocations de développeur chez la nouvelle génération.

TE : Qu'est-ce qui t'a le plus marqué ?

Matthieu Leroy : Nous avons pu constater que la communauté restait très active et que les applications qu’on pouvait faire du Javascript continuaient à s'étendre. D’où des présentations très éclectiques et inspirantes, qui allaient de la programmation de robots qui dansent, au développement d’une librairie en javascript pour Minecraft, en passant par les possibilités de « WebAssembly » à venir. DotJS a d’ailleurs annoncé que la conférence se ferait l’année prochaine sur deux jours pour présenter des sujets orientés back la première journée et front la seconde.

TE : As-tu appris quelque chose que tu aimerais partager ?

André Ranarivelo : La conférence DotJS est davantage une ouverture au monde du Javascript qu’une formation en tant que telle. Appuyé sur les différentes conférences de la journée et sa présence de plus en plus forte sur le marché remonté par le State of JS, on peut clairement relever les avantages à adopter TypeScript sur ses projets Javascript actuels ou futurs :

  • A l’aide du typage vous aurez un code plus maintenable et clair pour ceux qui le reprendront.
  • Votre intregrated development environment (IDE = environnement de développement) vous indiquera à la compilation toutes vos erreurs potentielles de typage ou vous permettra de pouvoir parcourir les différents types de vos librairies qui utilisent TypeScript.
  • Typer votre projet vous forcera à avoir une réflexion plus poussée en amont de votre code.
  • Vous pouvez transiter vers TypeScript de façon progressive en ayant des fichiers js et des fichiers Typescript sur votre projet

Une citation sympa d’un des conférenciers : Keep learning : “Life is an education. It is learned mostly through what you discover on your own and not through what others tell you”, Terry Brooks.

TE : Si tu devais retenir une phrase ?

Matthieu Leroy : "No matter what language you work in, programming in a functional style provide benefits. You should do it whenever it’s convenient and you should think hard about the decision when it’s not convenient" John Carmk

TE : Si tu devais résumer la conférence en un mot ?

Matthieu Leroy : Inspirante.

Pour aller plus loin:

Arnaud Lebreton est Ingénieur Java. Matthieu Leroy est Ingénieur Node JS. André Ranarivelo est Ingénieur Node JS alternant.