<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: &lt;deMGoncalves /&gt;</title>
    <description>The latest articles on DEV Community by &lt;deMGoncalves /&gt; (@demgoncalves).</description>
    <link>https://dev.to/demgoncalves</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F2202320%2Fb01feb17-ca51-4f88-8c9f-aa15c4d78a68.jpeg</url>
      <title>DEV Community: &lt;deMGoncalves /&gt;</title>
      <link>https://dev.to/demgoncalves</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/demgoncalves"/>
    <language>en</language>
    <item>
      <title>Decorator @define: O Feitiço supremo para turbinar seus Custom Elements!</title>
      <dc:creator>&lt;deMGoncalves /&gt;</dc:creator>
      <pubDate>Thu, 31 Oct 2024 13:08:27 +0000</pubDate>
      <link>https://dev.to/demgoncalves/decorator-define-o-feitico-supremo-para-turbinar-seus-custom-elements-230h</link>
      <guid>https://dev.to/demgoncalves/decorator-define-o-feitico-supremo-para-turbinar-seus-custom-elements-230h</guid>
      <description>&lt;p&gt;E aí, galera dev! Prontos pra uma magia mais poderosa que um loop infinito de café? ☕ Hoje vamos desvendar o segredo dos mestres Jedi do front-end: o decorator &lt;code&gt;@define&lt;/code&gt;. Preparem-se para códigos tão lindos que vão fazer até o Linus Torvalds chorar de emoção! 😢&lt;/p&gt;

&lt;h2&gt;
  
  
  🎭 O que é esse tal de @define?
&lt;/h2&gt;

&lt;p&gt;Imagine só: e se você pudesse definir Custom Elements com o mesmo swag que o Tony Stark veste a armadura do Homem de Ferro? Pois é, meus caros Padawans do JavaScript, o &lt;code&gt;@define&lt;/code&gt; é exatamente isso!&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="k"&gt;import&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt; &lt;span class="nx"&gt;define&lt;/span&gt; &lt;span class="p"&gt;}&lt;/span&gt; &lt;span class="k"&gt;from&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;@bake-js/-o-id&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;

&lt;span class="p"&gt;@&lt;/span&gt;&lt;span class="nd"&gt;define&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;botao-camaleao&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;span class="kd"&gt;class&lt;/span&gt; &lt;span class="nc"&gt;BotaoCamaleao&lt;/span&gt; &lt;span class="kd"&gt;extends&lt;/span&gt; &lt;span class="nc"&gt;HTMLElement&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
  &lt;span class="c1"&gt;// Código mágico aqui&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Simples assim! Mais fácil que achar um ';' perdido no código, não é mesmo? 😉&lt;/p&gt;

&lt;h2&gt;
  
  
  🧠 Como Funciona essa Bruxaria?
&lt;/h2&gt;

&lt;p&gt;Vamos dar uma espiada nos bastidores dessa mágica:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;define&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;name&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;options&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="kd"&gt;constructor&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
  &lt;span class="nx"&gt;customElements&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;get&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;name&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="o"&gt;??&lt;/span&gt; &lt;span class="nx"&gt;customElements&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;define&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;name&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="kd"&gt;constructor&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;options&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;span class="p"&gt;};&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Esse pedacinho de código é mais esperto que um if...else numa sexta-feira à tarde:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Ele verifica se o elemento já existe (nada de definir o mesmo elemento 500 vezes, né?).&lt;/li&gt;
&lt;li&gt;Se não existir, BAM! Define o elemento na hora, sem dar chance pro garbage collector pensar duas vezes.&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;
  
  
  🚀 Por que isso é mais revolucionário que a invenção do ctrl+c ctrl+v?
&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;DRY como o deserto do Saara:&lt;/strong&gt; Nada de repetir &lt;code&gt;customElements.define&lt;/code&gt; toda hora. Seu código fica mais seco que piada de padeiro!&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Sintaxe açucarada:&lt;/strong&gt; É tipo colocar Nutella no seu JavaScript. Fica irresistível!&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Organização nível Marie Kondo:&lt;/strong&gt; Mantém a definição do elemento junto da classe. Satisfaction 100%!&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Flexibilidade de ninja:&lt;/strong&gt; Quer estender elementos nativos? É só passar as options:&lt;br&gt;
&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;   &lt;span class="p"&gt;@&lt;/span&gt;&lt;span class="nd"&gt;define&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;super-button&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt; &lt;span class="na"&gt;extends&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;button&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt; &lt;span class="p"&gt;})&lt;/span&gt;
   &lt;span class="kd"&gt;class&lt;/span&gt; &lt;span class="nc"&gt;SuperButton&lt;/span&gt; &lt;span class="kd"&gt;extends&lt;/span&gt; &lt;span class="nc"&gt;HTMLButtonElement&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
     &lt;span class="c1"&gt;// Código supimpa aqui&lt;/span&gt;
   &lt;span class="p"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  🛠️ Como Usar Esse Poder Na Sua App
&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt;Primeiro, instale a lib dos deuses:
&lt;/li&gt;
&lt;/ol&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;   npm &lt;span class="nb"&gt;install&lt;/span&gt; @bake-js/-o-id
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ol&gt;
&lt;li&gt;Importe o poder supremo:
&lt;/li&gt;
&lt;/ol&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;   &lt;span class="k"&gt;import&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt; &lt;span class="nx"&gt;define&lt;/span&gt; &lt;span class="p"&gt;}&lt;/span&gt; &lt;span class="k"&gt;from&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;@bake-js/-o-id&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ol&gt;
&lt;li&gt;Decore suas classes como se não houvesse amanhã:
&lt;/li&gt;
&lt;/ol&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;   &lt;span class="p"&gt;@&lt;/span&gt;&lt;span class="nd"&gt;define&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;element-toppen&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
   &lt;span class="kd"&gt;class&lt;/span&gt; &lt;span class="nc"&gt;ElementToppen&lt;/span&gt; &lt;span class="kd"&gt;extends&lt;/span&gt; &lt;span class="nc"&gt;HTMLElement&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
     &lt;span class="nf"&gt;constructor&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
       &lt;span class="k"&gt;super&lt;/span&gt;&lt;span class="p"&gt;();&lt;/span&gt;
       &lt;span class="k"&gt;this&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;innerHTML&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="s2"&gt;`&amp;lt;p&amp;gt;Eu sou inevitável!&amp;lt;/p&amp;gt;`&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
     &lt;span class="p"&gt;}&lt;/span&gt;
   &lt;span class="p"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ol&gt;
&lt;li&gt;Use no seu HTML e veja a mágica acontecer:
&lt;/li&gt;
&lt;/ol&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight html"&gt;&lt;code&gt;   &lt;span class="nt"&gt;&amp;lt;element-toppen&amp;gt;&amp;lt;/element-toppen&amp;gt;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  🎉 Seja o Mago Supremo dos Custom Elements!
&lt;/h2&gt;

&lt;p&gt;Com o &lt;code&gt;@define&lt;/code&gt;, você está pronto pra criar componentes tão épicos que até o JavaScript vai pedir seu autógrafo. É tipo ter um sabre de luz no mundo do front-end!&lt;/p&gt;

&lt;p&gt;Lembre-se: com grandes decorators vêm grandes PRs aprovados. Use com sabedoria e faça seus componentes brilharem mais que um console.log() no meio da noite!&lt;/p&gt;

&lt;p&gt;Quer mais dessa magia? Corre lá no &lt;a href="https://github.com/bake-js/-o-id" rel="noopener noreferrer"&gt;GitHub da @bake-js/-o-id&lt;/a&gt; e dá aquela ⭐️. É tipo um high-five virtual pro dev que fez essa magia acontecer!&lt;/p&gt;

&lt;p&gt;Agora vai lá e faz a web tremer, jovem Padawan! May the @define be with you! 🚀✨&lt;/p&gt;

</description>
      <category>webcomponents</category>
      <category>javascript</category>
      <category>html</category>
      <category>css</category>
    </item>
    <item>
      <title>Custom Elements Unleashed: Dominando customElements.define() e .get() como um Jedi do Front-end!</title>
      <dc:creator>&lt;deMGoncalves /&gt;</dc:creator>
      <pubDate>Wed, 30 Oct 2024 11:38:52 +0000</pubDate>
      <link>https://dev.to/demgoncalves/custom-elements-unleashed-dominando-customelementsdefine-e-get-como-um-jedi-do-front-end-27he</link>
      <guid>https://dev.to/demgoncalves/custom-elements-unleashed-dominando-customelementsdefine-e-get-como-um-jedi-do-front-end-27he</guid>
      <description>&lt;p&gt;E aí, galera dev! Prontos pra desvendar os segredos do universo dos Custom Elements? Hoje vamos mergulhar fundo nos poderes de &lt;code&gt;customElements.define()&lt;/code&gt; e &lt;code&gt;customElements.get()&lt;/code&gt; - as armas secretas que todo Jedi do front-end precisa dominar! &lt;/p&gt;

&lt;h2&gt;
  
  
  🛠️ customElements.define(): Criando seu próprio Pokémon... quer dizer, Elemento!
&lt;/h2&gt;

&lt;p&gt;Imagina que você é um cientista maluco do front-end e quer criar sua própria criatura HTML. É aí que entra o &lt;code&gt;customElements.define()&lt;/code&gt;. Ele é tipo aquela máquina de clonagem do Mewtwo, só que pra elementos web!&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="kd"&gt;class&lt;/span&gt; &lt;span class="nc"&gt;ElementoTopzera&lt;/span&gt; &lt;span class="kd"&gt;extends&lt;/span&gt; &lt;span class="nc"&gt;HTMLElement&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
  &lt;span class="nf"&gt;constructor&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="k"&gt;super&lt;/span&gt;&lt;span class="p"&gt;();&lt;/span&gt;
    &lt;span class="k"&gt;this&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;innerHTML&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="s2"&gt;`&amp;lt;p&amp;gt;Eu sou incrível e customizado!&amp;lt;/p&amp;gt;`&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
  &lt;span class="p"&gt;}&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;

&lt;span class="nx"&gt;customElements&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;define&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;elemento-topzera&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;ElementoTopzera&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Agora você pode usar seu elemento como se fosse nativo do HTML:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight html"&gt;&lt;code&gt;&lt;span class="nt"&gt;&amp;lt;elemento-topzera&amp;gt;&amp;lt;/elemento-topzera&amp;gt;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;BOOM! 🎆 Você acabou de criar vida... no DOM!&lt;/p&gt;

&lt;h3&gt;
  
  
  🧙‍♂️ Exemplos mágicos pra impressionar seus amigos devs
&lt;/h3&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;O Botão Contador&lt;/strong&gt;
Imagine um botão que conta quantas vezes foi clicado. É tipo um scorecard pra sua paciência em debugar!
&lt;/li&gt;
&lt;/ol&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="kd"&gt;class&lt;/span&gt; &lt;span class="nc"&gt;BotaoContador&lt;/span&gt; &lt;span class="kd"&gt;extends&lt;/span&gt; &lt;span class="nc"&gt;HTMLElement&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
  &lt;span class="nf"&gt;constructor&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="k"&gt;super&lt;/span&gt;&lt;span class="p"&gt;();&lt;/span&gt;
    &lt;span class="k"&gt;this&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;count&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
    &lt;span class="k"&gt;this&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;innerHTML&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="s2"&gt;`
      &amp;lt;button&amp;gt;Cliques: &amp;lt;span&amp;gt;0&amp;lt;/span&amp;gt;&amp;lt;/button&amp;gt;
    `&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
    &lt;span class="k"&gt;this&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;addEventListener&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;click&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="p"&gt;()&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
      &lt;span class="k"&gt;this&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;count&lt;/span&gt;&lt;span class="o"&gt;++&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
      &lt;span class="k"&gt;this&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;querySelector&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;span&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;).&lt;/span&gt;&lt;span class="nx"&gt;textContent&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="k"&gt;this&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;count&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
    &lt;span class="p"&gt;});&lt;/span&gt;
  &lt;span class="p"&gt;}&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;

&lt;span class="nx"&gt;customElements&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;define&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;botao-contador&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;BotaoContador&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;O Card de Perfil&lt;/strong&gt;
Um card de perfil que é mais customizável que um personagem de RPG!
&lt;/li&gt;
&lt;/ol&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="kd"&gt;class&lt;/span&gt; &lt;span class="nc"&gt;CardPerfil&lt;/span&gt; &lt;span class="kd"&gt;extends&lt;/span&gt; &lt;span class="nc"&gt;HTMLElement&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
  &lt;span class="nf"&gt;constructor&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="k"&gt;super&lt;/span&gt;&lt;span class="p"&gt;();&lt;/span&gt;
    &lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;nome&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="k"&gt;this&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;getAttribute&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;nome&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="o"&gt;||&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;Dev Anônimo&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
    &lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;skill&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="k"&gt;this&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;getAttribute&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;skill&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="o"&gt;||&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;Café++&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;

    &lt;span class="k"&gt;this&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;innerHTML&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="s2"&gt;`
      &amp;lt;div style="border: 2px solid #333; padding: 10px; margin: 10px;"&amp;gt;
        &amp;lt;h2&amp;gt;&lt;/span&gt;&lt;span class="p"&gt;${&lt;/span&gt;&lt;span class="nx"&gt;nome&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="s2"&gt;&amp;lt;/h2&amp;gt;
        &amp;lt;p&amp;gt;Skill Suprema: &lt;/span&gt;&lt;span class="p"&gt;${&lt;/span&gt;&lt;span class="nx"&gt;skill&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="s2"&gt;&amp;lt;/p&amp;gt;
      &amp;lt;/div&amp;gt;
    `&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
  &lt;span class="p"&gt;}&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;

&lt;span class="nx"&gt;customElements&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;define&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;card-perfil&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;CardPerfil&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Usa assim, ó:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight html"&gt;&lt;code&gt;&lt;span class="nt"&gt;&amp;lt;card-perfil&lt;/span&gt; &lt;span class="na"&gt;nome=&lt;/span&gt;&lt;span class="s"&gt;"ZézimDev"&lt;/span&gt; &lt;span class="na"&gt;skill=&lt;/span&gt;&lt;span class="s"&gt;"Bug Hunter"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&amp;lt;/card-perfil&amp;gt;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  🕵️‍♂️ customElements.get(): O Sherlock Holmes dos Elementos
&lt;/h2&gt;

&lt;p&gt;Agora, e se você quisesse investigar se um elemento customizado já existe? É aí que entra o &lt;code&gt;customElements.get()&lt;/code&gt; - o detetive particular do mundo dos Web Components!&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;ElementoTopzera&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nx"&gt;customElements&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;get&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;elemento-topzera&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;

&lt;span class="k"&gt;if &lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;ElementoTopzera&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
  &lt;span class="nx"&gt;console&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;log&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;Elemento encontrado! Hora do show!&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
  &lt;span class="c1"&gt;// Faz alguma mágica aqui&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt; &lt;span class="k"&gt;else&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
  &lt;span class="nx"&gt;console&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;log&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;404 Elemento Not Found&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  🕹️ Use cases mais maneiros que um arcade dos anos 80
&lt;/h3&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Lazy Loading de componentes&lt;/strong&gt;
Carregue componentes só quando precisar, economizando mais memória que um programador tentando lembrar onde colocou o ponto e vírgula:
&lt;/li&gt;
&lt;/ol&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="kd"&gt;function&lt;/span&gt; &lt;span class="nf"&gt;carregaComponenteSeNecessario&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;nomeElemento&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
  &lt;span class="k"&gt;if &lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="o"&gt;!&lt;/span&gt;&lt;span class="nx"&gt;customElements&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;get&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;nomeElemento&lt;/span&gt;&lt;span class="p"&gt;))&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="k"&gt;import&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s2"&gt;`./components/&lt;/span&gt;&lt;span class="p"&gt;${&lt;/span&gt;&lt;span class="nx"&gt;nomeElemento&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="s2"&gt;.js`&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
      &lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;then&lt;/span&gt;&lt;span class="p"&gt;(()&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="nx"&gt;console&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;log&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s2"&gt;`&lt;/span&gt;&lt;span class="p"&gt;${&lt;/span&gt;&lt;span class="nx"&gt;nomeElemento&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="s2"&gt; carregado e pronto pra ação!`&lt;/span&gt;&lt;span class="p"&gt;))&lt;/span&gt;
      &lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="k"&gt;catch&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;err&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="nx"&gt;console&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;error&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s2"&gt;`Oops, deu ruim ao carregar &lt;/span&gt;&lt;span class="p"&gt;${&lt;/span&gt;&lt;span class="nx"&gt;nomeElemento&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="s2"&gt;`&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;err&lt;/span&gt;&lt;span class="p"&gt;));&lt;/span&gt;
  &lt;span class="p"&gt;}&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;

&lt;span class="nf"&gt;carregaComponenteSeNecessario&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;super-tabela&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Verificação de Segurança&lt;/strong&gt;
Confira se algum elemento maligno não está tentando se passar pelo seu:
&lt;/li&gt;
&lt;/ol&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="kd"&gt;function&lt;/span&gt; &lt;span class="nf"&gt;elementoSeguro&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;nomeElemento&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
  &lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;elemento&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nx"&gt;customElements&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;get&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;nomeElemento&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
  &lt;span class="k"&gt;if &lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;elemento&lt;/span&gt; &lt;span class="o"&gt;&amp;amp;&amp;amp;&lt;/span&gt; &lt;span class="nx"&gt;elemento&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;prototype&lt;/span&gt; &lt;span class="k"&gt;instanceof&lt;/span&gt; &lt;span class="nx"&gt;HTMLElement&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="nx"&gt;console&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;log&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;Elemento verificado e aprovado! 👍&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
    &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="kc"&gt;true&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
  &lt;span class="p"&gt;}&lt;/span&gt;
  &lt;span class="nx"&gt;console&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;warn&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;Elemento suspeito detectado! 🚨&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
  &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="kc"&gt;false&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;

&lt;span class="nf"&gt;elementoSeguro&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;botao-contador&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt; &lt;span class="c1"&gt;// true, se definido anteriormente&lt;/span&gt;
&lt;span class="nf"&gt;elementoSeguro&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;virus-malicioso&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt; &lt;span class="c1"&gt;// false, espero eu! 😅&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  🎓 Lições dos Mestres Jedi do Front-end
&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Nomes Únicos:&lt;/strong&gt; Escolha nomes de elementos que nem usernames de rede social - únicos e com traço no meio!&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Verifique Antes:&lt;/strong&gt; Sempre use &lt;code&gt;customElements.get()&lt;/code&gt; antes de definir, pra não causar uma ruptura no espaço-tempo do DOM.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Estenda com Sabedoria:&lt;/strong&gt; Quer superpoderes extras? Estenda elementos nativos:
&lt;/li&gt;
&lt;/ol&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;   &lt;span class="kd"&gt;class&lt;/span&gt; &lt;span class="nc"&gt;SuperButton&lt;/span&gt; &lt;span class="kd"&gt;extends&lt;/span&gt; &lt;span class="nc"&gt;HTMLButtonElement&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
     &lt;span class="c1"&gt;// Código supimpa aqui&lt;/span&gt;
   &lt;span class="p"&gt;}&lt;/span&gt;
   &lt;span class="nx"&gt;customElements&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;define&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;super-button&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;SuperButton&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt; &lt;span class="na"&gt;extends&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;button&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt; &lt;span class="p"&gt;});&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  🚀 Torne-se o Mestre dos Elementos!
&lt;/h2&gt;

&lt;p&gt;Com &lt;code&gt;customElements.define()&lt;/code&gt; e &lt;code&gt;customElements.get()&lt;/code&gt;, você tá pronto pra criar uma web mais customizada que setup de streamer! Lembra: com grandes poderes vêm grandes oportunidades de criar componentes incríveis!&lt;/p&gt;

&lt;p&gt;Agora é com você! Vai lá criar seus elementos e revolucionar a web! E se travar em algum bug, respira fundo e pensa: "O que o Linus Torvalds faria?" 😎🐧&lt;/p&gt;

&lt;p&gt;Quer se aprofundar mais nesse multiverso de possibilidades? Dá uma olhada na &lt;a href="https://developer.mozilla.org/en-US/docs/Web/API/Web_components/Using_custom_elements" rel="noopener noreferrer"&gt;documentação oficial de Custom Elements no MDN&lt;/a&gt;. É tipo o grimório dos feiticeiros do front-end! 📚✨&lt;/p&gt;

&lt;p&gt;E aí, dev? Ficou hypado pra criar seus próprios elementos? Compartilha aí nos comentários que elemento maluco você vai criar! Quem sabe na próxima a gente não faz um &lt;code&gt;&amp;lt;caffe-inator&amp;gt;&amp;lt;/caffe-inator&amp;gt;&lt;/code&gt; que transforma código em café! ☕💻&lt;/p&gt;

&lt;p&gt;May the code be with you, sempre! 🚀👨‍💻&lt;/p&gt;

</description>
      <category>webcomponents</category>
      <category>javascript</category>
      <category>html</category>
      <category>css</category>
    </item>
    <item>
      <title>Web Components: O Vingador secreto do Front-End que vai fazer seu código decolar!</title>
      <dc:creator>&lt;deMGoncalves /&gt;</dc:creator>
      <pubDate>Sat, 19 Oct 2024 21:41:23 +0000</pubDate>
      <link>https://dev.to/demgoncalves/web-components-o-vingador-secreto-do-front-end-que-vai-fazer-seu-codigo-decolar-2c4j</link>
      <guid>https://dev.to/demgoncalves/web-components-o-vingador-secreto-do-front-end-que-vai-fazer-seu-codigo-decolar-2c4j</guid>
      <description>&lt;p&gt;E aí, galera do front-end! Tá na hora de sair da bolha e conquistar a web de vez! 🌐&lt;/p&gt;

&lt;h2&gt;
  
  
  🕹️ O Power-Up Secreto que Você Nem Sabia que Precisava!
&lt;/h2&gt;

&lt;p&gt;Sabe aquela sensação de quando você descobre um atalho secreto num jogo que muda completamente sua gameplay? Pois é, Web Components são EXATAMENTE isso pro desenvolvimento web! 🤯&lt;/p&gt;

&lt;h2&gt;
  
  
  🦸‍♂️ Os Vingadores do Front-End: A Guerra Civil que Ninguém Pediu
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Homem de Ferro (React): "Eu sou o framework, eu sou!"&lt;/li&gt;
&lt;li&gt;Capitão América (Angular): "Eu posso fazer isso o dia todo."&lt;/li&gt;
&lt;li&gt;Thor (Vue): "Traga-me o Thanos... ops, quero dizer, os bugs!"&lt;/li&gt;
&lt;li&gt;Homem-Formiga (Svelte): "Ninguém me nota, mas sou poderoso!"&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;E no meio dessa batalha épica... surge o Nick Fury dos Web Components pra unir todo mundo! 🕵️‍♂️&lt;/p&gt;

&lt;h2&gt;
  
  
  🎭 O Crossover Mais Épico desde "Vingadores: Ultimato"
&lt;/h2&gt;

&lt;p&gt;Imagina só: Você, um dev React, de repente se depara com uma feature ANIMAL em Vue. O que fazer?&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;😭 Chorar no banho enquanto reescreve tudo?&lt;/li&gt;
&lt;li&gt;🧟‍♂️ Criar um Frankenstein de código?&lt;/li&gt;
&lt;li&gt;🦸‍♂️ Usar Web Components e integrar como um boss!&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Spoiler: A resposta certa é a 3! É tipo misturar Nutella com Ovomaltine - DIVINO! 🍫🥛&lt;/p&gt;

&lt;h2&gt;
  
  
  🏝️ Ilhas de Interatividade: Seu HTML Agora é um Arquipélago Sensacional!
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Páginas estáticas? ✅&lt;/li&gt;
&lt;li&gt;Interatividade dinâmica? ✅&lt;/li&gt;
&lt;li&gt;O melhor dos dois mundos? TOTAL ✅✅&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;É como colocar portais do Rick &amp;amp; Morty no seu site. Wubba Lubba Dub Dub! 🌀&lt;/p&gt;

&lt;h2&gt;
  
  
  🌍 Web Components: O Esperanto que Todo Dev Vai Querer Falar!
&lt;/h2&gt;

&lt;p&gt;Imagina criar um modal tão versátil que funciona em QUALQUER lugar:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Seu mega projeto React? Yep!&lt;/li&gt;
&lt;li&gt;O site de portfólio do seu tio em jQuery? Também!&lt;/li&gt;
&lt;li&gt;Aquele projetinho secreto em vanilla JS? Claro!&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;É tipo ter um canivete suíço no cinto de utilidades do Batman. MUITO PODER! 🦇🛠️&lt;/p&gt;

&lt;h2&gt;
  
  
  🤗🌈 Lição do Dia: Diversidade (de Tecnologias) é Tudo!
&lt;/h2&gt;

&lt;p&gt;Web Components não são o Thanos querendo acabar com metade do universo front-end. São mais os Guardiões da Galáxia: um grupo diverso e maluco que, de alguma forma, faz tudo funcionar MELHOR junto! 🚀👾&lt;/p&gt;

&lt;h2&gt;
  
  
  🧙‍♂️ Hora de Virar um Mestre Jedi dos Web Components!
&lt;/h2&gt;

&lt;p&gt;Se você ainda não deu uma chance pros Web Components, tá na hora de expandir seus horizontes, jovem padawan. Não vai substituir seu framework favorito, mas vai te dar superpoderes que você nem sabia que queria!&lt;/p&gt;

&lt;p&gt;E aí, bora codar um mundo mais unido e interoperável? Deixa nos comentários sua ideia mais INSANA de Web Component! Quem sabe a gente não monta um squad pra salvar o mundo do front-end? 🦸‍♀️🦸‍♂️&lt;/p&gt;

&lt;p&gt;Até a próxima, e que a força do JavaScript esteja com você! May the console.log be with you! 🖖💻&lt;/p&gt;

</description>
      <category>webcomponents</category>
      <category>javascript</category>
      <category>html</category>
      <category>css</category>
    </item>
    <item>
      <title>Por que ninguém fala de Web Components?</title>
      <dc:creator>&lt;deMGoncalves /&gt;</dc:creator>
      <pubDate>Thu, 17 Oct 2024 10:44:01 +0000</pubDate>
      <link>https://dev.to/demgoncalves/por-que-ninguem-fala-de-web-components-2ihp</link>
      <guid>https://dev.to/demgoncalves/por-que-ninguem-fala-de-web-components-2ihp</guid>
      <description>&lt;p&gt;Sabe quando você tá numa roda de devs, a galera começa a falar sobre &lt;strong&gt;React, Angular, Vue&lt;/strong&gt; e até &lt;strong&gt;Svelte&lt;/strong&gt;, mas &lt;em&gt;ninguém&lt;/em&gt; menciona &lt;strong&gt;Web Components&lt;/strong&gt;? Isso me deixa encucado 😤. Parece que os Web Components são esse grande elefante branco do desenvolvimento web: eles estão aí, são super poderosos, várias empresas &lt;strong&gt;grandes&lt;/strong&gt; já estão usando... mas ninguém fala sobre eles como deveriam. Então, deixa eu desabafar aqui 🗣️.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;"Não Tem Caso de Sucesso!" – Será Mesmo?&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;Essa é uma das desculpas que mais escuto 🥱. Gente falando: “Ah, mas não tem produto grande que usa Web Components, né?” &lt;strong&gt;Como assim, não tem?&lt;/strong&gt; 😤 &lt;strong&gt;Olha ao redor!&lt;/strong&gt; Grandes players como &lt;strong&gt;IKEA, GitHub, Salesforce, até mesmo a Microsoft&lt;/strong&gt; já usam Web Components em seus sistemas. Sério, se empresas desse calibre confiam nos Web Components pra escalar seus projetos, então tá na hora de parar de ignorar o óbvio 🔥.&lt;/p&gt;

&lt;p&gt;O problema é que, diferente do React, que o &lt;strong&gt;Facebook&lt;/strong&gt; coloca lá no alto no pedestal 🏆, ou do Angular, que é o queridinho do Google, Web Components nunca tiveram um marketing bombástico 💥. Então, o pessoal acaba com essa visão distorcida de que “não tem cases de sucesso”. &lt;strong&gt;Mas tem, sim!&lt;/strong&gt; Só não estão jogando na sua cara.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;"São Lentíssimos" – Essa Eu Já Ouvi Antes&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;Outra falácia que me tira do sério: “Web Components são lentos” 🐌. Tá, vamos lá. Web Components não são um framework mágico que resolve tudo no estalar de dedos ✨, mas eles são a &lt;strong&gt;base sólida&lt;/strong&gt; para construir componentes &lt;strong&gt;reutilizáveis&lt;/strong&gt; e &lt;strong&gt;isolados&lt;/strong&gt;. Eles são como um bom prato que cozinha devagar, tipo aquele &lt;strong&gt;brisket&lt;/strong&gt; que fica perfeito depois de horas no forno 🍖. E sim, algumas features podem demorar mais pra ganhar suporte total em todos os navegadores, mas cara, &lt;strong&gt;hoje em dia isso é exceção, não regra&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;E o mais engraçado: a galera que reclama que Web Components são lentos, muitas vezes tá lidando com bundles gigantescos de frameworks 📦. &lt;strong&gt;Web Components, na real, podem te ajudar a reduzir isso&lt;/strong&gt;, dependendo de como você os usa.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;"São Difíceis de Aprender" – Mas Será Que São Mesmo?&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;A curva de aprendizado... Beleza, eu dou esse ponto pra quem levanta essa questão 🧐. O &lt;strong&gt;Shadow DOM&lt;/strong&gt; e algumas partes mais técnicas dos Web Components podem ser difíceis de engolir à primeira vista 🤔. Mas, honestamente, &lt;strong&gt;todo framework ou biblioteca tem uma curva de aprendizado&lt;/strong&gt;. &lt;strong&gt;React&lt;/strong&gt; não era simples no início (e não é até hoje, dependendo do que você quer fazer) 🤯. Se você tá disposto a aprender &lt;strong&gt;React hooks, efeitos colaterais, render props&lt;/strong&gt; e toda aquela parafernália, então aprender Web Components não deveria ser um obstáculo tão grande assim. &lt;strong&gt;É só uma questão de se permitir explorar&lt;/strong&gt; 🔍.&lt;/p&gt;

&lt;p&gt;E o que ninguém fala? &lt;strong&gt;Web Components funcionam nativamente nos navegadores&lt;/strong&gt; 🌐. Ou seja, quando você aprende a mexer neles, tá aprendendo algo que vai durar &lt;strong&gt;muito tempo&lt;/strong&gt;, sem precisar ficar correndo atrás de updates de versões de framework, breaking changes e toda aquela bagunça.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;"Ninguém Fala Deles" – Pois Eu Vou Falar!&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;Se tem uma coisa que me incomoda de verdade é essa cultura de que, se não tá no hype do Twitter ou nas conferências gigantes, a tecnologia “não vale a pena” 🤨. Sinto muito, mas &lt;strong&gt;Web Components são incríveis&lt;/strong&gt;, e o fato de que grandes empresas estão adotando eles só reforça isso 🏢. O ecossistema está crescendo, com &lt;strong&gt;novos frameworks como Rocket, Enhance, e Eleventy&lt;/strong&gt; que estão mostrando como Web Components podem ser uma base forte para aplicações modernas 🚀.&lt;/p&gt;

&lt;p&gt;E outra: &lt;strong&gt;Web Components são agora&lt;/strong&gt;. Se você ainda acha que é "tecnologia do futuro" ou algo experimental, desculpa, mas &lt;strong&gt;você tá atrasado&lt;/strong&gt; ⏳. O suporte nos navegadores tá praticamente fechado, os gaps estão sendo preenchidos, e a coisa tá fluindo 📈. Quer apostar? &lt;strong&gt;Se você der uma chance agora&lt;/strong&gt;, daqui a uns anos vai se orgulhar de ter saído na frente da onda 🌊.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;Bora Mudar Essa Conversa!&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;Eu entendo que há resistência 😬. Migrar de um ecossistema sólido como &lt;strong&gt;React ou Angular&lt;/strong&gt; para algo diferente é difícil. Mas a verdade é que &lt;strong&gt;Web Components não só são viáveis como estão sendo usados por gigantes&lt;/strong&gt; 🏆. E se você continuar ignorando, só porque não tem uma fanbase barulhenta como outros frameworks, vai estar perdendo a chance de explorar uma tecnologia que tem &lt;strong&gt;tudo&lt;/strong&gt; para durar 🛠️.&lt;/p&gt;

&lt;p&gt;Então, tá na hora de parar com essa visão atrasada e reconhecer o valor real dos &lt;strong&gt;Web Components&lt;/strong&gt;. Eles não são só uma tendência obscura, são uma &lt;strong&gt;realidade&lt;/strong&gt; que já tá rodando em &lt;strong&gt;grandes empresas&lt;/strong&gt; e podem, sim, ser a base para o seu próximo projeto de sucesso ⭐. E aí, vai continuar dizendo que não existem casos de sucesso?&lt;/p&gt;

</description>
      <category>webcomponents</category>
      <category>javascript</category>
      <category>html</category>
      <category>css</category>
    </item>
    <item>
      <title>Microsoft está jogando pesado com Web Components e você deveria prestar atenção!</title>
      <dc:creator>&lt;deMGoncalves /&gt;</dc:creator>
      <pubDate>Tue, 15 Oct 2024 01:11:40 +0000</pubDate>
      <link>https://dev.to/demgoncalves/microsoft-esta-jogando-pesado-com-web-components-e-voce-deveria-prestar-atencao-2gc3</link>
      <guid>https://dev.to/demgoncalves/microsoft-esta-jogando-pesado-com-web-components-e-voce-deveria-prestar-atencao-2gc3</guid>
      <description>&lt;p&gt;Se você ainda acha que o futuro dos componentes da web tá nos frameworks como React, a galera do &lt;strong&gt;Microsoft Edge&lt;/strong&gt; tá aqui pra dar aquele &lt;em&gt;plot twist&lt;/em&gt;! 😱 Isso mesmo! Eles estão trocando nada mais, nada menos, que o React pelos bons e velhos &lt;strong&gt;Web Components nativos&lt;/strong&gt;. E o motivo? Simples: &lt;strong&gt;performance e simplicidade&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;A equipe de desenvolvimento do Edge, liderada pelo Andrew Ritz, tá focada em turbinar o desempenho do navegador e das web apps. Tudo começou com o lançamento do &lt;strong&gt;WebUI 2.0&lt;/strong&gt;, um projeto que tem como missão transformar cerca de 50% das UIs React do navegador em componentes nativos até o final deste ano. Já pensou o impacto disso? 🔥&lt;/p&gt;

&lt;h3&gt;
  
  
  E o que rolou?
&lt;/h3&gt;

&lt;p&gt;Eles sacaram que o React tava virando um verdadeiro &lt;em&gt;caos controlado&lt;/em&gt; nas UIs do navegador, especialmente em máquinas mais humildes. 😨 Sabe aquele "bundle gigantesco" que todo mundo se acostumou a depender? Pois é, a saída foi voltar às raízes: &lt;strong&gt;HTML&lt;/strong&gt; e &lt;strong&gt;CSS&lt;/strong&gt;, priorizando o markup. Precisou de JavaScript? Só naquelas, com direito a pausa pra um café e consulta com um engenheiro sênior. &lt;/p&gt;

&lt;h3&gt;
  
  
  Mas por que Web Components?
&lt;/h3&gt;

&lt;p&gt;A pergunta que não quer calar: &lt;strong&gt;Por que largar o React e adotar Web Components?&lt;/strong&gt; A resposta tá no combo: &lt;strong&gt;interoperabilidade&lt;/strong&gt; e &lt;strong&gt;estabilidade&lt;/strong&gt;. 🎯 Ritz e sua equipe cansaram da troca de frameworks e da dependência monstra de JavaScript. Com Web Components, o que você constrói hoje vai funcionar amanhã, sem precisar refatorar tudo quando lançarem um "novo queridinho do frontend".&lt;/p&gt;

&lt;p&gt;E vou te contar, os resultados já tão aparecendo! 🌟 Na UI das extensões do Edge, por exemplo, trocar React por Web Components deu um boost de performance sinistro. O tempo de carregamento foi pro espaço e a experiência do usuário subiu de nível!&lt;/p&gt;

&lt;h3&gt;
  
  
  Mas Web Components não são complicados?
&lt;/h3&gt;

&lt;p&gt;Agora, vem aquela dúvida: &lt;strong&gt;Web Components não são difíceis de implementar?&lt;/strong&gt; Bom, a curva de aprendizado existe, sim. Mas, de acordo com o Ritz, o fluxo de trabalho melhorou consideravelmente, focando no que &lt;strong&gt;HTML&lt;/strong&gt; e &lt;strong&gt;CSS&lt;/strong&gt; nativos podem fazer. O papo entre devs e designers ficou mais direto – todo mundo falando a mesma língua agora! 💪&lt;/p&gt;

&lt;h3&gt;
  
  
  E o que isso significa pro futuro?
&lt;/h3&gt;

&lt;p&gt;Se até a Microsoft tá dando tchauzinho pro React, o que isso significa pra nós, devs? Bom, o Edge tá mostrando o caminho, e o plano é liberar os pacotes do WebUI 2.0 como &lt;strong&gt;open-source&lt;/strong&gt; em breve, com padrões de plataforma que qualquer dev vai poder usar.&lt;/p&gt;

&lt;p&gt;E segura essa: o movimento já começou dentro da Microsoft. A ideia é convencer outros times a entrar na onda dos &lt;strong&gt;Web Components&lt;/strong&gt;. Vai ser interessante acompanhar essa migração e, quem sabe, ver outras gigantes seguindo pelo mesmo caminho!&lt;/p&gt;

&lt;p&gt;Então, meu conselho: fica ligado nessa tendência! &lt;strong&gt;Web Components&lt;/strong&gt; podem ser o futuro mais estável e performático que a web precisa. 🌐✨&lt;/p&gt;

&lt;p&gt;Agora é a sua vez! &lt;strong&gt;Web Components ou React&lt;/strong&gt;? Em qual lado dessa batalha você aposta? 👀👇&lt;/p&gt;

</description>
      <category>webcomponents</category>
      <category>javascript</category>
      <category>html</category>
      <category>css</category>
    </item>
    <item>
      <title>Você está ignorando os Web Components?</title>
      <dc:creator>&lt;deMGoncalves /&gt;</dc:creator>
      <pubDate>Sat, 12 Oct 2024 15:52:21 +0000</pubDate>
      <link>https://dev.to/demgoncalves/voce-esta-ignorando-os-web-components-5a97</link>
      <guid>https://dev.to/demgoncalves/voce-esta-ignorando-os-web-components-5a97</guid>
      <description>&lt;p&gt;&lt;strong&gt;Ei, pessoal!&lt;/strong&gt; 🎉&lt;/p&gt;

&lt;p&gt;Vamos bater um papo sobre o que está fervendo no mundo do front-end? 🤫💻&lt;/p&gt;

&lt;p&gt;Nos últimos anos, o desenvolvimento front-end passou por transformações significativas. Mas, olha só, muitos dos nossos colegas ainda estão presos a bibliotecas e frameworks tradicionais, como se não tivesse uma &lt;strong&gt;revolução silenciosa&lt;/strong&gt; rolando à nossa volta: &lt;strong&gt;os Web Components&lt;/strong&gt;! 🚀 Enquanto a indústria está surfando numa onda de &lt;strong&gt;modularidade&lt;/strong&gt; e &lt;strong&gt;reutilização de código&lt;/strong&gt;, tem uma galera que tá totalmente alheia a essa &lt;strong&gt;evolução crucial&lt;/strong&gt;. &lt;/p&gt;

&lt;p&gt;Neste post, vamos explorar como &lt;strong&gt;grandes empresas&lt;/strong&gt;, de tecnologia a aviação, estão adotando os Web Components, e revelar uma &lt;strong&gt;mudança de paradigma&lt;/strong&gt; que os front-ends teimosamente ignoram. &lt;strong&gt;Se prepara&lt;/strong&gt;, porque você vai enxergar além do que está diante dos olhos e descobrir o futuro do desenvolvimento web! 🌐✨&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;2011 - O Início da Revolução&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;Lá em &lt;strong&gt;2011&lt;/strong&gt;, tudo começou na &lt;strong&gt;Conferência Fronteers&lt;/strong&gt;, onde o &lt;strong&gt;Alex Russell&lt;/strong&gt; chegou todo animado e apresentou a ideia de criar &lt;strong&gt;componentes HTML reutilizáveis&lt;/strong&gt;. A ideia era padronizar como a &lt;strong&gt;lógica&lt;/strong&gt;, a &lt;strong&gt;estrutura&lt;/strong&gt; e o &lt;strong&gt;estilo&lt;/strong&gt; poderiam ser encapsulados em &lt;strong&gt;elementos nativos&lt;/strong&gt; dos navegadores. &lt;strong&gt;Olha que genial!&lt;/strong&gt; 💡 O &lt;strong&gt;Google&lt;/strong&gt;, esperto como sempre, foi uma das primeiras a abraçar essa ideia, começando a integrar Web Components em seus projetos.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;2012 - Prototipagem com Polymer&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;Aí vem &lt;strong&gt;2012&lt;/strong&gt; e surge o &lt;strong&gt;Polymer&lt;/strong&gt;! 🎉 Essa biblioteca trouxe um superpoder para a galera: &lt;strong&gt;os polyfills&lt;/strong&gt;! Agora, a turma pode experimentar funcionalidades como &lt;strong&gt;Custom Elements&lt;/strong&gt;, &lt;strong&gt;Shadow DOM&lt;/strong&gt; e &lt;strong&gt;HTML Templates&lt;/strong&gt; antes de serem oficialmente padronizadas. A &lt;strong&gt;Adobe&lt;/strong&gt; também ficou de olho e começou a brincar com a tecnologia, reconhecendo todo o potencial que os Web Components tinham para oferecer.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;2013 - Avanços na Especificação&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;Em &lt;strong&gt;2013&lt;/strong&gt;, a festa continuou com o trabalho em uma &lt;strong&gt;especificação inicial&lt;/strong&gt; para &lt;strong&gt;Custom Elements&lt;/strong&gt;. A &lt;strong&gt;NASA&lt;/strong&gt; se jogou nessa, usando Web Components em suas interfaces para visualização de dados. &lt;strong&gt;Imagina só&lt;/strong&gt;: enquanto a gente tá de boa aqui, eles estão usando isso para explorar o espaço! 🚀👽&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;2014 - Polymer Summit e Aumento da Popularidade&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;Em &lt;strong&gt;2014&lt;/strong&gt;, rolou a &lt;strong&gt;primeira conferência&lt;/strong&gt; dedicada ao Polymer e a galera começou a mostrar casos de uso de Web Components em &lt;strong&gt;projetos do mundo real&lt;/strong&gt;. O &lt;strong&gt;GitHub&lt;/strong&gt;, que não é bobo nem nada, começou a implementar Web Components em suas ferramentas, aproveitando a &lt;strong&gt;modularidade&lt;/strong&gt; e a &lt;strong&gt;facilidade de manutenção&lt;/strong&gt; que essa abordagem oferecia.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;2015 - A Era da Padronização&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;Chegamos em &lt;strong&gt;2015&lt;/strong&gt;, e o &lt;strong&gt;W3C&lt;/strong&gt; começou a formalizar as especificações dos Web Components. A &lt;strong&gt;Microsoft&lt;/strong&gt; e a &lt;strong&gt;IBM&lt;/strong&gt; também começaram a explorar essa nova onda, reconhecendo seu potencial para melhorar a &lt;strong&gt;interoperabilidade&lt;/strong&gt; entre produtos. &lt;strong&gt;Se não é uma corrida para ver quem chega primeiro!&lt;/strong&gt; 🏁&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;2016 - Suporte de Navegadores e Avanços&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;Em &lt;strong&gt;2016&lt;/strong&gt;, os navegadores como &lt;strong&gt;Chrome&lt;/strong&gt; e &lt;strong&gt;Safari&lt;/strong&gt; finalmente abriram as portas para os Web Components. E adivinha quem entrou de cabeça? A &lt;strong&gt;American Airlines&lt;/strong&gt; e a &lt;strong&gt;Ford Motors&lt;/strong&gt; começaram a usar essa tecnologia para &lt;strong&gt;melhorar a experiência do usuário&lt;/strong&gt; em seus sites e aplicativos. &lt;strong&gt;Olha o poder dos Web Components!&lt;/strong&gt; 💪✨&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;2017 - Expansão do Suporte e Adaptação&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;O &lt;strong&gt;Firefox&lt;/strong&gt;, não querendo ficar de fora, lançou suporte oficial para Web Components em &lt;strong&gt;2017&lt;/strong&gt;. Com isso, &lt;strong&gt;GitLab&lt;/strong&gt; e &lt;strong&gt;Red Hat&lt;/strong&gt; adotaram a nova tecnologia em suas soluções, mostrando que os Web Components estavam &lt;strong&gt;ganhando força&lt;/strong&gt;.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;2018 - A Maturidade dos Web Components&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;Em &lt;strong&gt;2018&lt;/strong&gt;, com a migração do &lt;strong&gt;Microsoft Edge&lt;/strong&gt; para o motor &lt;strong&gt;Chromium&lt;/strong&gt;, o suporte robusto se consolidou. Empresas como &lt;strong&gt;SpaceX&lt;/strong&gt; e &lt;strong&gt;Scania&lt;/strong&gt; começaram a integrar Web Components, buscando otimizar a &lt;strong&gt;interface&lt;/strong&gt; e a &lt;strong&gt;usabilidade&lt;/strong&gt; de seus produtos. &lt;strong&gt;Eles estavam à frente da curva!&lt;/strong&gt; 🌟&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;2019 - Evolução do Polymer para LitElement&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;E em &lt;strong&gt;2019&lt;/strong&gt;, o &lt;strong&gt;Polymer&lt;/strong&gt; evoluiu para &lt;strong&gt;LitElement&lt;/strong&gt;, simplificando ainda mais o uso dos Web Components. O &lt;strong&gt;GitHub&lt;/strong&gt; continuou a expandir suas funcionalidades baseadas nessa tecnologia, sempre buscando &lt;strong&gt;inovar&lt;/strong&gt;.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;2021 - Consolidação com Lit v2&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;Com o lançamento do &lt;strong&gt;Lit v2&lt;/strong&gt; em &lt;strong&gt;2021&lt;/strong&gt;, as coisas melhoraram ainda mais! 🌈 Empresas como &lt;strong&gt;Amazon&lt;/strong&gt;, &lt;strong&gt;Salesforce&lt;/strong&gt; e &lt;strong&gt;Adobe&lt;/strong&gt; começaram a adotar Web Components em suas plataformas, provando que essa abordagem realmente funciona.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;2023 - Adoção Mainstream e Integração&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;E agora, em &lt;strong&gt;2023&lt;/strong&gt;, os Web Components estão por toda parte em plataformas como &lt;strong&gt;YouTube&lt;/strong&gt;, &lt;strong&gt;GitHub&lt;/strong&gt; e &lt;strong&gt;Adobe&lt;/strong&gt;. A comunidade também está se mexendo para criar &lt;strong&gt;documentação&lt;/strong&gt; e &lt;strong&gt;guias&lt;/strong&gt;, facilitando a integração dessa tecnologia com os ecossistemas populares de desenvolvimento front-end.&lt;/p&gt;

&lt;p&gt;E, adivinha só? Em &lt;strong&gt;2023&lt;/strong&gt;, já impressionantes &lt;strong&gt;20% dos sites estão utilizando Web Components&lt;/strong&gt;, segundo dados do &lt;strong&gt;Chrome Status&lt;/strong&gt;. 🧐 Isso mostra que a tecnologia está &lt;strong&gt;ganhando terreno&lt;/strong&gt; e conquistando o coração dos desenvolvedores!&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fnzopmig9dzlen8gh4bpn.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fnzopmig9dzlen8gh4bpn.png" alt="Image description" width="800" height="415"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://chromestatus.com/metrics/feature/timeline/popularity/1689" rel="noopener noreferrer"&gt;Chrome status&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Além disso, o crescimento dos Web Components é palpável na comunidade do &lt;strong&gt;Stack Overflow&lt;/strong&gt;, onde cada vez mais desenvolvedores estão se engajando e compartilhando suas experiências com essa abordagem inovadora. 📈&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fybh4uc7wqlkqp5n0vftv.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fybh4uc7wqlkqp5n0vftv.png" alt="Image description" width="650" height="434"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://trends.stackoverflow.co/?tags=web-component" rel="noopener noreferrer"&gt;Stack Overflow&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Mas, olha, enquanto os Web Components se tornam rapidamente a norma entre grandes empresas, como &lt;strong&gt;Amazon&lt;/strong&gt;, &lt;strong&gt;Apple&lt;/strong&gt; e &lt;strong&gt;Microsoft&lt;/strong&gt;, muitos desenvolvedores front-end parecem ignorar essa &lt;strong&gt;evolução significativa&lt;/strong&gt;. 😱 A crescente adoção dessa tecnologia não é só uma tendência passageira; é uma &lt;strong&gt;mudança fundamental&lt;/strong&gt; na forma como construímos aplicações web.&lt;/p&gt;

&lt;p&gt;É alarmante ver essa epidemia de desatenção no campo do front-end, onde muitos profissionais ficam cegos para as oportunidades que os Web Components oferecem. 🚨 &lt;strong&gt;Não deixe essa revolução passar despercebida&lt;/strong&gt; — &lt;em&gt;comece a explorar os Web Components e descubra como eles podem revolucionar sua abordagem ao desenvolvimento front-end!&lt;/em&gt; &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Bora lá, time!&lt;/strong&gt; 💪✨&lt;/p&gt;

</description>
      <category>webcomponents</category>
      <category>javascript</category>
      <category>html</category>
      <category>css</category>
    </item>
  </channel>
</rss>
