Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
HTML5 WebComponents Primer
Search
Mirko Sertic
May 06, 2017
Programming
580
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
HTML5 WebComponents Primer
An older Talk I gave some time ago, refreshed for an upcoming Team event.
Mirko Sertic
May 06, 2017
More Decks by Mirko Sertic
See All by Mirko Sertic
Hinter den Kulissen von SCS Architekturen
mirkosertic
2
740
WebAssembly - ein Jahr danach
mirkosertic
0
530
From Legacy to modern Web
mirkosertic
0
510
Objektorientierung, Domain-Driven Design und Architectur
mirkosertic
1
820
Other Decks in Programming
See All in Programming
どこまでゆるくて許されるのか
tk3fftk
0
260
AIを活用したE2Eテスト実装効率化のあゆみ / ebisu-mobile-14-kotetu
kotetuco
0
140
これからAgentCoreを触る方へトレンドはGatewayです
har1101
4
370
Make SRE Operations Easier with Azure SRE Agent
kkamegawa
0
8.7k
OSもどきOS
arkw
0
600
代数的データ型って何が嬉しいの? #frontend_phpcon_do
kajitack
8
3.8k
Go1.27で導入されるジェネリクスメソッドでできること
mackee
0
190
「なぜそう決めたのか」を残し続ける仕組み ― Notion AI カスタムエージェント × Slack連携による設計判断の自動記録 - NIKKEI Tech Talk #47
niftycorp
PRO
0
230
脅威をエンジニアリングの糧にして――現場編 / Turning Threats into Engineering Fuel — Field Edition
nrslib
0
310
AI時代のUIはどこへ行く?その2!
yusukebe
22
7.6k
Spec Driven Development | AI Summit Lisbon
danielsogl
PRO
0
220
ランチタイムLT会3周年!ランチタイムLT会を3年間続けられたお話
y0hgi
1
110
Featured
See All Featured
We Are The Robots
honzajavorek
0
260
Information Architects: The Missing Link in Design Systems
soysaucechin
0
980
Un-Boring Meetings
codingconduct
0
330
The SEO Collaboration Effect
kristinabergwall1
1
490
Art, The Web, and Tiny UX
lynnandtonic
304
22k
XXLCSS - How to scale CSS and keep your sanity
sugarenia
250
1.3M
brightonSEO & MeasureFest 2025 - Christian Goodrich - Winning strategies for Black Friday CRO & PPC
cargoodrich
3
740
Prompt Engineering for Job Search
mfonobong
0
350
The SEO identity crisis: Don't let AI make you average
varn
0
500
KATA
mclloyd
PRO
35
15k
Highjacked: Video Game Concept Design
rkendrick25
PRO
1
400
Chrome DevTools: State of the Union 2024 - Debugging React & Beyond
addyosmani
10
1.2k
Transcript
@mirkosertic |
[email protected]
| https://www.mirkosertic.de WebComponents Primer
@mirkosertic |
[email protected]
| https://www.mirkosertic.de Als Primer (Pl.: die Primer;
IPA: [ˊpʁaɪ̯mɐ]) wird in der Molekularbiologie ein Oligonukleotid bezeichnet, das als Startpunkt für DNA-replizierende Enzyme wie die DNA-Polymerase dient.
@mirkosertic |
[email protected]
| https://www.mirkosertic.de 2D / 3D Canvas Microdata
Drag & Drop API WebComponents Cross Document Messaging
@mirkosertic |
[email protected]
| https://www.mirkosertic.de 2D / 3D Canvas Microdata
Drag & Drop API WebComponents Cross Document Messaging
@mirkosertic |
[email protected]
| https://www.mirkosertic.de WebComponents <body> <my-tabview> <div>Tab1</div> <div>Tab2</div>
</my-tabview> </body>
@mirkosertic |
[email protected]
| https://www.mirkosertic.de WebComponents <head> <link rel="import" href="my-tabview.html">
</head> <body> <my-tabview> <div>Tab1</div> <div>Tab2</div> </my-tabview> </body>
@mirkosertic |
[email protected]
| https://www.mirkosertic.de WebComponents <template id="mytemplate"> <div>Titel meiner
tollen Tab Komponente</div> <div> … … </div> </template>
@mirkosertic |
[email protected]
| https://www.mirkosertic.de WebComponents <template id="mytemplate"> <style>…</style> <div>Titel
meiner tollen Tab Komponente</div> <div> … … </div> </template>
@mirkosertic |
[email protected]
| https://www.mirkosertic.de WebComponents <script> var importDoc =
document.currentScript.ownerDocument; var myTabViewPrototype = Object.create(HTMLElement.prototype); myTabPrototype.createdCallback = function() { var shadow = this.createShadowRoot(); var template = importDoc.querySelector('#mytemplate'); shadow.appendChild(template.content.cloneNode(true)); }; document.registerElement(‘my-tabview‘, { prototype: myTabViewPrototype }); </script>
@mirkosertic |
[email protected]
| https://www.mirkosertic.de WebComponents <script> var importDoc =
document.currentScript.ownerDocument; var myTabViewPrototype = Object.create(HTMLElement.prototype); myTabPrototype.createdCallback = function() { var shadow = this.createShadowRoot(); var template = importDoc.querySelector('#mytemplate'); shadow.appendChild(template.content.cloneNode(true)); }; document.registerElement(‘my-tabview‘, { prototype: myTabViewPrototype }); </script> 1
@mirkosertic |
[email protected]
| https://www.mirkosertic.de WebComponents <script> var importDoc =
document.currentScript.ownerDocument; var myTabViewPrototype = Object.create(HTMLElement.prototype); myTabPrototype.createdCallback = function() { var shadow = this.createShadowRoot(); var template = importDoc.querySelector('#mytemplate'); shadow.appendChild(template.content.cloneNode(true)); }; document.registerElement(‘my-tabview‘, { prototype: myTabViewPrototype }); </script> 1 2
@mirkosertic |
[email protected]
| https://www.mirkosertic.de WebComponents <script> var importDoc =
document.currentScript.ownerDocument; var myTabViewPrototype = Object.create(HTMLElement.prototype); myTabPrototype.createdCallback = function() { var shadow = this.createShadowRoot(); var template = importDoc.querySelector('#mytemplate'); shadow.appendChild(template.content.cloneNode(true)); }; document.registerElement(‘my-tabview‘, { prototype: myTabViewPrototype }); </script> 1 2 3
@mirkosertic |
[email protected]
| https://www.mirkosertic.de WebComponents <body> <my-tabview> </my-tabview> </body>
<div>Tab1</div> <div>Tab2</div>
@mirkosertic |
[email protected]
| https://www.mirkosertic.de WebComponents <body> <my-tabview> </my-tabview> </body>
<div>Tab1</div> <div>Tab2</div> Shadow DOM Host Shadow DOM Root
@mirkosertic |
[email protected]
| https://www.mirkosertic.de Komplexe Anwendung
@mirkosertic |
[email protected]
| https://www.mirkosertic.de Komplexe Anwendung
@mirkosertic |
[email protected]
| https://www.mirkosertic.de Stand der Implementierung
@mirkosertic |
[email protected]
| https://www.mirkosertic.de Was gibt es noch? Google
Polymer Vue.js
@mirkosertic |
[email protected]
| https://www.mirkosertic.de Fragen? falls nicht, besten Dank
für die Aufmerksamkeit!