Votre partenaire formation 100% digital

JavaScript, cycle complet

Maîtrisez JavaScript, des concepts fondamentaux du langage au développement avancé

Prochaines sessions

Prochaines sessions - JavaScript, cycle complet
Date de début Ville Prix unitaire HT
26 novembre 2018 Paris 2300 € Réserver
28 janvier 2019 Paris 2300 € Réserver
18 mars 2019 Paris 2300 € Réserver
20 mai 2019 Paris 2300 € Réserver
8 juillet 2019 Paris 2300 € Réserver
7 octobre 2019 Paris 2300 € Réserver
2 décembre 2019 Paris 2300 € Réserver

Description

Cette formation offre une approche complète du langage Javascript. Pendant ces 5 jours, laissez-vous vous immerger dans cet univers incontournable au travers de nombreux exercices pratiques et retours d’expérience du formateur. Vous apprendrez l’ensemble des notions de base et les outils nécessaires à l’utilisation appliquée du langage, ainsi que ses fonctionnalités avancées passant par la maîtrise de la programmation orientée objet. Toutes les clés seront à votre portée pour développer avec succès des sites web riches, dynamiques et performants.

Objectifs pédagogiques

  • Utiliser les notions fondamentales de Javascript
  • Manipuler le DOM et comprendre le fonctionnement AJAX
  • Appliquer les concepts de la Programmation Orientée Objet avec JavaScript
  • Appréhender l’ensemble des fonctionnalités avancées JavaScript
  • Respecter les bonnes pratiques et veiller aux performances

Public cible

Développeurs en charge des interactions d’une application web ou d’un site internet

Pré-requis

Bonnes connaissances de HTML et CSS. Connaissance d’un autre langage de programmation

Modalités d’évaluation

L’évaluation des acquis se fait tout au long de la session au travers d’ateliers de mise en pratique des notions et concepts abordés pendant la formation.

Méthodes pédagogiques

60% théorie / 40% pratique

Programme de la formation

Introduction au développement web dynamique

  • Le rôle de JavaScript
  • Standards, compatibilité et outils
  • Problématiques (chargement, sécurité, accessibilité, référencement, performances).

Le langage JavaScript

  • Variables et types de données
  • Opérateurs
  • Conditions et boucles
  • Fonctions
  • Objet simple et JSON
  • Objets natifs : window, document, etc.

Manipuler les éléments de la page avec le DOM (Documents Object Models)

  • Sélection d’éléments
  • Modification du contenu HTML
  • Modification du graphisme CSS

Evénements interactifs

  • Liste des événements : formulaires, etc.
  • Réagir à un événement
  • Réactions à retardement

AJAX : dialoguer avec le serveur

  • XMLHttpRequest
  • Méthodes et en-têtes HTTP
  • Récupération de contenus HTML, XML ou JSON

Outils et bonnes pratiques de développement

  • JSdoc et Closure Compiler
  • JSHint
  • Debugger
  • Profiler et Navigation Timing API
  • Gestion des erreurs : exceptions

Les données et les boucles

  • Types de données et subtilités
  • Les différentes formes d’incrémentation
  • Manipulation binaire
  • Arrays : manipulation avancée
  • Objets : les différentes syntaxes
  • JSON et (dé)sérialisation
  • Copie / référence
  • Règles de transtypage et comparaisons
  • Expressions Régulières
  • Des constantes ?
  • Problèmes d’énumération

Les fonctions

  • Contrôle des paramètres
  • Paramètres obligatoires / facultatifs / indéfinis
  • Gestion intelligente des paramètres
  • Fonctions anonymes, closures et callback

Performances

  • Minification et concaténation des scripts
  • Mode strict
  • Portée : encapsulation / namespace
  • Garbage collector
  • Efficacité d’un algorithme : temps et espace

Programmation Orientée Objet : les bases

  • Intérêts : maintenance, évolutions, etc.
  • Fonction constructeur
  • Prototype
  • Contexte (this) et tests

Programmation Orientée Objet : concepts avancés

  • Les classes natives : String, Array, Object, etc.
  • Augmenter ou réécrire JavaScript
  • 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
  • jQuery.extend()
  • Méthodes et propriétés statiques
  • Méthodes abstraites et interfaces
  • Nouveaux outils des navigateurs modernes

Design patterns

  • Principes SOLID
  • Implémentation / généralisation / spécification
  • Polymorphisme et principe de substitution
  • Association : composition / agrégation
  • Principaux design patterns
  • Structures de données avancées