IB : 04. JavaScript - Programmation avancée
Organisme
92911 PARIS LA DEFENSE CEDEXVoir toutes ses formationsAutres organismes proposant cette formation
Durée
Modalités
- Classe virtuelle
- Présentiel
Une attestation de fin de formation sera remise au stagiaire à l'issue de la formation
Prix
Public
Développeurs Web, architectes web, chefs de projet, webmasters…
Pré-requis
- Avoir des connaissances pratiques en JavaScript, HTML et CSS.
- Posséder des connaissances de base de XML.
Objectifs pédagogiques
- Découvrir les concepts avancés JavaScript ES5
- Mettre en pratique la Programmation Orientée Objet
- Maîtriser l'environnement de débogage
- Mettre en œuvre le framework JavaScript jQuery
- Manipuler les API JavaScript HTML5
- Appréhender la notion de JavaScript côté serveur avec Node.js
Programme détaillé
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 & 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
LES PLUS DE LA FORMATION
- Une progression pédagogique qui permet de comprendre les traitements qui peuvent être délocalisés du serveur vers le poste client.
- Création d’applications "fil rouge" : création du contenu, de la mise en forme, tests multi-navigateurs, ajout de fonctionnalités dynamiques en JavaScript, mise en production.
- La pédagogie favorise les échanges entre participants ; l'animateur apporte des réponses personnalisées à chacun.
- Répartition théorie/pratique : 50% / 50%
- Cette formation se compose d’une alternance d’apports théoriques, de travaux pratiques, de démonstrations, de phases d’échanges entre participants et de synthèses de la part du formateur.