<?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: Uítalo Souza</title>
    <description>The latest articles on DEV Community by Uítalo Souza (@uitalorss).</description>
    <link>https://dev.to/uitalorss</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%2F811174%2Fc12bf656-ac22-4254-a5ed-fe976aabb5a1.jpeg</url>
      <title>DEV Community: Uítalo Souza</title>
      <link>https://dev.to/uitalorss</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/uitalorss"/>
    <language>en</language>
    <item>
      <title>Como fazer qualquer pessoa entender o que é uma API.</title>
      <dc:creator>Uítalo Souza</dc:creator>
      <pubDate>Wed, 30 Aug 2023 20:17:02 +0000</pubDate>
      <link>https://dev.to/uitalorss/como-fazer-qualquer-pessoa-entender-o-que-e-uma-api-1dj7</link>
      <guid>https://dev.to/uitalorss/como-fazer-qualquer-pessoa-entender-o-que-e-uma-api-1dj7</guid>
      <description>&lt;p&gt;Um conceito bastante difundido no ramo do desenvolvimento web há um bom tempo são os das API’s (&lt;strong&gt;Application Programming Interface&lt;/strong&gt;).  &lt;a href="https://developer.mozilla.org/pt-BR/docs/Glossary/API"&gt;Segundo a documentação do MDN&lt;/a&gt;, pode-se entender como um conjunto de características e regras em uma aplicação que possibilitam interações com a mesma através de um software, ou seja, esse recurso faz com que aplicações com responsabilidades completamente diferentes possam conversar e trocar informações mediante características e regras desse elemento. &lt;/p&gt;

&lt;p&gt;Um exemplo excelente é um presente na &lt;a href="https://aws.amazon.com/pt/what-is/api/"&gt;documentação da AWS&lt;/a&gt; sobre o assunto. Um celular conversa a todo momento com softwares de medição de dados meteorológicos via API’s para poder atualizar a tela dos celulares com as informações de temperatura, previsão de chuva, velocidade de ventos e possibilidades até de alertas de situações de possíveis riscos às pessoas. Os smartphones não precisam ter um sensor que capte tudo isso nem precisa saber como obter as informações meteorológicas. Ele precisa de um intermediador, para quem ele possa solicitar as informações que precisa, seguindo determinadas características e obedecendo regras, para assim receber as informações e, se tudo estiver conforme solicitado, exibi-las em tela.&lt;/p&gt;

&lt;p&gt;Se observarmos direito, uma API funciona tal qual um garçom de um restaurante, onde fazemos o pedido e ele anota tudo que estamos pedindo e as demais observações. Aqui, a cozinha funciona como se fosse um servidor, que recebe o pedido através do garçom e o prepara. Assim que estiver pronto o garçom coleta o que foi preparado e entrega o prato ao cliente. É possível notar uma clara semelhança ao exemplo do celular buscando dados do servidor meteorológico. O cliente não precisa falar diretamente para a cozinha o seu pedido e como o quer, nem precisa saber como vai ser feito. Precisa apenas passar o que deseja ao garçom e esperar receber o seu prato.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--I5b8v8hd--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/wzaaou0u334x92lfbz8u.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--I5b8v8hd--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/wzaaou0u334x92lfbz8u.jpg" alt="Imagem representando diversos tipos de aparelhos se comunicando a um servidor através de uma API" width="620" height="300"&gt;&lt;/a&gt;&lt;br&gt;
&lt;em&gt;Imagem disponível em: &lt;a href="https://ecdisis.com/que-es-rest-api/"&gt;https://ecdisis.com/que-es-rest-api/&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;API’s estão presentes, em larga escala, em todo o universo web. Tudo o que fazemos no dia-a-dia que necessite de comunicação com servidores, seja ver um episódio de série em um streaming, consultar uma plataforma de estudo, olhar determinada notícia em um portal, fazer um pagamento de algo que você está comprando, e até o que a não fazemos diretamente, como receber informações meteorológicas no celular, passam por API’s.&lt;/p&gt;

&lt;p&gt;Nos conceitos e nos exemplos foi dito que as API’s seguem características e obedecem regras. Abordarei mais sobre esse tópico nos próximos artigos. Um abraço!!&lt;/p&gt;

</description>
      <category>api</category>
      <category>programming</category>
      <category>backend</category>
      <category>webdev</category>
    </item>
    <item>
      <title>Animando elementos ao rolar a página com o scrollReveal</title>
      <dc:creator>Uítalo Souza</dc:creator>
      <pubDate>Wed, 09 Feb 2022 15:42:15 +0000</pubDate>
      <link>https://dev.to/uitalorss/animando-elementos-ao-rolar-a-pagina-com-o-scrollreveal-3b8e</link>
      <guid>https://dev.to/uitalorss/animando-elementos-ao-rolar-a-pagina-com-o-scrollreveal-3b8e</guid>
      <description>&lt;p&gt;Durante a criação de uma landing page em um projeto freelancer que estou desenvolvendo, decidi colocar algumas animações no site, para prover à quem acessar a página uma interação mais agradável do que simplesmente exibir o conteúdo das sessões de forma bruta. Com essa ideia em mente, comecei a pensar em formas de criar essas animações primeiramente em CSS. Estudei sobre keyframes, transition, transform e cheguei em um resultado que não me agradou, pois eu queria que as animações acontecessem ao chegar em uma determinada sessão.&lt;/p&gt;

&lt;p&gt;Ao fazer uma pesquisa sobre ferramentas que me fornecessem o resultado que em queria, cheguei na ferramenta que é título deste artigo, o scrollReveal. Assim que entrei no site de apresentação da biblioteca, vi que era exatamente o que eu queria. Uma forma de exibir conteudos na página, de forma independente, assim que eu chegasse na sessão específica.&lt;/p&gt;

&lt;p&gt;Me surpreendi com a facilidade de usar os recursos do ScrollReveal, é possível adicionar a biblioteca a partir do gerenciador de pacotes npm ou simplesmente referenciando o arquivo da biblioteca nos scripts do seu projeto.&lt;/p&gt;

&lt;p&gt;&lt;code&gt;npm install scrollreveal --save&lt;/code&gt;&lt;br&gt;
ou&lt;br&gt;
&lt;code&gt;&amp;lt;script src="https://unpkg.com/scrollreveal@4.0.0/dist/scrollreveal.min.js"&amp;gt;&amp;lt;/script&amp;gt;&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;No código javascript do projeto, ao atribuir uma constante ao ScrollReveal conforme mostrado abaixo. Pode-se definir como chave e valor, os atributos que deseja ter por padrão na animação, no meu exemplo, estou colocando somente o reset como true, com isso, ao passar na sessão, após ela sair do campo de tela, ela fará a animação novamente.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;const sr = ScrollReveal({reset: true})
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Agora, para cada item que eu quiser animar, eu passo a minha constante chamando a função reveal, passando por parâmetro o que eu quero colocar a animação identificando, seja como id, classe, tag, etc. E passando as animações que eu quero que aquele bloco execute, também como chave e valor.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;sr.reveal(".toDown", {
    origin: "top", //Para ele surgir de cima para baixo.
    distance: "50px", // A distancia do origin para a posição original do elemento.
    duration: 2000, // A duração da animação em ms
    delay: 300, // O delay para a animação acontecer
    reset: false // Ao sair do campo de tela, a animação não acontecerá novamente caso eu passe por ela novamente.
  });
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;No exemplo acima, estou animando uma div que tem uma classe chamada “toDown”, passando como alguns parâmetros que estão detalhados. Há outros, como o rotate, viewFactor, easing, interval, entre outros.&lt;/p&gt;

&lt;p&gt;Com essa ferramenta sensacional e bastante fácil e intuitiva de usar, eu consegui executar tudo o que eu tinha pensado para o projeto e surpreender positivamente o meu cliente e as pessoas que usarão o seu site.&lt;/p&gt;

&lt;p&gt;Aqui embaixo estão a página da biblioteca, o seu repositório no github e um exemplo no codepen para ver o funcionamento e testar o que essa ferramenta pode fazer.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://scrollrevealjs.org/"&gt;Documentação&lt;/a&gt;&lt;br&gt;
&lt;a href="https://github.com/jlmakes/scrollreveal"&gt;Repositório da biblioteca&lt;/a&gt;&lt;br&gt;
&lt;a href="https://codepen.io/whatthephuc/pen/LjPBZa"&gt;Codepen para teste&lt;/a&gt;&lt;/p&gt;

</description>
      <category>javascript</category>
      <category>webdev</category>
      <category>beginners</category>
      <category>tutorial</category>
    </item>
  </channel>
</rss>
