Une formation JavaScript moderne et complète pour acquérir des fondamentaux solides.
Pourquoi une formation JavaScript ?
Interfaces riches, applications mobiles, tablettes et desktop, etc., le JavaScript est devenu incontournable. On vous explique toutes les raisons ici.
Et avec sa nouvelle version, l’ES6, JavaScript a enclenché la vitesse supérieure. On vous explique ces nouveaux termes ici si vous êtes perdu/e.
Cette formation permet d’acquérir toutes les clés du JavaScript moderne pour être autonome.
JavaScript : pour qui ?
Cette formation s’adresse aux développeurs connaissant déjà un autre langage de programmation (PHP, Java, C#, jQuery ou autre).
Elle est accessible aux intégrateurs, graphistes et autres débutants en programmation à condition de vous préparer avant la formation avec notre guide d’initiation à la programmation.
Il s’agit d’une formation pour acquérir des fondamentaux JavaScript solides. Si en revanche vous êtes développeur et que vous devez créer une application de A à Z, on ne construit pas une app from scratch en JavaScript. Dans ce cas et si vous n’avez pas la possibilité de suivre 2 formations, nous vous conseillons plutôt la formation Angular.
Pensez à lire les questions fréquentes pour bien choisir votre formation.
Objectifs de la formation JavaScript
- Maîtriser le JavaScript moderne : l’ES6, le nouveau standard
- Suivre les bonnes pratiques (compatibilité, qualité, performances, sécurité)
- Maîtriser la programmation objet en JavaScript et s’initier à la programmation fonctionnelle
- Savoir utiliser et créer des composants réutilisables (qui remplacent les plugins jQuery)
- Comprendre les besoins d’aujourd’hui pour savoir choisir les bons outils et frameworks
Programme de la formation JavaScript
La formation JavaScript est organisée en deux grandes parties : on acquiert d’abord des fondamentaux solides en JavaScript moderne, utiles pour tous les usages (sites web, etc.) ; on se tourne ensuite vers les problématiques propres aux applications.
Bonnes pratiques JavaScript
Après avoir mis en contexte les rôles de JavaScript, nous prenons en main les bons outils pour travailler efficacement, et nous mettons tout de suite en place les bonnes pratiques.
- Compatibilité : le point sur le standard et les navigateurs actuels
- Gestion des packages : npm
- Mode strict, console et debugger
- Conventions de codage (Google guidelines, eslint…)
Nouveautés ECMAScript 6 (ES6)
Nous faisons ensuite le tour des nouveautés du dernier standard JavaScript.
- Portée locale à un bloc et constantes
- Template literals
- Nouvelles syntaxes pour les objets
- Nouvelles collections : Set, Map
- Nouvelles façons d’itérer
- Paramètres : valeurs par défaut, rest, spread
- Arrow functions
- Déstructuration
DOM et événements
On passe ensuite au rôle principal de JavaScript : manipuler et animer la page suite à une action de l’utilisateur. Vous serez surpris/e de découvrir qu’aujourd’hui jQuery n’est plus nécessaire, le JavaScript natif s’est amélioré et simplifié.
- Manipulation de la page : querySelectorAll, classList…
- Gestion des interactions : addEventListener…
- Animations : transitions et nouvelle API Web Animations
- Nouveautés DOM4
Nouvel AJAX et asynchronicité
Gérer les traitements asynchrones, notamment l’AJAX, est une des grandes difficultés de JavaScript, qui le rende plus compliqué qu’un langage comme PHP. De nouvelles APIs sont disponibles pour simplifier cela.
- Promise
- API fetch & JSON
- Fonctions asynchrones
TypeScript
Dans une application, la moindre erreur signifie un plantage de l’app. Le JavaScript étant trop permissif par défaut, il faut se diriger vers un typage statique. On vous explique pourquoi TypeScript dans un article dédié, et on vous garantit que non seulement vous allez adorer, mais aussi que vous ne pourrez plus vous en passer.
- JSDoc : documentation normalisée
- Typage statique avec TypeScript
- Typings et autocomplétion
Programmation Orientée Objet en ES6
Il faut évidemment aussi passer à une programmation orientée objet, et l’ES6 permet de s’y mettre facilement, comme dans les autres langages que vous connaissez (PHP, Java, C#…).
- Classes et héritage
- Gestion du contexte
- Getters / setters
- Méthodes statiques
- Visibilité, classes abstraites et interfaces ?
- Modules ES6 et systemjs
Mise en prod : performances et sécurité
Il y a aujourd’hui beaucoup de choses à gérer lors de la mise en production, pour que vos scripts se chargent rapidement. Heureusement, les outils se sont simplifiés et unifiés.
- Options de chargement avancées (async)
- Compatibilité : polyfills
- Transpileurs ES6 : babel et TypeScript
- Build et minification : rollup et webpack
- Automatisation : scripts npm
- HTTP/2
- Protection XSS : Content Security Policy
Web Components
C’est le prolongement de la programmation orientée objet appliquée à une page web. Vous pouvez maintenant créer de vrais modules web. Tous les frameworks actuels (Angular, React…) fonctionnent autour de ce principe de composant, et cela est aussi possible en JavaScript natif.
- Templates
- Shadow DOM v1
- Custom elements v1
APIs pour les applications
Dans une application, JavaScript a de nouveaux rôles, que de nouvelles APIs viennent remplir.
- Historique et navigation
- Stockage local
- Service workers et Progressive Web App
- Manifeste d’application
- Temps réel : Web sockets
Le choix du framework
Le choix d’un framework est évidemment très important. En ayant bien compris les besoins d’aujourd’hui, nous pourrons comparer rationnellement les différentes possibilités.
Programmation fonctionnelle
La programmation fonctionnelle est une autre façon de coder, très puissante en JavaScript.
- Utilité de la programmation fonctionnelle
- L’exemple RxJS