JavaScript et EcmaScript 6+
- Rappels élémentaires sur le langage
- Maîtriser les closures
- Les bonnes pratiques en JavaScript
- Nouvelle gestion des classes
- Les arrow functions
- Les template strings
- L'héritage de classe
- Spread & Rest
- Comprendre la déstructuration d'objets et de tableaux
- Modulariser les applications web
Travaux pratiques : Installation de l'environnement de développement, manipulation du langage JavaScript
React et les Composants
- La philosophie des composants
- Découverte du langage « JSX » et de la transpilation
- Créer une hiérarchie de composants
- Transfert d'informations avec les props
- Architecturer notre projet, Smart & Dump components
- Contrôler le réaffichage d'un composant
- Gestion dynamique et statique du state
- Comprendre le « VirtualDOM »
- Optimiser les performances de son application
- Cycle de vie d'un composant
- Créer un composant « fonctionnel »
- Rendez votre code pérenne avec les « propTypes »
- Mise en place de la projection avec les composants
Travaux pratiques : Réalisation d'une application permettant de manipuler les composants et leur cycle de vie ainsi que la mise en page
Les formulaires
- Dynamiser la validation des formulaires
- Composants contrôlés
- Composants non contrôlés
- Marquer les éléments du DOM avec les références
- Bien penser ses formulaires
Le routing
- Mise en place de routes complexes
- Configuration du système de routing
- Manipuler la navigation des pages
- Ajouter des paramètres dans nos routes
- Cycle de vie des routes
Travaux pratiques : Réalisation d'une application permettant de mettre en place plusieurs pages et de naviguer entre elles.
Redux
- Flux et Redux : présentation
- Propagation de données
- Comparaison des architectures
- Création de vues et contrôleurs dans Flux
- Rôle du dispacther dans Flux pour les actions
- Les « Stores », gestionnaire d'états logique dans Flux
- Approche avec Redux
- Le « Reducer »
Travaux pratiques : Réalisation d'une application permettant de mettre en place la gestion d'état de l'application basée sur Redux
Tests unitaires
- Introduction à Jest, le JUnit de Javascript
- Tester un composant
- Tester le DOM avec « dom-testing-library »
- Le principe F.I.R.S.T.
Travaux pratiques : En s'appuyant sur une application réalisée précédemment, ajout des outils Esllint, Jest et Enzime
Server Side Rendering
- Les avantages du server side rendering (SSR)
- Intégration dans Redux
- Principe et bénéfices du développement isomorphique
- Ecosystème du JavaScript côté serveur
- Initiation à NodeJS
- Configuration de NodeJs pour React
- Mise en place du SSR
Internationalization (i18n)
- Stratégie de mise en place avec les fichiers JSON
- Les principales librairies d'internationalisation
- Intégration dans React et Redux
Librairies populaires de React
- ReactNative
- NextJS
- Material UI / React Bootstrap