Web Components
Sobre Victor Perin
23 anos
Cursando Ciência da Computação
Open-Source and Javascript lover
Nerd e sem noção...
PS: Não, eu não sou front-endER
O que WebComponents fazem?
Já imaginou criar seus próprios componentes html como por exemplo:
<qr-code></qr-code>
O que os WebComponents tentam resolver?
Como se alimentam?
Onde vivem?
#GloboReporterFeelings
+
- Gambiarras
- Método euristico aproximativo de ajuste de inconsistências
- PoG
A idéia não é revolucionária
Quase todos os Frameworks front-end tentam criar um componente.
Então, qual o propósito?
Quando você cria um componente de um framework, ele pode ser modificado pelo CSS de outros.
Por isso esses frameworks criam um "pacotão de componentes", para você não precisar usar outro.
Mais alguma coisa?
Além disso, existe a facilidade de implementação. Imagine:
<link
rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.5/css/bootstrap.min.css"
/>
<div class="progress">
<div
class="progress-bar"
role="progressbar"
aria-valuenow="60"
aria-valuemin="0"
aria-valuemax="100"
style="width: 60%;"
>
<span class="sr-only">60% Complete</span>
</div>
</div>
<link
rel="stylesheet"
href="https://raw.githubusercontent.com/MikeCostello/bootstrap-web-components/master/dist/bootstrap-web-components.min.js"
>
<bs-progress value="60" type="primary"></bs-progress>
Exemplo no site do Bootstrap
Exemplo do "Bootstrap WebComponents"
Então, como funciona?
Os WebComponents são formados por 5 especificações, não apenas uma.
- Templates: definem pedaços de código que são totalmente inertes à página até que seu Javascript os ative.
- Decorators: aplicam os templates baseando-se em seletores para criar mudanças visuais ricas e comportamentos.
- Custom Elements: são elementos customizados, com nomes e scripts criados por você.
- Shadow DOM: é onde uma parte do código do seu elemento é encapsulada e escondida pelo browser, ou seja, não é visível no código normal do DOM, mas que monta todo seu componente “por baixo dos panos”.
- Imports: definem quais elementos customizados são empacotados e lidos como um recurso.
Templates
Os WebComponents são formados por 5 especificações, não apenas uma.
- Templates: definem pedaços de código que são totalmente inertes à página até que seu Javascript os ative.
- Decorators: aplicam os templates baseando-se em seletores para criar mudanças visuais ricas e comportamentos.
- Custom Elements: são elementos customizados, com nomes e scripts criados por você.
- Shadow DOM: é onde uma parte do código do seu elemento é encapsulada e escondida pelo browser, ou seja, não é visível no código normal do DOM, mas que monta todo seu componente “por baixo dos panos”.
- Imports: definem quais elementos customizados são empacotados e lidos como um recurso.
Web Components
By Victor Perin
Web Components
- 603