Formation Développement JavaScript avec AngularJS - Leuville Objects

Développement JavaScript avec AngularJS

Description

JavaScript existe depuis le début du web mais n'était pas adapté pour développer des applications professionnelles : indebuggable, différences d'implémentations dans les navigateurs, trop lourd à maintenir sur le long terme ... Les temps ont changés, les navigateurs ont évolués et JavaScript aussi. Désormais JavaScript est une réponse à des attentes importantes pour l'experience utilisateur dans le navigateur. Il ne faut cependant pas oublier les bonnes pratiques : design pattern, tests, injection de dépendances, intégration continue, ... La formation montre en quoi AngularJS est un framework qui répond à ces attentes à travers une application cliente Web.

Méthodes pédagogiques

Formation avec un minimum de 50% de travaux pratiques. La session alterne les présentations théoriques avec les exercices en groupe ou individuels. Des versions numériques de tous les documents sont remises aux participants (support de cours, énoncés, corrigés).

Participants

Ce cours s'adresse aux développeurs, architectes ou chefs de projet, connaissant déjà le langage HTML et souhaitant apprendre à mettre en place des applications Web utilisant le langage JavaScript.

Pré requis

  • Connaître le langage HTML
  • Connaître un langage informatique

Programme

Les grandes lignes d’AngularJS

Présentation d’AngularJS.

  • Data binding bidirectionnel
  • Séparation de la logique et des vues, contrôleurs et contextes
  • Pattern MVVM : Model View ViewModel
  • AngularJS et HTML5

Contrôleurs et contextes

Gestion des portées ...

  • Fonctionnement des contrôleurs
  • Modèle et contexte, hiérarchie des contextes
  • Création d’un contexte enfant par certaines directives
  • Evénements utilisateur : $scope.emit(), $scope.broadcast(), $scope.on()

Les vues, moteur de template et binding d’AngularJS

Les templates de vues.

  • Utilisation des contrôleurs dans les vues
  • Principales directives pour l’affichage, les champs de saisie, les répétitions, les actions utilisa
  • Langage d’expressions, syntaxe, appel de méthodes et utilisation de filtres
  • Inclusion de templates, et templates “inline”

Debug d’AngularJS

Comment gérer la mise au point

  • Méthodes utiles de l’objet angular.
  • Utilisation de Batarang
  • Interception des exceptions avec le service $exceptionHandler

Les tests automatisés

Comment gérer le test unitaire

  • Tests unitaires avec Jasmine et Testacular
  • Tester les contrôleurs, tester les services
  • Injection des dépendances et mock objects
  • Service $httpBackend du module ngMock pour les tests unitaires
  • Tests fonctionnels (End-to-End) avec “Angular Scenario Runner”

Le fonctionnement interne d’AngularJS

Les fonctionnalités sous jacentes.

  • Le DOM comme template : compilation en deux phases des templates, intérêt des directives ng-src, ng-bind-template et ng-cloak
  • Rafraîchissement des templates : les “watchers” créés par les directives de binding ou par $scope.$watch(...), boucle $digest et liste des $watch, intérêt de l’approche “dirty checking” d’AngularJS
  • Cadre d’exécution d’AngularJS : exécuter du code dans le cadre d’AngularJS depuis l’extérieur avec $apply(...)

Application mono-page multi-vues, et routage

Paramètrage pour une page.

  • Configuration du routage avec $routeProvider
  • Paramètres de l’URL
  • $route et historique du navigateur
  • Avantages et inconvénients des “hash-bang URIs”
  • Effectuer des traitements avant le chargement d’une vue

Les formulaires

Formulaire et contrôles.

  • Eléments de formulaire
  • Validation des données du formulaire

Echanges avec le serveur

Echanges de données.

  • Service $http, et intercepteurs de réponse
  • Service $resource pour les API de type “REST”
  • Utilisation de “Server-Sent Events” ou de “WebSocket” avec AngularJS

L’API de “promise”

Définition de template.

  • Fonctionnement des promises
  • Utilisation des promises dans le binding des templates
  • Asynchronisme et enchaînement de tâches en créant ou en combinant des promises
  • Utilisation des promises dans le service $http

Application et modules

Modularité.

  • Création d’un module
  • Configuration d’un module
  • Démarrage (bootstrap) automatique ou manuel d’une application
  • Utilisation des modules pour partager des services entre des applications

Services et injection des dépendances

Principe d'injection de donnée.

  • Les différentes méthodes pour créer un service : factory(), service(), provider(), value()
  • Injection des services dans les contrôleurs et dans d’autres services
  • Injection des dépendances et minimisation du code JavaScript
  • Configuration des services
  • Utilisation du service $injector

Filière

Web

Code

CP-ANG

Durée

4 jours

Tarif

1390 € HT

Sessions

Nous contacter

01 39 50 2000