Slide 1

Slide 1 text

INTRODUCTION À ANGULARJS Éric Mas CLERMONT’ECH API HOUR #5 – 29/10/2013

Slide 2

Slide 2 text

« AngularJS is what HTML would have been, had it been designed for building web-apps. Declarative templates with data-binding, MVW, MVVM, MVC, dependency injection and great testability story all implemented with pure client-side JavaScript! » Philosophie

Slide 3

Slide 3 text

Affichage d’une page

Slide 4

Slide 4 text

Affichage d’une page ● Template : écrit en HTML ● Controller : fonction javascript ● Model : simple objet javascript

Slide 5

Slide 5 text

Affichage d'une page ● Séparation des vues et de la logique de présentation : - La vue a accès aux données via le scope - Le contrôleur publie les données dans le scope ● Le scope correspond au contexte d'exécution des expressions de la vue ● Le template fonctionne sur les éléments du DOM ● Mise à jour de la vue en cas de changement d'état du modèle : dirty checking

Slide 6

Slide 6 text

Organiser son code : les modules ● Permet de structurer son application (par composant, par fonctionnalité, … ) ● Regroupe des contrôleurs, des directives, des services, … ● Une application peut se composer de plusieurs modules (avec un module principal)

Slide 7

Slide 7 text

Logique applicative : les services

Slide 8

Slide 8 text

HTML étendu : les directives ● Extension du langage HTML ● Définition ou redéfinition d'éléments ou d'attributs HTML

Slide 9

Slide 9 text

● Karma test runner : moteur d’exécution de tests ● Angular-mocks : mocks de base pour faciliter l’écriture des tests ● Angular-scenario : extension jasmine pour les tests d’interface utilisateur Tester son application

Slide 10

Slide 10 text

● Injection de dépendances ● Directives fournies par AngularJS ● $http et $resource ● Filtres ● Formulaires ● Routage interne ● Événements ● Exceptions ● ... Autres fonctionnalités

Slide 11

Slide 11 text

● Communauté AngularJS sur Google+ ● Livre Mastering Web Application Development with AngularJS ● FrAngular (frangular.com) ● Wiki angular ● Angular-app, ng-boilerplate (github.com/ngbp/ng-boilerplate) Aller plus loin

Slide 12

Slide 12 text

● Extension Chrome Batarang ● Plugin angularjs pour sublimeText et WebStorm ● Grunt Task Runner et Bower ● Générateur Yeoman Outils pour les développeurs

Slide 13

Slide 13 text

http://builtwith.angularjs.org/ Qui utilise AngularJS ?

Slide 14

Slide 14 text

Questions ?