Javascript - Coder au Front (End)

Vous maintenez du code exécuté dans un navigateur web, ça ne vous réjouit pas, et vous voulez que ça change ? Cette formation est faite pour vous !

Objectif

Le but de cette formation est d’aider des programmeurs dont ce n’est pas le langage de spécialité à maîtriser davantage – et suffisamment – leur utilisation du langage JavaScript, notamment dans les situations où ils doivent programmer des fonctionnalités qui seront exécutées dans un navigateur web, en interaction avec les données (HTML) et le style (CSS).

Cette formation se veut avant tout une « mise du pied à l’étrier », une démystification d’un langage qui souvent n’est pas vécu comme tel ; elle pointe du doigt dans une direction qu’il appartiendra ensuite au développeur, rendu autonome, d’explorer par lui-même.

Public visé

La formation s’adresse aux programmeuses et programmeurs expérimentés dans un « autre langage » (Jubython#, ou l’une de ses variantes) dont JavaScript n’est pas la langue maternelle.

Elle est conçue pour les développeuses et les développeurs qui ont peur de se promener seuls dans le code du frond end, côté navigateur web, sans leur guide Assimil (dit autrement, sans Google et des bouts de code piochés sur Internet au petit bonheur la chance). Développeurs qui, du coup, ne savent pas comment appliquer tout ce qu’ils savent faire dans leur langage de prédilection : pilotage par les tests (TDD), découpage modulaire, construction incrémentale… et qui souhaitent changer cette situation.

Programme

Points de focalisation

  • JavaScript côté client
  • TDD (développement piloté par les tests)
  • Stratégies de découpage en modules
  • Stratégies de développement incrémental

Juste ce qu’il faut de quelques langages / outils pour aider à avancer :

  • HTML & CSS
  • jQuery
  • Jasmine
  • CoffeeScript (si les participants le souhaitent)

Plan de cours :

  • Apprendre à se servir de seulement les bonnes parties de JavaScript
  • Jasmine : TDD, bouchonnage
  • jQuery : fonction ‘$’, utilisation des sélecteurs CSS
  • Notions de programmation fonctionnelle
  • Paradigmes d’héritage : classique et prototypal
  • Fermetures
  • Scope et modules, non-intrusivité
  • Ce que vaut ‘this’
  • Événements et callbacks