Top Banner
O Mágico Mundo De Web Components @mteusortiz
44

O Mágico mundo de Web Components

May 10, 2015

Download

Technology

Mateus Ortiz

Present at beltrao In Tech
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: O Mágico mundo de Web Components

O Mágico Mundo De

Web Components

@mteusortiz

Page 2: O Mágico mundo de Web Components

@mteusortiz/mateusortiz

Front-End Developer

Page 3: O Mágico mundo de Web Components
Page 4: O Mágico mundo de Web Components
Page 5: O Mágico mundo de Web Components

Web Components

Page 6: O Mágico mundo de Web Components

HTML5 é o Futuro?

Page 7: O Mágico mundo de Web Components
Page 8: O Mágico mundo de Web Components

O Futuro

Page 9: O Mágico mundo de Web Components
Page 10: O Mágico mundo de Web Components

<x-heart>

http://mateusortiz.github.io/x-heart/

Page 11: O Mágico mundo de Web Components
Page 12: O Mágico mundo de Web Components

Web Components

Shadow DOM

Template

Custom Elements

HTML Imports

Decorators

Page 13: O Mágico mundo de Web Components

Custom Elements

Page 14: O Mágico mundo de Web Components

Antes com <element>

<element name="x-button" constructor="XBUTTON" attributes="lg sm xs"> <!-- Content --> </element>

Page 15: O Mágico mundo de Web Components

Antes com <element>

<element name="x-button" extends="button"> <!-- Content --> </element>

Page 16: O Mágico mundo de Web Components

http://goo.gl/GWatuU

Page 17: O Mágico mundo de Web Components

com JS<my-widget></my-widget>

var WidgetProto = Object.create(HTMLElement.prototype); !WidgetProto.createdCallback = function() { this.textContent = "BeltraoInTech"; }; !var Widget = document.registerElement('my-widget', { prototype: WidgetProto });

Page 18: O Mágico mundo de Web Components

Lifecycle Callbacks

createdCallback();attachedCallback();detachedCallback();attributeChangedCallback();

Page 19: O Mágico mundo de Web Components

Funciona no IE6

Page 20: O Mágico mundo de Web Components
Page 21: O Mágico mundo de Web Components

tpolymer-project.org

Page 22: O Mágico mundo de Web Components

tx-tags.org

Page 23: O Mágico mundo de Web Components

W3C standards platform polyfills

Template shadow dom HTML ImportsCustom Elements

Page 24: O Mágico mundo de Web Components

Com Polymer

<polymer-element name="x-button" attributes="color"> <script> Polymer('x-button', { color: 'red', created: function() { // ... } }); </script> </polymer-element>

Page 25: O Mágico mundo de Web Components

Lifecycle Callbacks Polymer

created();

detached();attributeChanged();

attached();

Page 26: O Mágico mundo de Web Components

Template

Page 27: O Mágico mundo de Web Components

Templates são pedaços

inertes de DOM que podem ser

reutilizados.

Page 28: O Mágico mundo de Web Components

# GAMBIARRA

existe vários Templates para server-side e client-side

Page 29: O Mágico mundo de Web Components

<template>

Page 30: O Mágico mundo de Web Components

como criar?<template> <p>BeltraoInTech...</p> <img src="beltrao.png"/> </template>

Page 31: O Mágico mundo de Web Components

como usar?

var tmpl = document.querySelector("#template"); tmpl.content.querySelector("img").src = "dog.gif"; document.body.appendChild(tmpl.content.cloneNode(true));

Page 32: O Mágico mundo de Web Components

Shadow DOM

Page 33: O Mágico mundo de Web Components

O SHADOW DOM encapsula STYLE e MARCAÇÃO.

Page 34: O Mágico mundo de Web Components

<iframe>

Page 35: O Mágico mundo de Web Components

Shadow Dom é a mesma tecnologia usada pelos fabricantes de navegadores para implemetar as

tags como <video> e <textarea>.

Page 36: O Mágico mundo de Web Components
Page 37: O Mágico mundo de Web Components

tmas voltaram atrás

Page 38: O Mágico mundo de Web Components

exemplo Shadow Dom

<div class="widget"></div>

var host = document.querySelector(".widget"); var root = host.createShadowRoot(); root.innerHTML = "<h1>Estou dentro da div</h1>";

Page 39: O Mágico mundo de Web Components

Encapsula style, marcação e script

Page 40: O Mágico mundo de Web Components

HTML Imports

Page 41: O Mágico mundo de Web Components

t importações carregar

documentos externos em nossa página.

Page 42: O Mágico mundo de Web Components

HTML Import<link rel="import" href="beltra-tech.html">

Page 43: O Mágico mundo de Web Components
Page 44: O Mágico mundo de Web Components

Obrigado

TWITTER.COM/MTEUSORTIZGITHUB.COM/MATEUSORTIZ