<?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[ Marcelle Martins - 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[ Marcelle Martins - freeCodeCamp.org ]]>
            </title>
            <link>https://www.freecodecamp.org/portuguese/news/</link>
        </image>
        <generator>Eleventy</generator>
        <lastBuildDate>Sat, 16 May 2026 19:16:35 +0000</lastBuildDate>
        <atom:link href="https://www.freecodecamp.org/portuguese/news/author/marcelle/rss.xml" rel="self" type="application/rss+xml" />
        <ttl>60</ttl>
        
            <item>
                <title>
                    <![CDATA[ Como aprender desenvolvimento para a web - um roteiro para desenvolvedores e desenvolvedoras ]]>
                </title>
                <description>
                    <![CDATA[  Há excelentes roteiros para desenvolvedores para a web por aí. Alguns, no entanto, exigem que se resolva um "quebra-cabeças" antes mesmo de começar, já que você precisa fazer várias escolhas.  Quando comecei a aprender desenvolvimento para a web, quis muito encontrar um/a desenvolvedor/a experiente que me contasse o ]]>
                </description>
                <link>https://www.freecodecamp.org/portuguese/news/como-aprender-desenvolvimento-para-a-web-um-roteiro-para-desenvolvedores/</link>
                <guid isPermaLink="false">632c48675c046e06ec878b56</guid>
                
                    <category>
                        <![CDATA[ Desenvolvimento para a Web ]]>
                    </category>
                
                <dc:creator>
                    <![CDATA[ Marcelle Martins ]]>
                </dc:creator>
                <pubDate>Sun, 04 Dec 2022 21:00:00 +0000</pubDate>
                <media:content url="https://www.freecodecamp.org/portuguese/news/content/images/2022/11/maxresdefault--3-.jpg" medium="image" />
                <content:encoded>
                    <![CDATA[ <p data-test-label="translation-intro">
        <strong>Artigo original:</strong> <a href="https://www.freecodecamp.org/news/how-to-learn-web-dev-in-2021-roadmap/" target="_blank" rel="noopener noreferrer" data-test-label="original-article-link">How to Learn Web Development in 2021 - a Web Developer Roadmap</a>
      </p><p><br>Há excelentes roteiros para desenvolvedores para a web por aí. Alguns, no entanto, exigem que se resolva um "quebra-cabeças" antes mesmo de começar, já que você precisa fazer várias escolhas. </p><p>Quando comecei a aprender desenvolvimento para a web, quis muito encontrar um/a desenvolvedor/a experiente que me contasse o que tinha feito para se tornar um/a desenvolvedor/a para a web. Infelizmente, não encontrei ninguém.</p><p>Agora que já trabalho no setor há 4 anos, quero compartilhar como eu começaria a aprender desenvolvimento para a web neste ano. Neste artigo, vou mostrar para você todos os passos que você precisa tomar, desde quando iniciar até se tornar um/a desenvolvedor/a.</p><p>Começarei com algumas <strong>ferramentas essenciais</strong> que você precisa conhecer e, depois, vou tratar de <strong>linguagens de programação</strong> e de <strong>bibliotecas/frameworks</strong> que você precisa aprender para se tornar um/a desenvolvedor/a <em>front-end</em> ou <em>full-stack</em>.</p><p>Também falarei de alguns <strong>projetos </strong>que você pode desenvolver para praticar as suas habilidades.</p><figure class="kg-card kg-embed-card" data-test-label="fitted">
        <div class="fluid-width-video-container">
          <div style="padding-top: 56.17977528089888%;" class="fluid-width-video-wrapper">
            <iframe width="356" height="200" src="https://www.youtube.com/embed/GAkZfIYWsO4?feature=oembed" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen="" title="Web Developer Roadmap 2021 ✨ in 10 minutes" name="fitvid0"></iframe>
          </div>
        </div>
      </figure><p>Você também encontrará <a href="https://learn.devchallenges.io/tutorial/web-developer-roadmap-2021">um roteiro atualizado</a> no meu site da web.</p><h2 id="ferramentas-que-voc-precisa-conhecer-para-se-tornar-um-a-desenvolvedor-a-para-a-web">Ferramentas que você precisa conhecer para se tornar um/a desenvolvedor/a para a web</h2><figure class="kg-card kg-image-card kg-width-wide"><img src="https://www.freecodecamp.org/portuguese/news/content/images/2022/11/Screenshot-2020-12-07-at-15.02.06.png" class="kg-image" alt="Screenshot-2020-12-07-at-15.02.06" srcset="https://www.freecodecamp.org/portuguese/news/content/images/size/w600/2022/11/Screenshot-2020-12-07-at-15.02.06.png 600w, https://www.freecodecamp.org/portuguese/news/content/images/size/w1000/2022/11/Screenshot-2020-12-07-at-15.02.06.png 1000w, https://www.freecodecamp.org/portuguese/news/content/images/2022/11/Screenshot-2020-12-07-at-15.02.06.png 1487w" sizes="(min-width: 1200px) 1200px" width="1487" height="838" loading="lazy"></figure><p>Vou presumir que você é um/a iniciante. Nesse caso, há algumas ferramentas que você precisa conhecer antes de iniciar na programação.</p><h3 id="vs-code-ou-outro-editor-de-c-digo-">VS Code (ou outro editor de código)</h3><p>Primeiro, você precisará aprender a usar o <a href="https://code.visualstudio.com/"><strong>Visual Studio Code</strong></a>, que é um editor de código fonte. É uma ferramenta gratuita e poderosa.</p><p>No início, recomendo que você aprenda alguns dos atalhos básicos e instale algumas das extensões como ESlint, Prettier, ou Live Server.</p><p>No canal do freeCodeCamp, no YouTube, você encontrará um <a href="https://www.freecodecamp.org/news/learn-visual-studio-code-to-increase-productivity/">curso gratuito e completo</a> &nbsp;para ajudar você a começar.</p><h3 id="a-linha-de-comando">A linha de comando</h3><p>Em seguida, você precisará saber sobre a <a href="https://developer.mozilla.org/en-US/docs/Learn/Tools_and_testing/Understanding_client-side_tools/Command_line"><strong>linha de comando</strong></a> (texto em inglês). Você deve aprender o que é e alguns dos comandos básicos, por exemplo, como mexer em diretórios, como criar um diretório ou como criar um arquivo.</p><p>Aqui está um excelente artigo sobre <a href="https://www.freecodecamp.org/news/linux-command-line-bash-tutorial/">como usar o Bash</a> (texto em inglês), a linha de comando do Linux. Aqui temos outro artigo que ajudará você a <a href="https://www.freecodecamp.org/news/basic-linux-commands-bash-tips-you-should-know/">usar a linha de comando de modo mais eficaz</a> (texto em inglês).</p><h3 id="controle-de-vers-o-git-e-github">Controle de versão - Git e GitHub</h3><p>Independentemente do que você faça como desenvolvedor/a, precisará saber sobre <a href="https://git-scm.com/"><strong>Git</strong></a>. O Git é um sistema de controle de versão utilizado para monitorar as alterações. É normalmente utilizado com <strong>GitHub</strong>, que é uma plataforma de hospedagem de código.</p><p>No início, aprender Git pode ser desgastante. Por isso, basta que você tenha algumas noções básicas de, por exemplo, como criar um <em>repositório</em>, como <em>clonar </em>um projeto, como fazer um novo <em>commit</em> e como <em>lidar </em>com as novas mudanças.</p><p>Uma das melhores formas de praticar Git é trabalhando em uma equipe: você precisará saber como criar uma nova <em>branch</em>, como fazer <em>pull request</em>s e como resolver <em>conflitos</em>.</p><p>No canal do freeCodeCamp, no YouTube, você encontrará um excelente <a href="https://www.freecodecamp.org/news/git-and-github-crash-course/">curso intensivo de Git e GitHub</a> (em inglês), para ajudá-lo a praticar o controle de versão.</p><h3 id="ferramentas-de-design-figma">Ferramentas de design - Figma</h3><p>A última ferramenta é o <strong><a href="https://www.figma.com/">Figma</a></strong>. O Figma é uma ferramenta de design gratuita para uso particular. Aqui, contudo, quero falar sobre como utilizar o Figma como um/a desenvolvedor/a.</p><p>Como desenvolvedor/a, pode ser que você receba designs da sua equipe. Com o Figma, você poderá &nbsp;conferir o código dos elementos e medir o layout. Portanto, precisará saber como ler o design do Figma, por exemplo, como conseguir a cor, a tipografia ou espaçamento corretos.</p><p>Aqui está um artigo sobre <a href="https://www.freecodecamp.org/news/adobe-xd-vs-sketch-vs-figma-vs-invision/">várias ferramentas de design, incluindo o Figma</a> (texto em inglês). Aqui está um tutorial divertido sobre a <a href="https://www.freecodecamp.org/news/creating-realistic-3d-objects-in-figma-carton-box-example-f674c21c3452/">criação de esboços 3D no Figma</a> (texto em inglês).</p><p>Muito bem. Então, estas são as ferramentas de que você precisará conhecer quando for começar. <strong>Você não precisará saber tudo</strong>, mas certifique-se de entender o básico para que possa melhorar enquanto aprende a programar.</p><h2 id="linguagens-de-programa-o-que-desenvolvedores-e-desenvolvedoras-para-a-web-precisam-conhecer">Linguagens de programação que desenvolvedores e desenvolvedoras para a Web precisam conhecer</h2><figure class="kg-card kg-image-card kg-width-wide"><img src="https://www.freecodecamp.org/portuguese/news/content/images/2022/11/Screenshot-2020-12-07-at-15.02.27.png" class="kg-image" alt="Screenshot-2020-12-07-at-15.02.27" srcset="https://www.freecodecamp.org/portuguese/news/content/images/size/w600/2022/11/Screenshot-2020-12-07-at-15.02.27.png 600w, https://www.freecodecamp.org/portuguese/news/content/images/size/w1000/2022/11/Screenshot-2020-12-07-at-15.02.27.png 1000w, https://www.freecodecamp.org/portuguese/news/content/images/2022/11/Screenshot-2020-12-07-at-15.02.27.png 1491w" sizes="(min-width: 1200px) 1200px" width="1491" height="839" loading="lazy"></figure><h3 id="html-e-css">HTML e CSS</h3><p>A seguir, vamos tratar das linguagens de programação. Comecemos falando de <strong>sites da web responsivos</strong>.</p><p>Sites da web responsivos são sites com uma boa aparência e que podem ser utilizados em todos os dispositivos ou tamanhos de telas. Você, provavelmente, sabe como é importante desenvolver um site responsivo, uma vez que, hoje em dia, as pessoas utilizam diversos dispositivos diferentes.</p><p>Então, vamos avançar para as duas primeiras linguagens que você precisará saber para desenvolver um site: <strong>HTML </strong>e <strong>CSS</strong>.</p><p><strong>HTML </strong>significa <em>Hypertext Markup Language</em> (linguagem de marcação de hipertexto). Ela é utilizada para desenvolver o esqueleto do seu site. O HTML não é uma linguagem difícil de aprender, mas você talvez queira prestar mais atenção aos formulários HTML, uma vez que eles serão fundamentais no futuro.</p><p><strong>CSS </strong>significa <em>Cascading Style Sheets</em> (folhas de estilo em cascata). Esta é uma linguagem de marcação, mas eu também a considero como uma linguagem de programação. O CSS não é, necessariamente, uma linguagem difícil de aprender, mas é difícil de se dominar.</p><p>Há poucos tópicos aos quais você deverá prestar mais atenção, como:</p><ul><li><strong>Modelo de caixa</strong> – como as margens, <em>padding</em> e bordas funcionam em conjunto.</li><li><strong>Unidades CSS </strong>– utilizado para expressar comprimentos (por exemplo: rem, vh, e vw).</li><li><strong>Posição </strong>– especifica o tipo de método de posicionamento. Também confunde muitas pessoas. Por isso, certifique-se de investir tempo aprendendo-a.</li><li><strong>Variáveis </strong>– ou <strong>propriedades personalizadas</strong> são entidades que podem ser reutilizadas ao longo de um documento. Esta é a minha característica favorita no CSS. Elas tornam o trabalho com CSS muito agradável e é possível criar temas com apenas algumas linhas de código.</li><li><strong>Consulta dos meios de comunicação </strong>– permite decidir o que mostrar em diferentes tamanhos de telas. Trata-se de um componente chave do <a href="https://developer.mozilla.org/pt-BR/docs/Web/Progressive_web_apps">design responsivo</a>.</li><li><strong>Animação </strong>– permite que um elemento mude de um estilo para outro. Se você souber usar a animação corretamente, ela fará com que o seu site se destaque. Caso contrário, fará com que o seu site pareça pouco profissional. Por isso, tenha cuidado.</li><li><strong>Flexbox, CSS Grid</strong> – usados para construir layouts responsivos (eu esqueci de mencioná-los no vídeo).</li></ul><p>Aqui está <a href="https://www.freecodecamp.org/news/the-html-handbook/">um manual completo</a> (texto em inglês) que ensinará a você todas as noções básicas de HTML. Aqui temos um curso <a href="https://www.freecodecamp.org/news/learn-css-in-this-free-6-hour-video-course/">completo sobre CSS</a> (em inglês), no canal do freeCodeCamp, no YouTube, que ajudará você a tornar os seus sites mais bonitos. </p><p>Quando souber as noções básicas de HTML e CSS, o próximo passo é desenvolver alguns sites da web básicos. Você pode, por exemplo, tentar desenvolver uma <em>página inicial;</em> um <em>formulário, </em>como uma página de login, ou uma página de checkout. Você pode, até mesmo, desenvolver um <em>portfólio</em>. Em <a href="https://devchallenges.io/paths/responsiveWebPaths">DevChallenges.io</a>, você encontrará exemplos de projetos. </p><h3 id="implementa-o-de-sites-da-web">Implementação de sites da web</h3><p>Quando já tiver o seu site da web, você precisará colocá-lo na internet, para que as pessoas possam vê-lo. A implementação é o processo de enviar seu código para uma plataforma de hospedagem.</p><p>Antigamente, era muito mais difícil de se fazer. Agora, porém, é superfácil. Você pode usar ferramentas como <a href="https://pages.github.com/">GitHub Pages</a>, <a href="https://www.netlify.com/">Netlify</a> ou <a href="https://vercel.com/">Vercel</a>.</p><p>Aqui está um <a href="https://www.freecodecamp.org/news/how-to-put-a-website-online-guide-to-website-creation-custom-domain-and-hosting/">curso completo no YouTube</a> sobre como colocar o seu site da web on-line (texto em inglês), que contempla o processo inteiro, do início ao fim.</p><h3 id="javascript-fundamentos">JavaScript – Fundamentos</h3><p>Muito bem, o <a href="https://www.freecodecamp.org/portuguese/learn/javascript-algorithms-and-data-structures/basic-javascript/">próximo tópico é o JavaScript</a>. O JavaScript é uma linguagem de programação popular e amplamente utilizada no desenvolvimento para a web, entre outros.</p><p>Você precisará aprender algumas das características básicas da linguagem, como <a href="https://www.freecodecamp.org/news/javascript-data-types-typeof-explained/">tipos de dados</a>, <a href="https://www.freecodecamp.org/news/javascript-loops-explained-for-loop-for/">loops</a>, e <a href="https://www.freecodecamp.org/news/what-in-the-world-is-a-javascript-conditional-for/">condicionais</a> (textos em inglês).</p><p>Em seguida, há assuntos nos quais você deverá se aprofundar. </p><p>Em primeiro lugar, temos a <strong>depuração</strong> (em inglês, <em>debugging</em>). Este é o processo de encontrar e corrigir erros. Aqui temos um <a href="https://www.freecodecamp.org/news/the-beginner-bug-squashing-guide/">ótimo guia aprofundado de depuração de bugs</a> (texto em inglês) para te ajudar a começar.</p><p>Depois, há outros tópicos como <strong>objetos</strong>, <strong>primitivos</strong> e <strong>arrays</strong>. Especialmente quando se trabalha com arrays, é necessário conhecer também os <a href="https://www.freecodecamp.org/news/javascript-map-reduce-and-filter-explained-with-examples/"><strong>métodos de array</strong></a><strong> </strong>(textos em inglês).</p><p><strong>Funções </strong>são os principais blocos de construção do seu programa. Por isso, certifique-se de que não vai deixar de estudá-los.</p><p>Uma das minhas características favoritas em JavaScript é a <a href="https://www.freecodecamp.org/news/array-and-object-destructuring-in-javascript/">desestruturação</a> (texto em inglês) – é fácil de escrever e torna a linguagem super poderosa.</p><p>Como C#, Java e outras linguagens de programação, no JavaScript moderno, também temos <strong>classes</strong>. Elas são úteis quando se trata de <a href="https://www.freecodecamp.org/portuguese/news/os-principios-solid-da-programacao-orientada-a-objetos-explicados-em-bom-portugues/">Programação Orientada a Objetos e os princípios SOLID</a>.</p><p>Por melhor que você seja em programação, haverá erros nos seus scripts. Isso significa que você também precisará <a href="https://www.freecodecamp.org/news/how-to-write-error-messages-that-dont-suck-f31c53b64c3e/">saber sobre como <strong>lidar com os erros</strong></a> (texto em inglês).</p><p>Programação assíncrona é importante, especialmente quando é necessário comunicar com o servidor. Por isso, passe algum tempo aprendendo sobre <a href="https://www.freecodecamp.org/news/learn-promise-async-await-in-20-minutes/"><strong>Promises </strong>e <strong>Async/Await</strong></a> (texto em inglês).</p><h3 id="javascript-navegador">JavaScript - Navegador</h3><p>Passemos à forma como o JavaScript é utilizado no navegador.</p><p>Primeiro, é preciso saber o que é um <em>Document Object Model</em> (Modelo de Objeto de Documento) ou <strong>DOM</strong>. Depois, é preciso saber como obter elementos, como mudar as classes e como mudar o estilo com JavaScript.</p><p>Aqui está uma boa <a href="https://www.freecodecamp.org/news/an-introduction-to-the-javascript-dom-512463dd62ec/">introdução ao DOM no JS</a> (texto em inglês), e aqui está um guia sobre <a href="https://www.freecodecamp.org/news/learn-how-to-manipulate-the-dom-by-building-a-simple-javascript-color-game-1a3aec1d109a/">como manipular o DOM</a> (texto em inglês, mas aqui você aprenderá construindo um projeto).</p><p>Você também precisará aprender sobre diferentes eventos de interface de usuário, como clicar, passar o cursor para cima, para baixo e assim por diante.</p><p>Você ainda terá que prestar mais atenção aos <a href="https://www.freecodecamp.org/news/build-and-validate-beautiful-forms-with-vanilla-html-css-js/"><strong>formulários </strong>em JavaScript</a> (texto em inglês), uma vez que eles têm muitos eventos e propriedades.</p><h3 id="javascript-outras-caracter-sticas">JavaScript - outras características</h3><p>A <a href="https://www.freecodecamp.org/portuguese/news/tutorial-de-fetch-api-em-javascript-exemplos-de-post-e-cabecalho/"><strong>Fetch API</strong> é um tópico importante</a>. Ela permite que você envie solicitações de rede para servidores. Isso é útil, por exemplo, quando precisamos enviar um formulário ou obter informações de um usuário.</p><p>Outro tópico importante é o <a href="https://www.freecodecamp.org/news/how-to-store-data-in-web-browser-storage-localstorage-and-session-storage-explained/"><strong>armazenamento de dados</strong> no navegador</a> (texto em inglês). Em relação a isso, é necessário saber quais são as diferenças entre cookies, armazenamento local (ou <em>local storage</em>, em inglês) e armazenamento de sessão (ou <em>session storage</em>, em inglês).</p><p>Outros tópicos menos importantes quando se está apenas começando são expressões regulares (<em>regular expressions</em>, em inglês), componentes da web (<em>web components</em>, em inglês) e websockets.</p><p><a href="https://www.freecodecamp.org/news/regular-expressions-demystified-regex-isnt-as-hard-as-it-looks-617b55cf787/"><strong>Expressões regulares</strong></a> (texto em inglês) são utilizadas para pesquisar e substituir texto. <strong>Componentes da web</strong>, são uma novidade, mas que valem a pena você conferir.</p><p>Por último, temos os <strong><a href="https://www.freecodecamp.org/news/beginners-guide-to-websockets/">Websockets</a> </strong>(texto em inglês). Eles são úteis quando precisamos de trocas contínuas de dados, como em aplicações de bate-papo.</p><p>Depois de aprender Javascript, você deveria <a href="https://www.freecodecamp.org/news/learn-typescript-data-types-from-zero-to-hero/">aprender sobre o <strong>TypeScript</strong></a><strong> </strong>(texto em inglês). Eu amo o TypeScript, pois ele me passa segurança quando estou escrevendo o código.</p><p>O TypeScript fornece uma digitação estática, que permite que você detecte erros mais cedo no processo de depuração. Isso permite economizar tempo, uma vez que identifica erros antes de o código ser executado.</p><p>Aqui está um artigo útil sobre os <a href="https://www.freecodecamp.org/news/a-mental-model-to-think-in-typescript-2/">tipos de TypeScript</a> (texto em inglês) para ajudar você a ter maior clareza sobre eles.</p><p>Você poderia parar por aqui e começar a trabalhar em alguns projetos. Pessoalmente, no entanto, eu ainda aprenderia, pelo menos, um <em>framework</em>. Isso já permite a você praticar o JavaScript ao mesmo tempo.</p><p>Muito bem. Então, vamos continuar.</p><h2 id="bibliotecas-e-frameworks-para-se-conhecer">Bibliotecas e frameworks para se conhecer </h2><figure class="kg-card kg-image-card kg-width-wide"><img src="https://www.freecodecamp.org/portuguese/news/content/images/2022/11/Screenshot-2020-12-07-at-15.02.35.png" class="kg-image" alt="Screenshot-2020-12-07-at-15.02.35" srcset="https://www.freecodecamp.org/portuguese/news/content/images/size/w600/2022/11/Screenshot-2020-12-07-at-15.02.35.png 600w, https://www.freecodecamp.org/portuguese/news/content/images/size/w1000/2022/11/Screenshot-2020-12-07-at-15.02.35.png 1000w, https://www.freecodecamp.org/portuguese/news/content/images/2022/11/Screenshot-2020-12-07-at-15.02.35.png 1491w" sizes="(min-width: 1200px) 1200px" width="1491" height="838" loading="lazy"></figure><p>Para se tornar um/a desenvolvedor/a front-end ou um/a desenvolvedor/a full-stack, é necessário conhecer algumas das bibliotecas e frameworks que existem por aí.</p><h3 id="bibliotecas-e-frameworks-para-desenvolvedores-e-desenvolvedoras-de-front-end">Bibliotecas e frameworks para desenvolvedores e desenvolvedoras de front-end</h3><p>Comecemos pelo <strong>Sass</strong>, que é uma linguagem de criação de scripts de pré-processador. Eu uso o Sass em quase todos os meus projetos. Ele faz o CSS parecer mais limpo e torna-o mais rápido de desenvolver.</p><p>Aqui está um <a href="https://www.freecodecamp.org/news/give-your-css-superpowers-by-learning-sass/">curso completo sobre Sass</a> (texto em inglês) que ensinará você a dar superpoderes ao seu CSS.</p><p>Em seguida, temos o <strong>NPM </strong>que é um gestor de pacotes para programação em JavaScript. Ele permite instalar rapidamente diferentes pacotes na sua máquina.</p><p>Aqui, você encontrará um bom <a href="https://www.freecodecamp.org/news/what-is-npm-a-node-package-manager-tutorial-for-beginners/">guia do NPM para iniciantes</a> (texto em inglês), que ajudará você a começar a baixar pacotes de imediato.</p><p>Um dos meus arrependimentos é não ter conhecido o <strong><a href="https://www.freecodecamp.org/news/learn-react-contentful-and-netlify-by-building-a-beach-resort-website/">contentful </a></strong>antes. Contentful é um sistema de gestão de conteúdos, ou CMS, <em>headless</em> (<em>Headless Content Management System</em>). Os sistemas headless são diferentes dos CMS tradicionais, pois você pode armazenar dados no Contentful e utilizá-los para o seu front-end.</p><p>Para obter um trabalho de front-end, você precisa conhecer, pelo menos, um framework de front-end. Eu, pessoalmente, escolheria o <strong>React</strong>. Falaremos sobre outros frameworks mais adiante.</p><p>Além de <a href="https://www.freecodecamp.org/news/the-react-handbook-b71c27b0a795/">aprender as noções básicas de React</a> (texto em inglês), você também deverá se atentar à forma como o <strong>estado </strong>(em inglês, <em>state</em>) é gerenciado nas aplicações de React e a como os <strong>formulários</strong> funcionam em React.</p><p>Depois de aprender o básico, você pode solidificar as suas habilidades trabalhando em vários projetos com React <a href="https://www.freecodecamp.org/news/solidify-your-react-skills-by-building-15-projects/">neste curso do YouTube</a> (em inglês).</p><p>Outro arrependimento que tenho é não ter conhecido o <a href="https://nextjs.org/"><strong>Next.js</strong></a> antes. O Next.js é utilizado para a <em>renderização do lado do servidor</em> ou para <em>gerar websites estáticos</em>. Sim, o Next.js ainda é bastante novo, mas eu acredito que esta é uma habilidade que <em>precisamos </em>desenvolver como programadores do React.</p><p>Você poderá aprender todos os conceitos básicos do Next.js <a href="https://www.freecodecamp.org/news/the-next-js-handbook/">neste manual aprofundado</a> (texto em inglês).</p><p>Depois de aprender estas ferramentas, talvez você queira conferir a <a href="https://material-ui.com/">Material UI</a> que é uma biblioteca de componentes do React, ou a <a href="https://tailwindcss.com/">Tailwind CSS</a>, que é um framework do CSS que ajudará você a acelerar o seu trabalho quando estiver fazendo protótipos ou trabalhando como freelancer, por exemplo.</p><p>Com isso, depois de aprender JavaScript e um framework, você precisará <strong>praticar </strong>construindo projetos.</p><p>Você poderá começar construindo alguns componentes simples e reutilizáveis, para compreender como funciona o React. Depois, poderá construir aplicações mais complexas, como uma <em>aplicação de Quiz</em> ou uma <em>aplicação de lista de tarefas</em>.</p><p>Depois disso, você deverá criar aplicações ainda mais difíceis, como uma <em>ferramenta de procura de emprego</em>, um <em>blog</em> ou uma <em>página de documentos</em>. Mais uma vez, você encontrará exemplos de projetos na <a href="https://devchallenges.io/paths/frontEndPaths">DevChallenges.io</a>.</p><h3 id="desenvolvedor-a-full-stack">Desenvolvedor/a Full-stack</h3><p>Agora, você está pronto/a para se candidatar a uma vaga de desenvolvedor/a front-end. Se quiser continuar para se tornar um/a desenvolvedor/a full-stack, você poderá começar <a href="https://www.freecodecamp.org/news/nodejs-course/">aprendendo Node.js</a> e <a href="https://www.freecodecamp.org/news/learn-express-js-in-this-complete-course/">Express</a> (textos em inglês).</p><p>Neste ponto, você precisará saber como construir uma<em> API</em> <em>RESTful </em>e deverá conseguir usar o <a href="https://www.freecodecamp.org/news/mongodb-crud-app/">MongoDB</a> para trabalhar com bancos de dados. Isso é bastante simples de aprender quando já se sabe JavaScript.</p><p>Em seguida, se desejar aprender mais, você poderá <a href="https://www.freecodecamp.org/news/learn-how-to-use-react-and-graphql-to-make-a-full-stack-social-network/">conferir o GraphQL</a> (texto em inglês), que é uma linguagem de consulta e manipulação de dados para APIs. Pessoalmente, eu também investiria algum tempo aprendendo PostgreSQL. Comparado com MongoDB, é uma linguagem um pouco mais difícil de se aprender, uma vez que você também precisará <a href="https://www.freecodecamp.org/news/sql-recipes/">aprender sobre SQL</a> (texto em inglês).</p><p>Depois de aprender essas ferramentas, você poderá praticar construindo aplicações como um <em>uploader de imagens, uma aplicação de autenticação</em> ou <em>uma sala de bate-papo</em>. Você também pode encontrar estes projetos no <a href="https://devchallenges.io/paths/fullStackPaths">Devchallenges.io</a>.</p><p>Agora, sim, você está pronto/a para se candidatar a uma vaga de full-stack. Se o seu trabalho exigir que você conheça <strong><a href="https://www.freecodecamp.org/news/vue-js-full-course/">Vue.js</a></strong>, <a href="https://www.freecodecamp.org/news/angular-tutorial-course/"><strong>Angular</strong> </a>ou até mesmo <strong><a href="https://www.freecodecamp.org/news/the-svelte-handbook/">Svelte</a></strong> (textos em inglês), você também poderá dedicar algum tempo a aprender essas ferramentas. Não deve ser muito difícil, uma vez que você já saberá React.</p><p>Isto conclui o roteiro. Espero que você o considere útil. Um dos objetivos do autor para o ano passado foi o de fazer vídeos sobre todos os tópicos dos quais acabamos de falar. Portanto, não se esqueça de consultar o <a href="https://www.youtube.com/c/thunghiem"><strong>canal do autor no Youtube</strong></a> e <a href="https://learn.devchallenges.io/"><strong>DevChallenges Learn</strong></a>, o site do autor.</p> ]]>
                </content:encoded>
            </item>
        
    </channel>
</rss>
