<?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: Sther</title>
    <description>The latest articles on DEV Community by Sther (@stherzada).</description>
    <link>https://dev.to/stherzada</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%2F1079118%2Fed48596d-4cad-49e7-862e-2201c7968d12.jpg</url>
      <title>DEV Community: Sther</title>
      <link>https://dev.to/stherzada</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/stherzada"/>
    <language>en</language>
    <item>
      <title>A importância de um HTML semântico</title>
      <dc:creator>Sther</dc:creator>
      <pubDate>Wed, 03 Sep 2025 22:40:59 +0000</pubDate>
      <link>https://dev.to/stherzada/a-importancia-de-um-html-semantico-58j9</link>
      <guid>https://dev.to/stherzada/a-importancia-de-um-html-semantico-58j9</guid>
      <description>&lt;p&gt;Olá! Eu sou a Sther e hoje quero compartilhar com vocês a importância do HTML semântico.&lt;br&gt;
Muita gente pensa que frontend é só sair colocando &lt;code&gt;&amp;lt;div&amp;gt;&lt;/code&gt; e "ser feliz". Mas, a longo prazo, isso pode se transformar em um verdadeiro pesadelo: código confuso, difícil de manter, prejudicial para o SEO e nada acessível para usuários que dependem de tecnologias assistivas.&lt;/p&gt;

&lt;p&gt;Aí que entra o poder da &lt;strong&gt;semântica&lt;/strong&gt; :D&lt;/p&gt;
&lt;h2&gt;
  
  
  🏷️ O que é HTML Semântico?
&lt;/h2&gt;

&lt;p&gt;Segundo o &lt;a href="https://developer.mozilla.org/pt-BR/docs/Glossary/Semantics" rel="noopener noreferrer"&gt;MDN Web Docs&lt;/a&gt;:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Semântica:&lt;/strong&gt;&lt;br&gt;
&lt;em&gt;Na programação, a semântica se refere ao significado de um trecho de código — por exemplo, "que efeito tem a execução dessa linha de JavaScript?" ou "que finalidade ou função esse elemento HTML tem" (em vez de "como ele se parece?").&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;Ou seja, não é sobre a aparência de um elemento, mas sobre o significado e o papel que ele exerce dentro da página.&lt;/p&gt;

&lt;p&gt;Um exemplo simples:&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="c"&gt;&amp;lt;!-- Ruim: sem semântica --&amp;gt;&lt;/span&gt;
&lt;span class="nt"&gt;&amp;lt;div&amp;gt;&lt;/span&gt;Meu título principal&lt;span class="nt"&gt;&amp;lt;/div&amp;gt;&lt;/span&gt;
&lt;span class="nt"&gt;&amp;lt;div&amp;gt;&lt;/span&gt;Seção de artigos&lt;span class="nt"&gt;&amp;lt;/div&amp;gt;&lt;/span&gt;
&lt;span class="nt"&gt;&amp;lt;div&amp;gt;&lt;/span&gt;Rodapé&lt;span class="nt"&gt;&amp;lt;/div&amp;gt;&lt;/span&gt;

&lt;span class="c"&gt;&amp;lt;!-- Bom: com semântica --&amp;gt;&lt;/span&gt;
&lt;span class="nt"&gt;&amp;lt;h1&amp;gt;&lt;/span&gt;Meu título principal&lt;span class="nt"&gt;&amp;lt;/h1&amp;gt;&lt;/span&gt;
&lt;span class="nt"&gt;&amp;lt;section&amp;gt;&lt;/span&gt;Seção de artigos&lt;span class="nt"&gt;&amp;lt;/section&amp;gt;&lt;/span&gt;
&lt;span class="nt"&gt;&amp;lt;footer&amp;gt;&lt;/span&gt;Rodapé&lt;span class="nt"&gt;&amp;lt;/footer&amp;gt;&lt;/span&gt;

&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Com o uso correto, navegadores, mecanismos de busca e leitores de tela conseguem entender melhor a estrutura do conteúdo.&lt;/p&gt;

&lt;h2&gt;
  
  
  📈 HTML Semântico e SEO
&lt;/h2&gt;

&lt;p&gt;O SEO (Search Engine Optimization) é um dos maiores aliados de quem quer destacar um site nos mecanismos de busca.&lt;/p&gt;

&lt;p&gt;Um dos erros mais comuns é usar vários &lt;code&gt;&amp;lt;h1&amp;gt;&lt;/code&gt; na mesma página: isso confunde o bot do Google,  e ele não sabe qual título considerar como o principal.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Exemplo:&lt;/strong&gt;&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="c"&gt;&amp;lt;!-- Errado --&amp;gt;&lt;/span&gt;
&lt;span class="nt"&gt;&amp;lt;h1&amp;gt;&lt;/span&gt;Sobre nós&lt;span class="nt"&gt;&amp;lt;/h1&amp;gt;&lt;/span&gt;
&lt;span class="nt"&gt;&amp;lt;h1&amp;gt;&lt;/span&gt;Produtos&lt;span class="nt"&gt;&amp;lt;/h1&amp;gt;&lt;/span&gt;
&lt;span class="nt"&gt;&amp;lt;h1&amp;gt;&lt;/span&gt;Contato&lt;span class="nt"&gt;&amp;lt;/h1&amp;gt;&lt;/span&gt;

&lt;span class="c"&gt;&amp;lt;!-- Correto --&amp;gt;&lt;/span&gt;
&lt;span class="nt"&gt;&amp;lt;h1&amp;gt;&lt;/span&gt;Minha Empresa&lt;span class="nt"&gt;&amp;lt;/h1&amp;gt;&lt;/span&gt;
&lt;span class="nt"&gt;&amp;lt;h2&amp;gt;&lt;/span&gt;Sobre nós&lt;span class="nt"&gt;&amp;lt;/h2&amp;gt;&lt;/span&gt;
&lt;span class="nt"&gt;&amp;lt;h2&amp;gt;&lt;/span&gt;Produtos&lt;span class="nt"&gt;&amp;lt;/h2&amp;gt;&lt;/span&gt;
&lt;span class="nt"&gt;&amp;lt;h2&amp;gt;&lt;/span&gt;Contato&lt;span class="nt"&gt;&amp;lt;/h2&amp;gt;&lt;/span&gt;

&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;A hierarquia correta de cabeçalhos ajuda os “bots” a entenderem a estrutura da informação e melhora o ranqueamento do site.&lt;/p&gt;

&lt;h2&gt;
  
  
  ♿ HTML Semântico e Acessibilidade
&lt;/h2&gt;

&lt;p&gt;A acessibilidade é uma das funcionalidades principais do site, gosto de imaginar que garante que qualquer pessoa consiga navegar pelo seu site, inclusive quem utiliza leitores de tela.&lt;/p&gt;

&lt;p&gt;Veja a diferença que uma boa estrutura faz:&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;header&amp;gt;&lt;/span&gt;
  &lt;span class="nt"&gt;&amp;lt;h1&amp;gt;&lt;/span&gt;Blog da Sther&lt;span class="nt"&gt;&amp;lt;/h1&amp;gt;&lt;/span&gt;
&lt;span class="nt"&gt;&amp;lt;/header&amp;gt;&lt;/span&gt;

&lt;span class="nt"&gt;&amp;lt;nav&amp;gt;&lt;/span&gt;
  &lt;span class="nt"&gt;&amp;lt;ul&amp;gt;&lt;/span&gt;
    &lt;span class="nt"&gt;&amp;lt;li&amp;gt;&amp;lt;a&lt;/span&gt; &lt;span class="na"&gt;href=&lt;/span&gt;&lt;span class="s"&gt;"#artigos"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;Artigos&lt;span class="nt"&gt;&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;&lt;/span&gt;
    &lt;span class="nt"&gt;&amp;lt;li&amp;gt;&amp;lt;a&lt;/span&gt; &lt;span class="na"&gt;href=&lt;/span&gt;&lt;span class="s"&gt;"#sobre"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;Sobre&lt;span class="nt"&gt;&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;&lt;/span&gt;
  &lt;span class="nt"&gt;&amp;lt;/ul&amp;gt;&lt;/span&gt;
&lt;span class="nt"&gt;&amp;lt;/nav&amp;gt;&lt;/span&gt;

&lt;span class="nt"&gt;&amp;lt;main&amp;gt;&lt;/span&gt;
  &lt;span class="nt"&gt;&amp;lt;article&lt;/span&gt; &lt;span class="na"&gt;id=&lt;/span&gt;&lt;span class="s"&gt;"artigos"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;
    &lt;span class="nt"&gt;&amp;lt;h2&amp;gt;&lt;/span&gt;Por que HTML semântico importa?&lt;span class="nt"&gt;&amp;lt;/h2&amp;gt;&lt;/span&gt;
    &lt;span class="nt"&gt;&amp;lt;p&amp;gt;&lt;/span&gt;Explicação do conteúdo…&lt;span class="nt"&gt;&amp;lt;/p&amp;gt;&lt;/span&gt;
  &lt;span class="nt"&gt;&amp;lt;/article&amp;gt;&lt;/span&gt;
&lt;span class="nt"&gt;&amp;lt;/main&amp;gt;&lt;/span&gt;

&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Com essa organização, o leitor de tela consegue identificar cabeçalho, menu, conteúdo principal e artigos de forma clara.&lt;/p&gt;

&lt;h2&gt;
  
  
  🔧 ARIA: Quando a Semântica Precisa de Ajuda
&lt;/h2&gt;

&lt;p&gt;Nem sempre apenas as tags são suficientes. Em elementos dinâmicos  como carrosséis, abas ou menus dropdown  é possível usar atributos ARIA para dar mais contexto às tecnologias assistivas.&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;div&lt;/span&gt; &lt;span class="na"&gt;role=&lt;/span&gt;&lt;span class="s"&gt;"region"&lt;/span&gt; &lt;span class="na"&gt;aria-label=&lt;/span&gt;&lt;span class="s"&gt;"Carrossel de imagens"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;
  &lt;span class="nt"&gt;&amp;lt;button&lt;/span&gt; &lt;span class="na"&gt;aria-label=&lt;/span&gt;&lt;span class="s"&gt;"Imagem anterior"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;◀&lt;span class="nt"&gt;&amp;lt;/button&amp;gt;&lt;/span&gt;
  &lt;span class="nt"&gt;&amp;lt;img&lt;/span&gt; &lt;span class="na"&gt;src=&lt;/span&gt;&lt;span class="s"&gt;"foto1.jpg"&lt;/span&gt; &lt;span class="na"&gt;alt=&lt;/span&gt;&lt;span class="s"&gt;"Pôr do sol na praia"&lt;/span&gt; &lt;span class="na"&gt;aria-hidden=&lt;/span&gt;&lt;span class="s"&gt;"false"&lt;/span&gt; &lt;span class="nt"&gt;/&amp;gt;&lt;/span&gt;
  &lt;span class="nt"&gt;&amp;lt;img&lt;/span&gt; &lt;span class="na"&gt;src=&lt;/span&gt;&lt;span class="s"&gt;"foto2.jpg"&lt;/span&gt; &lt;span class="na"&gt;alt=&lt;/span&gt;&lt;span class="s"&gt;"Montanha nevada"&lt;/span&gt; &lt;span class="na"&gt;aria-hidden=&lt;/span&gt;&lt;span class="s"&gt;"true"&lt;/span&gt; &lt;span class="nt"&gt;/&amp;gt;&lt;/span&gt;
  &lt;span class="nt"&gt;&amp;lt;button&lt;/span&gt; &lt;span class="na"&gt;aria-label=&lt;/span&gt;&lt;span class="s"&gt;"Próxima imagem"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;▶&lt;span class="nt"&gt;&amp;lt;/button&amp;gt;&lt;/span&gt;
&lt;span class="nt"&gt;&amp;lt;/div&amp;gt;&lt;/span&gt;

&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Aqui, o &lt;code&gt;role="region"&lt;/code&gt; indica que se trata de um carrossel, e o &lt;code&gt;aria-label&lt;/code&gt; descreve os botões para quem não consegue vê-los. Assim, a experiência de navegação se torna mais inclusiva e acessível.&lt;/p&gt;

&lt;p&gt;O HTML semântico vai muito além de um detalhe técnico: ele é a base para sites mais organizados, acessíveis e preparados para o futuro.&lt;br&gt;
Praticar boas escolhas de tags e atributos não só facilita a vida de quem desenvolve, como também melhora a experiência de quem navega.&lt;/p&gt;

&lt;p&gt;Obrigada por te lido até aqui, câmbio desligo.&lt;/p&gt;

</description>
      <category>programming</category>
      <category>html</category>
      <category>productivity</category>
    </item>
    <item>
      <title>Front-end além de pintar botão!</title>
      <dc:creator>Sther</dc:creator>
      <pubDate>Wed, 02 Jul 2025 13:26:24 +0000</pubDate>
      <link>https://dev.to/stherzada/front-end-alem-de-pintar-botao-50pb</link>
      <guid>https://dev.to/stherzada/front-end-alem-de-pintar-botao-50pb</guid>
      <description>&lt;p&gt;Oi, pessoal! Eu sou a Sther, e esse é um &lt;em&gt;blogpost&lt;/em&gt; sobre meu aprendizado em usar cache no front-end.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;SIM, CACHE NO FRONTEND!&lt;/strong&gt; Achou que front-end era só pintar botão ou pensar em componente mobile first?&lt;/p&gt;

&lt;p&gt;Bom… tambémmm é. XD&lt;/p&gt;

&lt;p&gt;Porém temos umas coisas bem legais que podemos aproveitar nele, e uma delas é o ✨cache✨. &lt;/p&gt;

&lt;p&gt;Você sabia que ele não vive só no back-end? Então, bora ver como funciona!&lt;/p&gt;

&lt;h2&gt;
  
  
  Por que usar cache no front-end?
&lt;/h2&gt;

&lt;p&gt;Às vezes, a gente tem aquele dado que não muda com frequência, e queremos evitar requisições desnecessárias toda vez que a página for atualizada. &lt;br&gt;
Aí entra o cache no front, que pode salvar nossa performance e até melhorar a experiência do usuário.&lt;/p&gt;


&lt;h2&gt;
  
  
  Aqui são algumas formas de fazer cache no front:
&lt;/h2&gt;

&lt;p&gt;ㅤ&lt;/p&gt;
&lt;h3&gt;
  
  
  🟡 SessionStorage
&lt;/h3&gt;

&lt;p&gt;Guarda os dados enquanto a aba está aberta. É ótimo para dados temporários que não precisam sobreviver a um refresh completo.&lt;/p&gt;

&lt;p&gt;Mas, como você acessa isso?&lt;/p&gt;

&lt;p&gt;Segue aqui um exemplo:&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="nx"&gt;sessionStorage&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;setItem&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="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;Sther&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;nome&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nx"&gt;sessionStorage&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;getItem&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="c1"&gt;// 'Sther'&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;Quando posso usar isso?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Em um formulário de múltiplas etapas. O usuário pode navegar entre os passos sem perder o progresso, mas se fechar a aba… já era!&lt;/p&gt;




&lt;h3&gt;
  
  
  🟢 LocalStorage
&lt;/h3&gt;

&lt;p&gt;O meu preferido! Ele persiste os dados mesmo após fechar o navegador. Ideal para lembrar preferências do usuário, temas, login, etc.&lt;/p&gt;

&lt;p&gt;Mas como posso acessar isso?&lt;/p&gt;

&lt;p&gt;Segue um exemplo, ele é muito parecido com o SessionStorage quando vamos fazer a chamada:&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="nx"&gt;localStorage&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;setItem&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;tema&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;dark&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;tema&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nx"&gt;localStorage&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;getItem&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;tema&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt; &lt;span class="c1"&gt;// 'dark'&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;Exemplo real:&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;A Shopify utiliza isso no processo de checkout (&lt;a href="https://shopify.dev/docs/api/checkout-ui-extensions/2024-10/apis/storage" rel="noopener noreferrer"&gt;veja aqui&lt;/a&gt;). Quando você adiciona um produto ao carrinho, os dados são salvos no LocalStorage, se você recarregar a página, o carrinho continua lá! Isso dá uma sensação de continuidade super fluida.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Outros exemplos de uso que são conhecidos:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Lembrar o tema claro/escuro da aplicação&lt;/li&gt;
&lt;li&gt;Salvar o token de autenticação (embora não seja recomendado)&lt;/li&gt;
&lt;li&gt;Lembrar filtros ou preferências em uma listagem de produtos&lt;/li&gt;
&lt;/ul&gt;




&lt;h3&gt;
  
  
  🔵 IndexedDB
&lt;/h3&gt;

&lt;p&gt;É um banco de dados completo no navegador. Suporta dados estruturados e de grande volume, diferente dos dois acima que são key-value simples. É mais complexo de usar porém muito poderoso!&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Como posso acessar?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;O acesso ao IndexedDB é assíncrono e um pouco mais verboso:&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;request&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nx"&gt;indexedDB&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;open&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;meuBanco&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;

&lt;span class="nx"&gt;request&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;onsuccess&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;event&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;const&lt;/span&gt; &lt;span class="nx"&gt;db&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nx"&gt;event&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;target&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;result&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
  &lt;span class="c1"&gt;// Aqui você pode começar a ler e escrever dados&lt;/span&gt;
&lt;span class="p"&gt;};&lt;/span&gt;

&lt;span class="nx"&gt;request&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;onerror&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;event&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;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="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;Erro ao abrir o banco&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;event&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;&lt;strong&gt;Exemplo real:&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;O Google Docs usa IndexedDB para salvar seus documentos offline. Mesmo se você perder a conexão, ele continua funcionando e depois sincroniza com o servidor e também PWAs que precisam funcionar sem conexão!&lt;/p&gt;




&lt;p&gt;Olha quanta coisa bacana dá pra fazer além de pintar alguns botões, hahaha&lt;/p&gt;

&lt;p&gt;É &lt;strong&gt;ÓBVIO&lt;/strong&gt; que o back-end tem seu papel essencial, mas pensando em performance, experiência do usuário e praticidade, vale a pena explorar o que temos disponível no navegador.&lt;/p&gt;

&lt;p&gt;É isso, pessoal, obrigada por terem lido até aqui!&lt;/p&gt;

&lt;p&gt;&lt;em&gt;&lt;strong&gt;Câmbio e desligo!&lt;/strong&gt;&lt;/em&gt;&lt;/p&gt;

</description>
      <category>programming</category>
      <category>frontend</category>
      <category>braziliandevs</category>
      <category>beginners</category>
    </item>
    <item>
      <title>Como foi voltar para o desenvolvimento?</title>
      <dc:creator>Sther</dc:creator>
      <pubDate>Tue, 03 Sep 2024 17:15:35 +0000</pubDate>
      <link>https://dev.to/stherzada/como-foi-voltar-para-o-desenvolvimento-3kmg</link>
      <guid>https://dev.to/stherzada/como-foi-voltar-para-o-desenvolvimento-3kmg</guid>
      <description>&lt;p&gt;Oi, eu sou a &lt;strong&gt;Sthefany Sther&lt;/strong&gt;, mas você pode me conhecer como Sther ou Stherzada. Neste texto, quero compartilhar minha experiência no mundo do desenvolvimento. Para quem não me acompanha nas redes, vou dar um breve contexto. Eu fazia lives de live coding na Twitch e, diga-se de passagem, sou uma ótima comunicadora. Fui contratada por uma empresa como Tech Community, mas como o projeto não estava avançando, fui realocada como Product Manager. Desde então, fiquei nessa posição por um tempo.&lt;/p&gt;

&lt;p&gt;Minha experiência como &lt;em&gt;Product Manager&lt;/em&gt; foi muito boa. Eu criava dashboards, organizava tarefas, melhorava fluxos e, claro, ajudava o time da maneira que conseguia. Sinto que essa experiência me enriqueceu muito como profissional, mas ainda assim, eu sentia aquela vontade de estar no meio de campo, criando features incríveis, sabe? Queria codar. Para não perder o ritmo de aprendizado em programação, continuei fazendo live coding, desenvolvendo projetos mais simples, como meu &lt;a href="https://new-portfolio-liart-six.vercel.app" rel="noopener noreferrer"&gt;portfólio&lt;/a&gt; e o &lt;a href="https://github.com/stherzada/tindev" rel="noopener noreferrer"&gt;Tindev&lt;/a&gt;. Esse conhecimento me permitia ir além do "Jira" no meu trabalho, pois eu sabia um pouco sobre programação.&lt;/p&gt;

&lt;p&gt;Até que apareceu uma oportunidade através de um dos viewers da minha live, que hoje, além de parceiro de trabalho, é meu amigo, me deu a chance de voltar para o desenvolvimento. &lt;/p&gt;

&lt;p&gt;Fiz a entrevista e expliquei que era Product Manager, mas que desejava muito voltar para o desenvolvimento. Tentei destacar meus pontos fortes, e, cara, essa entrevista foi maravilhosa, pois tive a sensação de que estava seguindo o que realmente queria, e não sendo induzida.&lt;/p&gt;

&lt;p&gt;Uma semana depois, fui chamada para trabalhar onde estou hoje, na Carcará. Pretendo muito, no futuro, escrever sobre minha experiência aqui, porque vocês não imaginam o quanto eu mudei nesse tempo. A Carcará é uma empresa da Deco, onde implementamos e-commerce e buscamos a melhor performance possível. &lt;/p&gt;

&lt;p&gt;Meu onboarding foi diferenciado; conheci quase todos pessoalmente por conta do Team Building, o que me deu uma noção melhor de quem é quem. Depois de todos esses processos, hoje estou implementando uma loja que, até agora, não caiu a ficha que estou fazendo.&lt;/p&gt;

&lt;p&gt;O resumo disso tudo é que, se você tem um desejo e vontade, corra atrás. Mostre-se de alguma forma, seja através de código de aprendizado ou de uma grande implementação, documentando seu processo. Deixe que o mundo te enxergue de alguma maneira. Não há receita certa para o sucesso, mas existem formas de alcançá-lo.&lt;/p&gt;

&lt;p&gt;Obrigada por ter lido até aqui. &lt;em&gt;Câmbio, desligo.&lt;/em&gt;&lt;/p&gt;

</description>
      <category>beginners</category>
      <category>productivity</category>
      <category>programming</category>
      <category>braziliandevs</category>
    </item>
  </channel>
</rss>
