Rappels JavaScript : ES5, DOM, événement
- Les méthodes de création dynamique d'objets.
- Phases des événements capture, capturing, bubble.
- La gestion des événements. Les objets de type Event.
- Structure de données XML et JSON
- Les méthodes avancées en ES5.
Exercice
Echange de données JSON. Création d'événements.
Framework jQuery
- Fonctionnement et intégration.
- Gestion et délégation des événements.
- jQuery pour des échanges Ajax, gestion des formulaires.
Travaux pratiques
Créer un plugin jQuery.
Initiation à ES6/2015
- Les nouveautés principales.
- Les superset JavaScript : TypeScript, Babel, Traceur.
- ES6 en production.
Travaux pratiques
Mise en production de code ES2015 avec TypeScript et Node.js.
Programmation Orientée Objet
- Rappels sur l'objet. Propriétés.
- La chaîne de portée. La chaîne de prototype.
- Méthodes. Héritage. Portée des données privées et publiques. Mapping et sérialisation.
- Design Pattern Clés en JavaScript.
- Closure function. Singleton et Modules.
Exercice
Mise en pratique de la POO. Développer un micro framework de gestion du DOM.
Expressions régulières
- Structure et syntaxe d'une expression régulière.
- Validation asynchrone.
Travaux pratiques
Contrôle de dates, email.
Environnement de débogage
- Chrome Devtools, Firefox Developper, Node-debug
- Gérer les messages d'erreur client en production.
- Tests multinavigateurs. Stockage des tests.
- Tests de performance.
Travaux pratiques
Recherche de bugs et optimisation des performances avec les ChromeDevtools.
Echange de données, interactions
- Solutions de stockage embarqué de données : SQLite, LocalStorage, Cookies.
- Compenser les latences de communication.
- JSON Web Token, sécuriser les échanges.
- XMLHttpRequest, consommation de services distants.
- Serveur JavaScript Node.js.
Travaux pratiques
Appel de services Web. Utiliser une base embarquée, échanges avec la base distante.
Programmation JavaScript sous HTML5
- Nouveaux événements.
- Gestion des API multimédia.
- Modes de communication client/serveur.
- Utilisation des Web Worker.
- Le développement mobile "offline first".
- Optimisation des communications client/serveur.
Travaux pratiques
Manipulation JavaScript sous HTML5.