<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/"
    xmlns:atom="http://www.w3.org/2005/Atom" xmlns:media="http://search.yahoo.com/mrss/" version="2.0">
    <channel>
        
        <title>
            <![CDATA[ Isa Ribeiro - freeCodeCamp.org ]]>
        </title>
        <description>
            <![CDATA[ Aprenda a codificar - de graça. Tutoriais de programação em Python, JavaScript, Linux e muito mais. ]]>
        </description>
        <link>https://www.freecodecamp.org/portuguese/news/</link>
        <image>
            <url>https://cdn.freecodecamp.org/universal/favicons/favicon.png</url>
            <title>
                <![CDATA[ Isa Ribeiro - freeCodeCamp.org ]]>
            </title>
            <link>https://www.freecodecamp.org/portuguese/news/</link>
        </image>
        <generator>Eleventy</generator>
        <lastBuildDate>Sat, 16 May 2026 19:16:32 +0000</lastBuildDate>
        <atom:link href="https://www.freecodecamp.org/portuguese/news/author/isa-ribeiro/rss.xml" rel="self" type="application/rss+xml" />
        <ttl>60</ttl>
        
            <item>
                <title>
                    <![CDATA[ 10 bibliotecas do JavaScript que valem a pena experimentar ]]>
                </title>
                <description>
                    <![CDATA[ > Tradução em português europeu O JavaScript é uma das linguagens mais populares da web. Ainda que tenha sido inicialmente desenvolvida apenas para páginas da web, tem apresentado um crescimento exponencial nas duas últimas décadas. Atualmente, o JavaScript é capaz de fazer quase tudo. Ele funciona com diferentes plataformas e ]]>
                </description>
                <link>https://www.freecodecamp.org/portuguese/news/10-bibliotecas-do-javascript-que-valem-a-pena-experimentar/</link>
                <guid isPermaLink="false">66212774e096720470bd1a5c</guid>
                
                    <category>
                        <![CDATA[ JavaScript ]]>
                    </category>
                
                <dc:creator>
                    <![CDATA[ Isa Ribeiro ]]>
                </dc:creator>
                <pubDate>Sun, 09 Jun 2024 21:00:00 +0000</pubDate>
                <media:content url="https://www.freecodecamp.org/portuguese/news/content/images/2024/05/5f9c9999740569d1a4ca20a6.jpg" medium="image" />
                <content:encoded>
                    <![CDATA[ <p data-test-label="translation-intro">
        <strong>Artigo original:</strong> <a href="https://www.freecodecamp.org/news/10-javascript-libraries-you-should-try/" target="_blank" rel="noopener noreferrer" data-test-label="original-article-link">10 Awesome JavaScript Libraries You Should Try Out</a>
      </p><blockquote>Tradução em português europeu</blockquote><p>O JavaScript é uma das linguagens mais populares da web. Ainda que tenha sido inicialmente desenvolvida apenas para páginas da web, tem apresentado um crescimento exponencial nas duas últimas décadas.</p><p>Atualmente, o JavaScript é capaz de fazer quase tudo. Ele funciona com diferentes plataformas e dispositivos, incluindo o que é denominado como a Internet das Coisas. Com o recente lançamento do SpaceX Dragon, o JavaScript já chegou, inclusive, ao espaço.</p><p>Uma das razões para a popularidade do JavaScript é a disponibilidade de um grande número de <em>frameworks </em>e bibliotecas. Isso torna a programação mais fácil comparada à programação com JavaScript mais tradicional.</p><p>Existem bibliotecas para quase tudo. Todos os dias, são desenvolvidas muitas mais. Com tantas bibliotecas à escolha, porém, torna-se difícil estarmos atualizados relativamente a cada uma delas e a como elas podem estar ajustadas especificamente às nossas necessidades.</p><p>Neste artigo, vamos discutir as 10 bibliotecas de JS mais populares, e que poderás usar num próximo projecto.</p><h1 id="leaflet"><strong><a href="https://leafletjs.com/">Leaflet</a></strong></h1><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://www.freecodecamp.org/portuguese/news/content/images/2024/05/image-17.png" class="kg-image" alt="image-17" srcset="https://www.freecodecamp.org/portuguese/news/content/images/size/w600/2024/05/image-17.png 600w, https://www.freecodecamp.org/portuguese/news/content/images/2024/05/image-17.png 760w" sizes="(min-width: 720px) 720px" width="760" height="326" loading="lazy"><figcaption>Leaflet</figcaption></figure><p>A Leaflet é a melhor biblioteca <em>open source</em> para adicionar mapas interativos para telemóveis na tua aplicação.</p><p>O seu tamanho reduzido (39kB) torna-a uma boa alternativa a considerar, quando comparada com outras bibliotecas de mapas. Com eficiência quando utilizada em diferentes plataformas e uma API bem documentada, ela tem tudo o que é preciso para se apaixonar.</p><p>Aqui está uma amostra de código para criar um mapa com a Leaflet:</p><pre><code>var map = new L.Map("map", {
    center: new L.LatLng(40.7401, -73.9891),
    zoom: 12,
    layers: new L.TileLayer("https://tile.openstreetmap.org/{z}/{x}/{y}.png")
});</code></pre><p>Na Leaflet, temos de providenciar uma camada de mosaicos visto que não existe uma por definição. Isso também significa, contudo, que podemos escolher de uma ampla variedade de camadas (gratuitas e <em>premium</em>). Podes explorar as diferentes camadas de mosaicos <a href="https://leaflet-extras.github.io/leaflet-providers/preview/">aqui</a>.</p><p>Se tiveres mais interesse, <a href="https://leaflet-extras.github.io/leaflet-providers/preview/">lê mais sobre a Leaflet</a> e segue os <a href="https://leafletjs.com/examples.html">tutoriais</a> (página em inglês).</p><h1 id="fullpage-js"><strong><a href="https://alvarotrigo.com/fullPage/">fullPage.js</a></strong></h1><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://www.freecodecamp.org/portuguese/news/content/images/2024/05/ezgif.com-video-to-gif-1--1.gif" class="kg-image" alt="ezgif.com-video-to-gif-1--1" width="600" height="278" loading="lazy"><figcaption>fullPage</figcaption></figure><p>Esta biblioteca <em>open source</em> ajuda-nos a criar sites com capacidade de rolagem em tela completa, como podes ver no GIF acima. É fácil de usar e tem várias opções de personalização. Por isso, não é uma grande surpresa que seja usada por milhares de programadores e que tenha 30 mil estrelas no GitHub.</p><p>Em baixo, tens uma demonstração no Codepen para poderes experimentar:</p><figure class="kg-card kg-embed-card"><iframe id="cp_embed_WNrLvLG" src="https://codepen.io/lelouchb/embed/preview/WNrLvLG?default-tabs=html%2Cresult&amp;height=300&amp;host=https%3A%2F%2Fcodepen.io&amp;slug-hash=WNrLvLG" title="fullPage.js - Base example" scrolling="no" frameborder="0" height="300" allowtransparency="true" class="cp_embed_iframe" style="width: 100%; overflow: hidden;" loading="lazy"></iframe></figure><p>Podes usá-la com <em>frameworks</em> conhecidas como:</p><ul><li><a href="https://alvarotrigo.com/react-fullpage/">react-fullpage</a></li><li><a href="https://alvarotrigo.com/vue-fullpage/">vue-fullpage</a></li><li><a href="https://alvarotrigo.com/angular-fullpage/">angular-fullpage</a></li></ul><p>Encontrei a biblioteca há cerca de um ano atrás e, desde então, tem sido uma das minhas bibliotecas preferidas. É das poucas bibliotecas que uso em quase todos os meus projectos. Se ainda não começaste a usá-la, então experimenta-a. Não vais ficar desapontado.</p><h1 id="anime-js"><strong><a href="https://animejs.com/" rel="noreferrer nofollow noopener">anime.js</a></strong></h1><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://www.freecodecamp.org/portuguese/news/content/images/2024/05/anime.gif" class="kg-image" alt="anime" width="738" height="276" loading="lazy"><figcaption>anime.js</figcaption></figure><p>Uma das melhores bibliotecas de animação disponíveis, a Anime.js é flexível e simples de usar. É a ferramenta perfeita para te ajudar a adicionar alguma animação elegante ao teu projecto.</p><p>Anime.js funciona bem com propriedades CSS, SVG, atributos DOM e objetos do JavaScript e pode ser facilmente integrada nas tuas aplicações.</p><p>Como programador, é importante ter um bom portfolio. A primeira impressão que as pessoas têm do teu portfolio ajuda a decidir se és contratado ou não. Assim, que melhor ferramenta do que esta biblioteca para dar vida ao teu portfólio? Não só melhorará o teu site, mas também ajudará a demostrar habilidades reais.</p><p>Vê esta demonstração no Codepen para saber mais:</p><figure class="kg-card kg-embed-card"><iframe id="cp_embed_XWXoboE" src="https://codepen.io/lelouchb/embed/preview/XWXoboE?default-tabs=js%2Cresult&amp;height=300&amp;host=https%3A%2F%2Fcodepen.io&amp;slug-hash=XWXoboE" title="anime.js advanced staggering demo" scrolling="no" frameborder="0" height="300" allowtransparency="true" class="cp_embed_iframe" style="width: 100%; overflow: hidden;" loading="lazy"></iframe></figure><p>Também podes ver outros projetos fixes no <a href="https://codepen.io/collection/XLebem">Codepen </a>ou <a href="https://animejs.com/documentation/">ler a documentação aqui</a> (em inglês). </p><h1 id="screenfull-js"><strong><a href="https://github.com/sindresorhus/screenfull.js">Screenfull.js</a></strong></h1><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://www.freecodecamp.org/portuguese/news/content/images/2024/05/image-29.png" class="kg-image" alt="image-29" width="390" height="101" loading="lazy"><figcaption>screenfull.js</figcaption></figure><p>Encontrei esta biblioteca enquanto procurava uma maneira de implementar uma característica de <em>full-screen</em> no meu projecto.</p><p>Se também precisares de uma característica de <em>full-screen</em>, recomendo usares esta biblioteca em vez da <a href="https://developer.mozilla.org/en-US/docs/Web/API/Fullscreen_API">Fullscreen API</a> devido à sua eficiência nos vários navegadores (ainda que seja construída sobre ela).</p><p>É tão pequena que nem vais reparar no seu tamanho – apenas cerca de 0.7kB zipada.</p><p>Experimenta a demo ou lê a <a href="https://github.com/sindresorhus/screenfull.js">documentação</a> (em inglês), para saber mais.</p><h1 id="moment-js"><strong><a href="https://momentjs.com/">Moment.js</a></strong></h1><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://www.freecodecamp.org/portuguese/news/content/images/2024/05/image-18.png" class="kg-image" alt="image-18" width="348" height="284" loading="lazy"><figcaption>Moment.js</figcaption></figure><p>Trabalhar com data e hora dá bastante trabalho, especialmente com chamadas de API, fusos horários diferentes, idiomas locais e assim por diante. Moment.js pode ajudar-te a resolver alguns problemas, seja a manipular, a validar, a analisar ou a formatar datas e tempo.</p><p>Existem vários métodos que podem ser úteis nos teus projetos. Por exemplo, eu usei o método <code>.fromNow()</code> num dos meus projetos do blog para mostrar a hora em que o artigo foi publicado.</p><pre><code class="language-javascript">const moment = require('moment'); 

relativeTimeOfPost = moment([2019, 07, 13]).fromNow(); 
// a year ago

</code></pre><p>Embora não o utilize com muita frequência, sou fã do seu apoio à internacionalização. Por exemplo, podemos personalizar o resultado acima usando o método <code>.locale()</code>.</p><pre><code class="language-javascript">// Francês
moment.locale('fr');
relativeTimeOfPostInFrench = moment([2019, 07, 13]).fromNow(); 
//il y a un an

// Espanhol
moment.locale('es');
relativeTimeOfPostInSpanish = moment([2019, 07, 13]).fromNow(); 
//hace un año</code></pre><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://www.freecodecamp.org/portuguese/news/content/images/2024/05/ezgif.com-video-to-gif.gif" class="kg-image" alt="ezgif.com-video-to-gif" width="600" height="251" loading="lazy"><figcaption>Página inicial do Moment.js</figcaption></figure><p>Lê a <a href="https://momentjs.com/">documentação</a> aqui (em inglês).</p><p>Nota: também podes querer explorar alternativas, como <a href="https://day.js.org/">Day.js</a> ou <a href="https://date-fns.org/">date-fns</a>.</p><h1 id="hammer-js"><strong><a href="http://hammerjs.github.io/">Hammer.js</a></strong></h1><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://www.freecodecamp.org/portuguese/news/content/images/2024/05/ezgif.com-video-to-gif-2.gif" class="kg-image" alt="ezgif.com-video-to-gif-2" width="600" height="391" loading="lazy"><figcaption>Hammer.js</figcaption></figure><p>Hammer.js é uma biblioteca do JavaScript que te permite adicionar gestos multitoque nas tuas aplicações para a Web. </p><p>Recomendo esta biblioteca para adicionar um pouco de diversão aos teus componentes. Aqui fica um exemplo, para poderes experimentar. Basta tocar com o rato ou caneta no local onde está escrito "Run Pen" ou clicar na div cinza.</p><figure class="kg-card kg-embed-card"><iframe id="cp_embed_abdPOPj" src="https://codepen.io/lelouchb/embed/preview/abdPOPj?default-tabs=js%2Cresult&amp;height=300&amp;host=https%3A%2F%2Fcodepen.io&amp;slug-hash=abdPOPj" title="RecognizeWith Hammer.js example" scrolling="no" frameborder="0" height="300" allowtransparency="true" class="cp_embed_iframe" style="width: 100%; overflow: hidden;" loading="lazy"></iframe></figure><p>Ela consegue reconhecer gestos feitos à mão, através do rato ou pointerEvents. Para utilizadores do jQuery, recomendo usar o <a href="http://hammerjs.github.io/jquery-plugin/">plug-in do jQuery</a>.</p><pre><code>$(element).hammer(options).bind("pan", myPanHandler);</code></pre><p>Lê a <a href="http://hammerjs.github.io/getting-started/">documentação aqui</a> (em inglês).</p><h1 id="masonry"><strong><a href="https://masonry.desandro.com/">Masonry</a></strong></h1><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://www.freecodecamp.org/portuguese/news/content/images/2024/05/image-20.png" class="kg-image" alt="image-20" srcset="https://www.freecodecamp.org/portuguese/news/content/images/size/w600/2024/05/image-20.png 600w, https://www.freecodecamp.org/portuguese/news/content/images/size/w1000/2024/05/image-20.png 1000w, https://www.freecodecamp.org/portuguese/news/content/images/size/w1600/2024/05/image-20.png 1600w, https://www.freecodecamp.org/portuguese/news/content/images/2024/05/image-20.png 1898w" sizes="(min-width: 720px) 720px" width="1898" height="885" loading="lazy"><figcaption>Masonry</figcaption></figure><p>A Mansonry é uma biblioteca do JavaScript de layout de grade. É maravilhosa e uso-a em muitos dos meus projectos. Suporta elementos de grade simples e a sua colocação de acordo com o espaço vertical disponível, semelhante ao que um construtor faria para encaixar pedras ou blocos para a construção de uma parede.</p><p>Podes usar essa biblioteca para m0strar os teus diferentes projectos numa luz diferente. Usa-a com cartas, imagens, modais, entre outros.</p><p>Aqui está um exemplo simples, para mostrar a magia em ação. Não é propriamente magia, mas demonstra como o layout muda conforme o <strong>zoom in</strong> da página web.</p><figure class="kg-card kg-image-card"><img src="https://www.freecodecamp.org/portuguese/news/content/images/2024/05/ezgif.com-crop.gif" class="kg-image" alt="ezgif.com-crop" width="600" height="274" loading="lazy"></figure><p>Aqui está o código do exemplo acima:</p><pre><code>var elem = document.querySelector('.grid');
var msnry = new Masonry( elem, {
  itemSelector: '.grid-item',
  columnWidth: 400
});

var msnry = new Masonry( '.grid');
</code></pre><p>Aqui está uma demonstração interessante no Codepen:</p><figure class="kg-card kg-embed-card"><iframe id="cp_embed_qBbLdLQ" src="https://codepen.io/lelouchb/embed/preview/qBbLdLQ?default-tabs=html%2Cresult&amp;height=300&amp;host=https%3A%2F%2Fcodepen.io&amp;slug-hash=qBbLdLQ" title="Masonry - imagesLoaded progress, vanilla JS" scrolling="no" frameborder="0" height="300" allowtransparency="true" class="cp_embed_iframe" style="width: 100%; overflow: hidden;" loading="lazy"></iframe></figure><p>Verifica estes projectos:</p><ul><li><a href="https://halcyon-theme.tumblr.com/">https://halcyon-theme.tumblr.com/</a></li><li><a href="https://tympanus.net/Development/GridLoadingEffects/index.html">https://tympanus.net/Development/GridLoadingEffects/index.html</a></li><li><a href="https://www.erikjo.com/work">https://www.erikjo.com/work</a></li></ul><h1 id="d3-js"><strong><a href="https://d3js.org/">D3.js</a></strong></h1><figure class="kg-card kg-image-card"><img src="https://www.freecodecamp.org/portuguese/news/content/images/2024/05/image-30.png" class="kg-image" alt="image-30" width="400" height="400" loading="lazy"></figure><p>Se és um programador obcecado por dados, então esta biblioteca é para ti. Ainda tenho de descobrir uma biblioteca que manipule tão eficazmente e de maneira tão bonita os dados como a D3. Com mais de 92 mil estrelas no <br>GitHub, a D3 é a biblioteca de visualização de dados preferida de muitos programadores.</p><p>Recentemente, utilizei a D3 para visualizar dados do COVID-19 e o <a href="https://github.com/CSSEGISandData/COVID-19">Repositório de dados do Centro de Ciência e Engenharia de Sistemas (CSSE) da Universidade Johns Hopkins no GitHub</a>. Foi um projecto muito interessante. Se estás a pensar em fazer algo semelhante, sugiro experimentares a D3.js.</p><p>Lê mais sobre essa biblioteca <a href="https://github.com/d3/d3/wiki">aqui</a> (em inglês).</p><h1 id="slick"><strong><a href="https://kenwheeler.github.io/slick/">slick</a></strong></h1><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://www.freecodecamp.org/portuguese/news/content/images/2024/05/image-23.png" class="kg-image" alt="image-23" srcset="https://www.freecodecamp.org/portuguese/news/content/images/size/w600/2024/05/image-23.png 600w, https://www.freecodecamp.org/portuguese/news/content/images/size/w1000/2024/05/image-23.png 1000w, https://www.freecodecamp.org/portuguese/news/content/images/2024/05/image-23.png 1520w" sizes="(min-width: 720px) 720px" width="1520" height="578" loading="lazy"><figcaption>Slick</figcaption></figure><p>A Slick é totalmente responsiva, com integração de <em>swipe</em>, <em>loop</em> infinito e muito mais. Tal como mencionado na sua página oficial, é mesmo o último carrossel de que precisas.</p><p>Tenho usado esta biblioteca por algum tempo, o que me permite poupar muito tempo. Com apenas algumas linhas de código, podes adicionar várias características ao teu carrossel.</p><pre><code class="language-js">$('.autoplay').slick({
  slidesToShow: 3,
  slidesToScroll: 1,
  autoplay: true,
  autoplaySpeed: 2000,
});</code></pre><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://www.freecodecamp.org/portuguese/news/content/images/2024/05/ezgif.com-video-to-gif-2-.gif" class="kg-image" alt="ezgif.com-video-to-gif-2-" width="600" height="426" loading="lazy"><figcaption>Autoplay</figcaption></figure><p>Verifica as demonstrações <a href="https://kenwheeler.github.io/slick/">aqui</a> (página em inglês).</p><h1 id="popper-js"><strong><a href="https://popper.js.org/">Popper.js</a></strong></h1><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://www.freecodecamp.org/portuguese/news/content/images/2024/05/image-25.png" class="kg-image" alt="image-25" srcset="https://www.freecodecamp.org/portuguese/news/content/images/size/w600/2024/05/image-25.png 600w, https://www.freecodecamp.org/portuguese/news/content/images/size/w1000/2024/05/image-25.png 1000w, https://www.freecodecamp.org/portuguese/news/content/images/2024/05/image-25.png 1200w" sizes="(min-width: 720px) 720px" width="1200" height="627" loading="lazy"><figcaption>Popper.js</figcaption></figure><p>A Popper.js é uma biblioteca JavaScript leve, de cerca de 3kB, sem dependências e que fornece um mecanismo de posicionamento confiável e extensível, que podes usar para garantir que todos os teus elementos <em>popper</em> estejam posicionados no lugar certo.</p><p>Investir tempo para configurar elementos <em>popper</em> pode não parecer importante, mas essas são as pequenas coisas que te distinguem enquanto programador. C0m um espaço tão pequeno, ela nem sequer ocupa tanto espaço assim.</p><p>Lê a <a href="https://popper.js.org/docs/v2/">documentação aqui</a> (em inglês).</p><h1 id="conclus-o"><strong>Conclusão</strong></h1><p>Como programador, é importante possuir e usar as bibliotecas do JavaScript correctas. Tornar-te-á mais produtivo e tornará tua programação muito mais fácil e rápida. No fim de contas, és tu que decides qual a biblioteca que preferes usar, de acordo com as tuas necessidades.</p><p>Estas são as 10 bibliotecas do JavaScript que podes experimentar e começar a usar nos teus projectos hoje. Que outras bibliotecas do JavaScript utilizas? Gostarias de ler outro artigo parecido a este? Podes enviar uma mensagem ao autor pelo <a href="https://twitter.com/noharashutosh">Twitter</a> e informá-lo disso. </p> ]]>
                </content:encoded>
            </item>
        
    </channel>
</rss>
