SlideShare uma empresa Scribd logo
Web Components
Jackson Veroneze
Software Developer
jackson@jacksonveroneze.com
https://jacksonveroneze.com
https://br.linkedin.com/in/jacksonveroneze
Autores
Mario Mendonça
Software Developer
mario.mendonca@gmail.com
https://br.linkedin.com/in/mario-mendonca
Componentes, do desktop para a web?
Introdução
Todas as vezes que você precisa implementar um slider ou elementos de um
framework que você gosta, invariavelmente você precisa copiar um grande pedaço de
código HTML, CSS e Javascript para depois aplicar em seu projeto.
O Problema do HTML/CSS macarrônicos
A forma de desenhar uma página Web mudou bastante nos últimos 20 anos.
As tecnologias básicas ainda são as mesmas:
HTML 5 para estruturar um documento.
CSS 3 para estilizar os elementos no documento.
Javascript para adicionar comportamento.
O que são os Web Components
A ideia de criar componentes na web não é nova. A cada novo framework ou a cada
novo plugin, tentamos fazer isso. O problema é que um componente só é um
componente se ele pode ser reutilizado, diversas vezes, em qualquer lugar do projeto,
sem sofrer alterações acidentais por códigos externos e também sem modificar outros
elementos. É aí que entram os Web Components.
Os componentes web, na forma atual, são
constituídos de quatro partes:
Elementos Customizados (Custom Elements)
DOM Sombra (Shadow DOM)
Modelos (Templates)
Importação HTML (HTML Imports)
Elementos Customizados (Custom Elements)
Elementos que podem ser nomeados como quisermos e operar a nosso gosto.
Quando criamos um elemento customizado, pode criá-lo do zero ou pode estender
algum elemento HTML existente, como, por exemplo, o <button> e fornecer uma
funcionalidade ou apresentação modificada que precisar.
DOM Sombra (Shadow DOM)
A DOM Sombra (Shadow DOM) é o aspecto fundamental do funcionamento dos
componentes web.
É o lugar onde o código escondido vive.
Fabricantes de navegadores tem usado esse DOM Sombra por anos, para implementar,
nativamente, elementos como o input, audio, video e outros.
A ideia básica é que você pode pegar todo o código que não precisa ser visto e escondê-
lo.
Isso permite você lidar, somente, com dados que ajustam o elemento, como a altura,
largura e caminho dos arquivos de vídeo ao usarmos o elemento<video>.
DOM Sombra (Shadow DOM)
Cada instância é auto-contida.
Folhas de estilo e códigos JavaScript dentro do elemento, eles não vazarão,
acidentalmente, e não afetará qualquer outra coisa na página.
Reciprocamente, os CSS e JavaScript que estiverem em qualquer lugar da sua página,
não afetarão seu componente web, exceto aquelas que forem criadas especificamentes
para estilizar e interagir com ele.
Isso significa que não precisará criar um espaço de nome em seus IDs e classes CSS
para evitar conflitos.
DOM Sombra (Shadow DOM)
Chrome - Ferramentas de Desenvolvedor (Dev Tools)
Shadow DOM - HabilitadoShadow DOM - Desabilitado
Modelos (Templates)
Modelo é uma combinação de HTML, CSS e JavaScript, e inclui a funcionalidade que
disponibilizamos quando usarmos o elemento.
Importação HTML (HTML Imports)
Importação de HTML permite que você pegue tudo que foi desenvolvido e faça
funcionar na sua página.
Os componente web são definidos dentro de arquivos HTML externos, assim, esse
arquivo precisa ser importado para que o elemento customizado funcione.
Web components
Suporte dos Navegadores
O que são Polyfills?
Polyfill é um "shim de JavaScript que replica a API padrão nos navegadores mais
antigos". "API padrão" se refere a um determinado recurso ou tecnologia HTML5.
Por exemplo, um polyfill de Localização Geográfica.
Implementações Não-Nativas
O suporte nativo está a caminho por parte do Chrome, Opera e Firefox, porém, não está
completo ainda. O IE e o Safari ainda não publicaram seus planos.
Por hora, se você quiser trabalhar com componentes web, terá de usar uma das
implementações não-nativas existentes.
A boa notícia é que as duas soluções mais populares foram criadas pelo Google e pela
Mozilla, então, podemos esperar que haja consistência no modo de operação do
suporte nativo.
Polymer(Google)
O Polymer vem com uma biblioteca completa de componentes web pré-criados.
Ela inclui os "elementos base do Polymer que são orientados a funcionalidades, além
dos "elementos Paper", que são orientados a design.
Ao criar elementos customizados com o Polymer, ao invés de usar o formato <element
name="..."> você usará <polymer-element name="...">.
Polymer - Suporte a Navegadores
Chrome Android
Chrome
Canary
Firefox
IE 10+
Safari 6+
Mobile Safari
X-Tags(Mozilla)
X-Tags é uma biblioteca JavaScript criada pela Mozilla que, atualmente, leva vantagem
sobre o Polymer pelo seu suporte a navegadores ser maior.
X-Tags - Suporte a Navegadores
Firefox 5+ desktop & mobile
Chrome 4+
Chrome Android 2.1+
Safari 4+ desktop & mobile
IE9+
Opera 11+ desktop & mobile
React vs Polymer
Vocês acreditam que web components é o
futuro do desenvolvimento web?
Referências
http://webcomponents.org/
http://centralhtml5.sourceforge.net/no-browser-left-behind-an-html5-adoption-strategy
http://www.akitaonrails.com/2014/07/06/web-components-e-uma-revolucao
https://webdesign.tutsplus.com/pt/articles/how-to-create-your-own-html-elements-with-web-components--cms-21524
https://www.kinghost.com.br/blog/2016/10/desenvolvimento-web-baseado-em-componentes/
http://hipsters.tech/web-components-hipsters-
06/?utm_content=buffer04ebe&utm_medium=social&utm_source=twitter.com&utm_campaign=buffer
http://jonrimmer.github.io/are-we-componentized-yet/
http://x-tag.github.io/
https://www.polymer-project.org/1.0/

Mais conteúdo relacionado

PDF
Estrutura de um Front-End eficiente (para iniciantes)
PDF
O Papel do desenvolvedor Front End
PDF
Guia do Front-end das Galáxias
PDF
DESIGNER E FRONT-END DEV: Prontos para mudar seu workflow?
PDF
Curso de Desenvolvimento Web - Módulo 01 - HTML
PDF
Wordpress e suas funções
PPTX
Aprendendo Na Prática: Aplicativos Web com HTML5, Angular.js, Twitter Bootstr...
PPTX
Web design responsivo e adaptativo - HTML5/CSS3
Estrutura de um Front-End eficiente (para iniciantes)
O Papel do desenvolvedor Front End
Guia do Front-end das Galáxias
DESIGNER E FRONT-END DEV: Prontos para mudar seu workflow?
Curso de Desenvolvimento Web - Módulo 01 - HTML
Wordpress e suas funções
Aprendendo Na Prática: Aplicativos Web com HTML5, Angular.js, Twitter Bootstr...
Web design responsivo e adaptativo - HTML5/CSS3

Mais procurados (20)

PDF
Web components
PDF
DOM, CSSOM e RenderThree - Introdução ao Browser Render Path
PPTX
Curso de HTML5 - Tudo No HTML5 é Novo?
PDF
Desenvolvimento Web : HTML5, CSS3 & JavaScript
PPTX
Componentizando a Web com Polymer
PDF
Web Components, A próxima revolução do desenvolvimento web.
PDF
HTML5 – O que tem de novo?
PDF
Primeiros passos para estruturar uma equipe front-end
PPTX
SPA's com Blazor e .NET Core
PDF
Word camp sp 2017 willian marques
PDF
O que você precisa saber para se tornar um dev front-end
ODP
Html5,css3,javascript o lugar onde sonhos se tornam realidade.
PDF
Engenharia de front end de alta performance
PDF
HTML5 - UM GUIA DE REFERÊNCIA PARA DESENVOLVEDORES WEB
PPTX
Canal Coding Night - Sua primeira aplicação com Blazor
PPTX
Seminario html5
PDF
GUTENBERG EM PRODUÇÃO: QUALIDADES, DESAFIOS
PPTX
Write once, run "everywhere"
PDF
Codando com PHP e JQuery
PDF
WordCamp Floripa 2021 - Daniel - Core web vitals e WordPress
Web components
DOM, CSSOM e RenderThree - Introdução ao Browser Render Path
Curso de HTML5 - Tudo No HTML5 é Novo?
Desenvolvimento Web : HTML5, CSS3 & JavaScript
Componentizando a Web com Polymer
Web Components, A próxima revolução do desenvolvimento web.
HTML5 – O que tem de novo?
Primeiros passos para estruturar uma equipe front-end
SPA's com Blazor e .NET Core
Word camp sp 2017 willian marques
O que você precisa saber para se tornar um dev front-end
Html5,css3,javascript o lugar onde sonhos se tornam realidade.
Engenharia de front end de alta performance
HTML5 - UM GUIA DE REFERÊNCIA PARA DESENVOLVEDORES WEB
Canal Coding Night - Sua primeira aplicação com Blazor
Seminario html5
GUTENBERG EM PRODUÇÃO: QUALIDADES, DESAFIOS
Write once, run "everywhere"
Codando com PHP e JQuery
WordCamp Floripa 2021 - Daniel - Core web vitals e WordPress
Anúncio

Destaque (20)

PPT
ApresentaçãO Civic Hybrid
PPS
Os carros-electricos-de-lisboa-milespowerpoints.com
PPT
Csd veiculos híbridos
PPTX
Carro elétrico
PPTX
Carros eletricos
PDF
A bíblia do_carro
PDF
Eletricidade básica automotiva
PPSX
Eletrônica embarcada automotiva
PDF
WEBWARE ERP 2 - Hauptvorteile und Bildschirmmasken
PDF
Verchromen - Materialpreise 2013
PPTX
Google chrome os
PPTX
Chrome remote desktop
PDF
Hvmg14ofarmer
PPTX
google chrome
PDF
Chome os
PPTX
Google chrome
PDF
Tamisage et sécurité palamatic process
PDF
Best Practices für TDD in JavaScript
PDF
Webinare durchführen: 5 Tipps für mehr Stabilität
ApresentaçãO Civic Hybrid
Os carros-electricos-de-lisboa-milespowerpoints.com
Csd veiculos híbridos
Carro elétrico
Carros eletricos
A bíblia do_carro
Eletricidade básica automotiva
Eletrônica embarcada automotiva
WEBWARE ERP 2 - Hauptvorteile und Bildschirmmasken
Verchromen - Materialpreise 2013
Google chrome os
Chrome remote desktop
Hvmg14ofarmer
google chrome
Chome os
Google chrome
Tamisage et sécurité palamatic process
Best Practices für TDD in JavaScript
Webinare durchführen: 5 Tipps für mehr Stabilität
Anúncio

Semelhante a Web components (20)

PPT
Rio Info 2010 - Oficina - Oficina Papel Devigner Novidades HTML5 - Ricardo Pa...
PPTX
Adobe flash platform fabricio
PPTX
Adobe flash platform bem 2009
PDF
Road Show TI Senac São Paulo - Jaú
PPT
Estruturação Web
PDF
HTML5- Road Show TI - Senac Jaboticabal
PDF
Desenvolvimento de Sistemas Web - HTML5 - Introdução
PDF
The Ultimate Guide to Development in WordPress
ODP
Apresentação Minas - Desenvolvendo Sites
PDF
PPS
Workshop: WebSockets com HTML 5 & PHP - Gustavo Ciello
PDF
HTML5 - A nova fronteira no desenvolvimento de aplicações WEB
PDF
HTML 5 e Open Web Platform
PDF
HTML5 - Road Show TI Experience 2012
PPTX
Aplicacoes responsivas
PDF
Seminário de Desenvolvimento Mobile - Etec Cafelândia
PDF
RIA e Flex - Dando formas à Inovação
PDF
Web components para o seu design system
PDF
Introdução ao Wordpress
PDF
Curso Básico Android - Aula 01
Rio Info 2010 - Oficina - Oficina Papel Devigner Novidades HTML5 - Ricardo Pa...
Adobe flash platform fabricio
Adobe flash platform bem 2009
Road Show TI Senac São Paulo - Jaú
Estruturação Web
HTML5- Road Show TI - Senac Jaboticabal
Desenvolvimento de Sistemas Web - HTML5 - Introdução
The Ultimate Guide to Development in WordPress
Apresentação Minas - Desenvolvendo Sites
Workshop: WebSockets com HTML 5 & PHP - Gustavo Ciello
HTML5 - A nova fronteira no desenvolvimento de aplicações WEB
HTML 5 e Open Web Platform
HTML5 - Road Show TI Experience 2012
Aplicacoes responsivas
Seminário de Desenvolvimento Mobile - Etec Cafelândia
RIA e Flex - Dando formas à Inovação
Web components para o seu design system
Introdução ao Wordpress
Curso Básico Android - Aula 01

Mais de Jackson Veroneze (13)

PDF
Angular 4 - Introdução
PDF
Regex javascript
PDF
Map, filter e reduce
PPTX
Expressões Regulares - Final
PPTX
Integração Contínua
PPTX
Expressões Regulares - Parte II
PPTX
Expressões Regulares - Introdução
PPTX
GULP - Automatizador de tarefas
PPTX
Web socket - Trazendo soquetes para a web
PPTX
Conhecendo a API Geolocation
PPTX
Vanilla js
PPTX
Progressive apps
PPTX
If bom é if morto
Angular 4 - Introdução
Regex javascript
Map, filter e reduce
Expressões Regulares - Final
Integração Contínua
Expressões Regulares - Parte II
Expressões Regulares - Introdução
GULP - Automatizador de tarefas
Web socket - Trazendo soquetes para a web
Conhecendo a API Geolocation
Vanilla js
Progressive apps
If bom é if morto

Web components