Formation - JavaScript - Programmation avancée
Prérequis
- Avoir des connaissances pratiques en JavaScript, HTML et CSS
- Posséder des connaissances de base de XML
- Disposez-vous des connaissances nécessaires pour suivre cette formation ? Testez-vous !
Public admis
- Salarié en Poste
- Entreprise
Demandeur d'emploi et Etudiant non admis
Financement
- Votre OPCO
- Financement personnel
Financement CPF non pris en charge
Modalités
- En centre
- En entreprise
- À distance
Objectifs pédagogiques
- Pendant la formation, le formateur évalue la progression pédagogique des participants via des QCM, des mises en situation et des travaux pratiques. Les participants passent un test de positionnement avant et après la formation pour valider leurs compétences acquises.
Programme de la formation
1 - Le mot-clé "this"
- Comparaison avec les autres langage objet : une histoire de contexte d'exécution
- Problème commun des fonctions asynchrones
- Les closures
- Les méthodes de la classe Function : call, apply et bind
2 - Liste d'éléments : des alternatives aux boucles
- Les méthodes de la classe Array
- Algorithme de mapping (map)
- Algorithmes de filtrage (filter)
- Algorithmes d'agrégation ou de réduction (reduce)
3 - Les architectures pré-ES2015
- État du chargement des scripts dans le navigateur
- Pollution du scope global
- Absence d'isolation de code
- Absence d'isolation de sémantique
- Les IIFEs
- Les script-loaders
4 - ES2015
- Contexte historique
- Le TC39 et le système d'apport progressif
- Let et const
- Les objets littéraux avancés
- Les string templates
- Les fonctions fléchées
- Les paramètres par défaut
- Le paramètre du reste (rest)
- La boucle for...of
- La syntaxe de décomposition (spread)
- Affectation par décomposition (destructuring)
- La POO (nouvelles syntaxes des classes, héritage)
- Les promesses
- Async / Await
- Les modules ES2015 (utilisation standard et module-bundlers)
5 - Les packages et la transpilation
- CommonJS : un système de module
- Le gestionnaire de paquet npm
- Le fichier package.json
- Le problème de la rétro-compatibilité
- La solution : Babel (AST, transformations)
- Les plugins Babel
- Les presets Babel
6 - TypeScript
- Contexte historique
- Définition
- Configurations (CLI, tsconfig.json)
- L'évolution parallèle de ECMAScript et de TypeScript
- Le typage statique
- Les types de bases
- Les alias de type
- L'inférence de type
- Les interfaces
- La POO (encapsulation, raccourcis de définition de propriété)
- Typage des fonctions
- La généricité
7 - Web APIs et PWA
- Qu'est-ce qu'une PWA ?
- LocalStorage / SessionStorage
- Cache
- Fetch
- Geolocation
- Service workers
8 - Tests
- Les différents types de test
- Test unitaire
- Test d'intégration
- Test fonctionnel (ou end-to-end)
- Les tests runners
9 - Introduction aux Librairies / Frameworks Front-End
- Définition d'une librairie UI
- Définition d'un framework front-end
- SPA vs SSR
- La philosophie des composants
- Différences entre les principales technologies (React, Angular, Vue)
10 - Bonus : Node.js et autres Web APIs
- Introduction à la programmation serveur avec Node.js (modules http, path et fs)
- Canvas / SVG
- Page visibility API
Proposé par
IB Cegos
"Formations aux technologies et métiers du Numérique"
Proposé par
IB Cegos