Contactez-nous

AngularJS

Formation AngularJS

AngularJS est un framework JavaScript créé par Miško Hevery en 2009, puis repris et maintenu par Google sous licence MIT. Il permet de faciliter et d’architecturer le développement d’applications front-end. Il est compatible avec les navigateurs récents et Internet Explorer 9 (IE8 jusqu’à la version 1.2). Il partage des similarités avec Angular son successeur, mais leur architecture est fondamentalement différente.

Objectifs

  • Appréhender les concepts du framework
  • Connaître ses principales méthodes et directives
  • Architecturer une Single Page Application avec AngularJS

Pré-requis

  • HTML / CSS
  • JavaScript

Programme

Jour 1

  • Une réintroduction à JavaScript
    • Scope et closures
    • Fonctions constructeurs et prototype
    • Callbacks et boucle d’événements
    • Callback hell, Promise
    • ES5.1, ES6, ES7, ES8, ES.Next
  • Introduction à AngularJS
    • Positionnement par rapport aux autres frameworks
    • Templates, directives, compilation, data-binding
    • $scope et dirty-checking
  • Type d’éléments dans AngularJS
    • Modules et dépendances de modules
    • Contrôleur et injection de dépendance
    • Filtres existants et personnalisés
    • Création de directives personnalisées
    • Création de composants

Jour 2

  • Services
    • Utilisation des services existants
    • Pourquoi utiliser $document, $interval, $timeout ?
    • Créer ses propres services, via service et factory
  • Requêtes vers le back-end
    • $http, une surcouche de XMLHttpRequest
    • $resource, pour les API RESTful
    • Restangular, une alternative à $resource
  • Single Page Application
    • angular-route, le router officiel
    • ui-router, un router Open Source plus complet
    • Animations dans AngularJS

Jour 3

  • Tests
    • Typologies des tests, unitaires, intégration, fonctionnels, e2e, manuels
    • Tests Unitaires et d’intégration avec Karma + Jasmine
    • Test E2E avec Protractor
  • Bonnes pratiques
    • Arborescence de fichiers
    • Utilisation de services
    • Création de modules
    • Envisager une migration vers Angular