Formation JS Avancé

Do you need to be an ES6/ES2015 expert? Probably not today, but you should know at least as much about it as your peers, and possibly more. It’s also worth at least entertaining the possibility of writing your next greenfield project using ES6; the future will be here before you know it.

New language features aside, you should be able to speak fluently about the asynchronicity of JavaScript, and using callbacks and promises to manage it. You should have well-formed opinions about strategies for loading applications in the browser and communicating between pieces of an application. You should maybe have a favorite application development framework, but not at the expense of having a general understanding of how other frameworks operate, and the tradeoffs you accept when you choose one.

A Baseline for Front-End [JS] Developers: 2015 (cache)

J’ai eu l’occasion d’accompagner Vincent pour une formation sur JavaScript et ses concepts avancés. Il a été question de technique bien sûr avec ES6/Next/2015, les IIFE, les promesses, le scope, les objets, les Web Workers, les Web Components, localStorage, etc. Mais aussi de culture avec les différents outils, frameworks, approches, workflows, etc.

Le plus important sur ces 2 jours a certainement été d’avoir autant de façons de faire que de participants (une dizaine) et de pouvoir confronter les stratégies et les expériences. On a essayé au maximum de mettre les mains dans le code et d’itérer en comparant ensuite les concepts mis en pratique. C’était vraiment très enrichissant, autant pour les stagiaires que pour nous :-).

Plus je pratique JavaScript et plus je m’aperçois qu’il s’agit d’un langage flexible que l’on peut adapter à sa façon de développer et de partager du code. C’est intéressant car cela invite à la discussion dans l’équipe : utilise-t-on des points-virgules ? comment définit-on un objet et une IIFE ? apprécie-t-on l’approche objet ou l’approche fonctionnelle ? veut-on utiliser des polyfills et produire des modules isomorphiques ? L’établissement de conventions collectives et évolutives devient alors obligatoire (ou comment transformer une limitation en avantage).

Quelques liens pour la route :

…et pour finir un bout de code qui me sert davantage de jalon dans ma pratique personnelle de JavaScript (dont j’espère rigoler dans 3 mois) :

<!doctype html>
<html lang=en>
  <meta charset=utf-8>
  <title>Current JS</title>
  <a href=http://example.org>Link to example</a>
  <a href=http://httpbin.org>Link to HTTPbin</a>
  <script>
    'use strict'
    window.$ = document.querySelectorAll.bind(document)

    void function (elements) {
      ;[].forEach.call(elements, function(link) {
        link.addEventListener('click', (event) => {
          event.preventDefault()
          console.log(`${link.text} clicked!`)
        })
      })
    }($('a'))
  </script>
</html>