Image de NordWood Themes

JavaScript avancé - Objet, Fonctionnalités Avancées, Ajax, Web Services, Bonnes pratiques, performances, tests, industrialisation, EcmaScript, Typescript

Objectifs

A l'issue de cette formation JavaScript avancée vous saurez :

  • Faire de la Programmation Objet en JavaScript

  • Construire vos programmes Javascript de façon professionnelle (classe, mixin, modules, etc.)

  • Respecter les bonnes pratiques de codage avec recul

  • Maîtriser les outils du développeur Javascript (debug, test, performances, conformité, documentation, etc.)

  • Manipuler les Web Services en Javascript

  • Intégrer les nouveautés du langage dans vos programmes avec EcmaScript et les versions plus récentes

  • Comprendre le rôle et la complémentarité des principaux frameworks Javascript (Angular, React, Node, etc.)

A qui s'adresse cette formation

Public :

Cette formation Javascript avancée s'adresse aux développeurs ou au chef de projet.

 

Prérequis :

Au minimum connaître les bases de HTML, CSS et Javascript.
Avoir suivi la formation "JavaScript, les fondamentaux" ou disposer d'un niveau équivalent.

 

Contenu du cours

Programmation objet en Javascript

Intérêts pour le développeur et les projets (lisibilité, maintenance, évolutions, etc.)
Les concepts de base (classe, méthode, propriété, objet)
Créer ses propres objets et utiliser des objets existants
Exemples concrets en Javascript
Constructeur et Prototype
Contexte (this)
Mise en œuvre de l’héritage en Javascript

Aller plus loin en POO avec Javascript …

Les classes natives : String, Array, Object, etc.
Augmenter ou réécrire ?
Visibilité : propriétés publiques / privées
Visibilité : méthodes publiques / privées / privilégiées
Les différentes formes d'héritage
Appels parents : call / apply / bind
Méthodes et propriétés statiques
Méthodes abstraites et interfaces
Duck Typing et Javascript
Programmation objet

Maîtriser le langage Javascript

Types de données et subtilités (constantes, variables, énumération, etc.)
Les différentes formes d'incrémentation
Manipulation de flux binaire
Arrays : manipulation avancée
Règles de transtypage et comparaisons
Savoir utiliser les expressions régulières
Aspects avancés des fonctions en Javascript (contrôle des paramètres, etc.)
Gestion des erreurs : exceptions

Ajax, JSON, Web services

Rappels sur Ajax
JSON et (dé)sérialisation
Traitements asynchrones (promesses, fetch, async/await, etc.)
Consommer des web services en Javascript
Un exemple de Javascript côté serveur avec Node.js
Les différentes formes de stockage des données (Local, Cookies, SQLLite, etc.)

Bonnes pratiques en JavaScript

Mise en page du code avec ESLint
Imposer des règles de codage « propre »
Portée : encapsulation / namespace
Documenter votre code source « proprement » avec JSdoc

Performances, tests et débogage

Goulot d’étranglement des phases de chargement d’une page Web
Analyse fine des performances de bout en bout avec Navigation Timing API
Rendre votre code Javascript plus efficace avec Closure Compiler
Gestion mémoire et Garbage collector
Synthèse des outils de tests (JsUnit, SugarTest, etc.)
Tester efficacement la compatibilité multi navigateurs
Debugger avec Chrome Devtools et Firefox Developer

Industrialisation du développement

Gestion de paquets et dépendances
Comment gérer les nombreuses librairies externes ?
Bien comprendre Node et NPM
L’outil yarn
Gérer son projet et ses paquets en ligne de commande
Construire son application et automatiser l'installation de dépendances
Industrialiser les process de compilation et mise en production de ses applications

EcmaScript et TypeScript

Vocabulaire et normes (Ecma, typescript, Ecmascript, Javascript, ES10/ES2019, etc.)
Les changements nets apportés de la version ES6
Les apports de TypeScript
Les Types et types spéciaux
Les interfaces, les classes, les fonctions, les mixins
Les génériques
Types avancés

Vue générale des frameworks JavaScript

Limites du JavaScript natif
Comprendre le rôle des principaux frameworks Javascript : Angular, Vue, React, ReactNative, NodeJS, Express JS
Points communs et différences techniques
Quel framework Javascript pour quel projet ?
Les tendances du marché
Exemple d'application WEB avec Angular
Exemple d'application WEB avec VueJS

TechnoWide

3 rue du Golf

Parc Innolin

CS 60073

33701 MERIGNAC CEDEX

Bordeaux

  • LinkedIn Social Icon