3. LES ORIGINES
• HTML5:beaucoup de #header, #footer, .article =>
<header>, <footer>, <article>
• Nombreux composants (jQuery UI, Dojo, Ext JS,
etc.) => Web Components
• Précédentes tentatives : MSIE behaviors, XBL, XBL2
• http://www.w3.org/2008/webapps/wiki/
Component_Model_Use_Cases
4. AUJOURDHUI
• Comment bien séparer le code que l’on a écrit et
celui qui va l’utiliser ?
• Le(quasi-)seul moyen est d’utiliser des iframes
(ou svg:use)
13. <DECORATOR>
• Permetd’améliorer ou de remplacer la
présentation d’éléments existants
• S’utilise
via CSS, comme tout élement de
présentation
• Permetd’utiliser du code HTML pour enrichir la
présentation !
20. <DECORATOR>
• L’élement<content> est l’endroit ou le contenu
de l’élement “décoré” (ses enfants) sera inséré
• Onapplique le décorateur avec la propriété
decorator et un ID
28. <ELEMENT>
var b = document.createElement("x-fancybutton");
// will display '<button is="x-fancybutton"></button>'
alert(b.outerHTML);
29. <ELEMENT>
• Uncustom element peut optionnellement écouter
quatre “lifecycle” callbacks:
• created
: appelé par le constructeur, avec une instace
ShadowRoot, créé depuis <template> s’il existe
• attributeChanged : quand un de ses attributs change
• inserted : quand il est inséré dans le document
• removed : une fois enlevé du document
33. SHADOW DOM
<div>
<div class="stuff">
<content><!-- all children will appear here --></content>
</div>
</div>
34. SHADOW DOM
<div>
<!-- all h1.cool children here -->
<content select="h1.cool"></content>
<div class="cool">
<!-- all .cool children (except the ones that are h1.cool) -->
<content select=".cool"></content>
</div>
<div class="stuff">
<!-- all remaining children here -->
<content></content>
</div>
</div>
35. SHADOW DOM
Exemple : http://dvcs.w3.org/hg/
webcomponents/raw-file/tip/spec/shadow/
index.html#shadow-dom-example
36. CONCLUSION
• <style
scoped> et Shadow DOM déjà disponible
dans Chromium (désactivés par défaut)
• Spécification qui évolue très fréquement
• Mozilla
préfère attendre avant d’implémenter,
aucune idée pour les autres navigateurs