180 likes | 287 Views
Cours Web Services ISIMA 3F3. Applications web. JavaScript. Inventé par Netscape ... sans rapport avec Java. Standardisé par l’ECMA, spécification ECMA-262 : ECMAScript. http://www.ecma-international.org/publications/standards/Ecma-262.htm
E N D
Cours Web Services ISIMA 3F3 Applications web
JavaScript • Inventé par Netscape ... sans rapport avec Java. • Standardisé par l’ECMA, spécification ECMA-262 : ECMAScript.http://www.ecma-international.org/publications/standards/Ecma-262.htm • Langage dynamique et faiblement typé, basé sur l’utilisation de prototypes. • Utilisé dans : Applications web, ActionScript (Flash, Flex), Adobe Acrobat, ...
Duck typing • « Si je vois un animal qui vole comme un canard, cancane comme un canard, et nage comme un canard, alors j'appelle cet animal un canard ».
Caractéristiques du langage • Un objet est soit simple (entier, chaine, etc) ou complexe (tableaux, maps). • Une propriété d'un objet complexe peut être une fonction ! • Les objets ne sont jamais fermés : on peut toujours les étendre. • Supporte des éléments de programmation fonctionnelle (e.g., closures).
Implémentation de Javascript dans les navigateurs • Mozilla Firefox : JavaScript 1.8.1 • Google Chrome : JavaScript • Microsoft Internet Explorer : JScript 5.8 • Opera : ECMAScript
Frameworks JavaScript • jQuery, YUI, Prototype, Dojo… • Bibliothèques facilitant l'écriture de JavaScript : • Gestion d'évènements • Manipulation DOM • Animations et composants • Ajax • Masque les différences d'implémentation entre browsers ... et plus encore.
AJAX • Asynchronous Javascript and XML • Permettre de construire des applications web a contenu dynamique • Javascript + CSS + DOM + XML/JSON + XMLHttpRequest
Objet XMLHttpRequest • Objet mis à disposition par le navigateur pour effectuer des requêtes GET et POST. • Inventé ... par Microsoft dans ActiveX ! • Implémenté par les navigateurs modernes (> 2002). • Données transférables : • Texte • XML • JSON • Fragments HTML
AJAX et les librairies • Toutes les framework JavaScript offrent des facilités à l’utilisation de XMLHttpRequest • jQuery:
Use case AJAX • Interface dynamique • Validation à la volée • Complétion de champs • Mashups • …
Composition de services, mashups, portails • Les services unitaires peuvent être intégrés • Par un navigateur : Mashup • Par un serveur pour du contenu web : Portail • Par une application pour offrir un service plus évolué : Composition