La 5ème édition des conférences dotJS a battu un nouveau record d'affluence ce lundi 5 décembre en accueillant environ 1500 personnes. Cette année le rendez-vous était fixé au Dock Pullman à Aubervilliers, en région Parisienne.
Bien que le charme du théâtre parisien des années passées n'y était plus, il était beaucoup plus agréable de suivre une journée entière de conférence dotJS dans cette salle de bon volume, bien ventilée et avec de bons sièges :)
La journée est composée de dix regular talks (sujets de 30 min présentés par des personnalités) et de huit lightning talks (sujets de 5 min présentés par des courageux ;)). Quatre sessions au total temporisent la journée, intercalées par des temps de pauses suffisamment long pour se ressourcer. Ce fût très enrichissant tout en étant très agréable.
Voici un résumé des talks présentés :
Talk 1 - Nolan Lawson (Maintainer of PouchDB, Web Platform PM for Microsoft Edge)
Nolan nous présente le challenge à venir des applications web faisant face aux applications natives. Aujourd'hui, HTML5 est une vraie réponse à Flash/Silverlight. Les Progressive Web Apps arrivent rapidement sur le marché. Le service worker est son élément essentiel et il permet de faire bénéficier aux Web Apps les avantages des applications natives. À bien noter que les services workers nécessitent HTTPS.
Souhait de Nolan à l'issue de l'interview : les développeurs ne doivent pas hésiter à remonter des bugs de navigateurs.
Talk 2 - Ada Rose Edwards (Senior Engineer at Samsung Research UK)
Ada Rose nous communique sa passion récente à la réalité virtuelle et de ses applications à venir. Ce secteur évolue très rapidement et il est difficile d'estimer son évolution. Elle nous présente l'aide au rendu de l'API VR de Samsung. Elle nous définit également le nouveau standard WebVR Copresence basé entre autre sur la RTC Peer connection. Le challenge à venir est de pousser la VR sur le web.
Souhait de Ada Rose à l'issue de l'interview : les développeurs ne doivent pas hésiter à s'impliquer dans les standards WebVR. Les novices sont autant utiles que les expérimentés car ils aideront à rendre le standard plus simple à utiliser.
Talk 3 - Christophe Porteneuve (JavaScript trainer & author)
Christophe parle de l'utilisation des transpilers (Babel, Typescript,...) et de leurs impacts sur la performance. Il faut donc encourager le support natif de ES6+ dans les navigateurs.
Talk 4 - Guy Bedford (Creator of SystemJS and jspm.io)
Guy introduit sa présentation avec les imports de module et Web Assembly, pour présenter ensuite SystemJS qui est un système d'import dynamique universel.
Talk 5 - Marko - Lightning talk
Présentation des technologies autour de React comme Redux, RxJS et l'utilisation des streams.
Talk 6 - Rolf Erik Lekang - Lightning talk
Présentation de son projet lint-filter permettant de facilement exposer les erreurs syntaxiques javascript seulement sur les différents fichiers modifiés depuis le master.
Talk 7 - Vladimir De Turckheim - Lightning talk
Avertissement sur les injections MongoDb et l'importance d'être sur une version supérieure ou égale à 2.6 pour MongoDb. Conseil de l'utilisation d'ODM tel que JOI intégrable facilement à Hapi.js ou expressJS.
Talk 8 - Maxime - Lightning talk
Présentation de Phenomic qui est un générateur de website basé sur React et l'écosystème de Webpack.
Talk 9 - Zeke Sikelianos (Electron enthusiast at GitHub)
Zeke nous parle des évolutions de navigateurs pour retracer leur spectaculaire amélioration depuis netscape. Petit clin d’œil ensuite au site de npm qui n'a lui, par contre, pratiquement jamais évolué depuis sa création.
Il ne nous cache pas une certaine frustration par rapport à la lenteur d'évolution de npm. C'est pourquoi le projet Yarn est né comme une alternative à npm. Yarn est à npm ce que io.js était à node.js. L'ambition en est la même. Il espère que yarn soit une alternative pour bousculer npm dans ses évolutions.
On retrouve dans Yarn les mêmes fonctionnalités que dans npm et Zeke défend sa meilleure gestion des paquets.
Ensuite nous faisons un tour dans l'écosystème des paquets node.js avec Octolinker, libraries.io et trymodule. On s'arrête un instant sur des commandes très utiles de trymodule avec try, ghwd et ntl (show scripts available).
On finit par une brève description de Electron. Un framework permettant de créer des applications desktop native cross platform avec JavaScript, HTML, and CSS. Le projet est né avec l'éditeur Atom chez Github précédemment nommé Atom Shell.
Talk 10 - Evan You (Creator of Vue.js)
Evan nous fait une belle présentation technique de Vue.js. C'est un framework qui permet de fabriquer rapidement et simplement des Progressive Web Apps. Il est basé sur le "Pull-based change propagation" comme par exemple Knockout, Meteor ou MobX (le pull étant déclenché par l'utilisateur). On appelle ce concept le Reactive Programming. On notera que le framework est muni d'un tracker de mémoire qui est un bon outil de suivi de performance.
Talk 11 - Bertrand Chevrier - Lightning talk (Krampstudio)
Bertrand nous présente WebVim, notre IDE minimaliste favori version web.
Talk 12 - Gonçalo Morais - Lightning talk
Gonçalo nous parle d'opérations binaires avec js.
Talk 13 - Sébastien Chopin - Lightning talk
Sébastien nous présente Nuxt.js (un framework minimaliste pour des rendus serveur d'applications Vue.js inspiré par Next.js), puis Vuex un gestionnaire d'états centralisé pour Vue.js.
Talk 14 - Thomas Belin - Lightning talk
Thomas nous présente brièvement le concept de Pure Functions.
Talk 15 - Fedot Indutny (Core contributor to Node.js)
Fedot nous présente llnode, un plugin lldb pour Node.js C++. On apprend à manipuler les données comme le CPU avec Uint8Array (ou Uint64Array). Il expose ensuite quelques commandes intéressantes à retenir comme findjsobjects, findjsinstances, findrefs. C'est un outil utile pour débugger et trouver les fuites mémoires.
Talk 16 - Sam Wray abd Tim Pietrusky (Digital Artists at LiveJS)
Cette présentation se compose en trois partie. Elle présente une expérimentation musicale orientée autour des technologies web. Dans la première partie, Sam nous parle de l'aspect logiciel. La deuxième partie est présentée par Tim sur l'aspect matériel. La troisième partie fait monter le son ! ;)
- Part 1 - Sam
Présentation de Live:JS, une interface audio, et de ses technologies web environnantes comme Meyda (Web Audio API), modV, Canvas 2D, ThreeJS (WebGL avec GLSL (OpenGL Shader Language)).
- Part 2 - Tim
Présentation du matériel avec MIDI - Musical Instrument Digital Interface, Web MIDI API, 8x LEDs, FadeCandy, RaspberryPI, WIFI, des Laptops, de l'éclairage DMX Universe et une machine à fumée.
- Part 3 - Sam + Tim
Ils font tourner les platines et montent le son !
Talk 17 - Guillermo Rauch (Creator of socket.io & Founder of zeit.co)
Guillermo nous présente zeit.co qui est un système de déploiement cloud simple, global et temps réel. Ensuite il nous fait un aperçu de Next.js, qui est un petit framework de rendus-serveur universel pour les applications javascript. Il est construit en surcouche à React, Webpack et Babel.
Talk 18 - Igor Minar (AngularJS lead)
Il nous raconte une petite histoire :c'est un discours de Fat à la conférence de dotJS 2012 (à propos de l'open source) qui fût pour lui un réel déclencheur pour le développement de Angular.js.
Igor nous fait une petite timeline de l'évolution des frameworks avec Angular 1.x, React, Angular 2 et Ember. Ensuite il nous présente le concept de compilation anticipée (AOT: Ahead-Of-Time compilation).
Puis on revient à Angular et sa communauté, il raconte les sujets du moment autour des Web Components et le rapprochement entre Angular 2 et Microsoft avec son transpiler Typescript. On finira par un appel à ce que la communauté open-source soit ouverte d'esprit. Que les orientations et les décisions des mainteneurs doivent trancher en considérant les paroles de chacun.
Fin de la conférence
On termine cette conférence par un pot autour de quelques bières et de bons échanges.
À l'année prochaine !