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
- 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
- Console et debugger
- Conventions de codage (eslint…)
Nouveautés ECMAScript 6 (ES6)
Nous faisons ensuite le tour des nouveautés du dernier standard JavaScript.
- Constantes et portée locale à un bloc
- Nouveaux strings : template literals
- Objets : nouvelles syntaxes
- Set et Map : les nouvelles collections
- Valeurs par défaut par défaut des paramètres, rest
- Spread operator
- Fonctions fléchées (arrow functions)
- Destructuring
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 du HTML/CSS : querySelectorAll, classList…
- Gestion des interactions : addEventListener…
- Transitions pour des animations rapides
- DOM4 : nouveautés
AJAX et asynchronisme
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 ES6
- 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
- TypeScript : typage statique
- Assistance et typings
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
- Private / public
- Abstract
- Interfaces
- Modules
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.
- Compatibilité : polyfills + transpilation (babel et TypeScript)
- Bundle et compression : rollup et webpack
- Scripts npm pour automatiser
- HTTP/2
- Content Security Policy : protection XSS
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.
- Custom elements
- Shadow DOM
- <template>
APIs pour les applications
Dans une application, JavaScript a de nouveaux rôles, que de nouvelles APIs viennent remplir.
- Navigation et historique
- localStorage
- Progressive Web App & service workers
- Web manifest
- Web sockets pour du temps réel
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.