<?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" version="2.0" xmlns:itunes="http://www.itunes.com/dtds/podcast-1.0.dtd" xmlns:googleplay="http://www.google.com/schemas/play-podcasts/1.0"><channel><title><![CDATA[API Playbook: Guias Práticos]]></title><description><![CDATA[Passo-a-passo, do básico ao avançado. Aqui, você encontra tutoriais detalhados e guias práticos sobre como implementar, gerenciar e otimizar suas soluções em APIs e DX. Ideal para quem busca instruções claras e diretas para ação imediata.]]></description><link>https://www.apiplaybook.com/s/guias-praticos</link><image><url>https://substackcdn.com/image/fetch/$s_!GdFN!,w_256,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb08af87d-4b66-473f-a437-07a9f5881317_1280x1280.png</url><title>API Playbook: Guias Práticos</title><link>https://www.apiplaybook.com/s/guias-praticos</link></image><generator>Substack</generator><lastBuildDate>Tue, 28 Apr 2026 03:43:47 GMT</lastBuildDate><atom:link href="https://www.apiplaybook.com/feed" rel="self" type="application/rss+xml"/><copyright><![CDATA[David Ruiz]]></copyright><language><![CDATA[pt-br]]></language><webMaster><![CDATA[apiplaybook@substack.com]]></webMaster><itunes:owner><itunes:email><![CDATA[apiplaybook@substack.com]]></itunes:email><itunes:name><![CDATA[David Ruiz]]></itunes:name></itunes:owner><itunes:author><![CDATA[David Ruiz]]></itunes:author><googleplay:owner><![CDATA[apiplaybook@substack.com]]></googleplay:owner><googleplay:email><![CDATA[apiplaybook@substack.com]]></googleplay:email><googleplay:author><![CDATA[David Ruiz]]></googleplay:author><itunes:block><![CDATA[Yes]]></itunes:block><item><title><![CDATA[Construindo pipelines de entrega contínua seguras com Containers e Kubernetes]]></title><description><![CDATA[Jo&#227;o Brito, CTO & Advocate (OpsRel) na GETUP]]></description><link>https://www.apiplaybook.com/p/construindo-pipelines-de-entrega</link><guid isPermaLink="false">https://www.apiplaybook.com/p/construindo-pipelines-de-entrega</guid><dc:creator><![CDATA[David Ruiz]]></dc:creator><pubDate>Mon, 25 Dec 2023 10:00:17 GMT</pubDate><enclosure url="https://substack-video.s3.amazonaws.com/video_upload/post/138153856/72f7e812-2a52-4820-8805-8566ba6a6e4c/transcoded-00000.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Acompanhe Jo&#227;o Brito, CTO &amp; Advocate (OpsRel) na GETUP, em uma palestra esclarecedora na API Connect Conference 2023 (APICON). Aprenda como criar e gerenciar ambientes de desenvolvimento, teste e produ&#231;&#227;o eficientes e seguros, aproveitando as vantagens dessas tecnologias inovadoras. Descubra como superar os desafios e implementar as melhores pr&#225;ticas pa&#8230;</p>
      <p>
          <a href="https://www.apiplaybook.com/p/construindo-pipelines-de-entrega">
              Read more
          </a>
      </p>
   ]]></content:encoded></item><item><title><![CDATA[Publicando suas APIs do Hasura no Backstage]]></title><description><![CDATA[Com seu portal e suas APIs em m&#227;os, vamos aprender como &#233; poss&#237;vel registrar, no Backstage, suas APIs GraphQL contru&#237;das atrav&#233;s do Hasura, a fim de propor um detalhamento mais detalhado sobre seu pro]]></description><link>https://www.apiplaybook.com/p/publicando-apis-do-hasura-no-backstage</link><guid isPermaLink="false">https://www.apiplaybook.com/p/publicando-apis-do-hasura-no-backstage</guid><dc:creator><![CDATA[Henry Kimura]]></dc:creator><pubDate>Fri, 13 Oct 2023 17:04:23 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F94415da5-7dbb-429e-bd16-7347ebeab6f7_1431x958.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Nos posts anteriores ensinamos <a href="https://www.apiplaybook.com/p/publicando-o-seu-portal-de-desenvolvedores">como voc&#234; pode publicar o seu Portal de APIs</a>&nbsp;e tamb&#233;m <a href="https://www.apiplaybook.com/p/ddd-chatgpt-and-hasura-criando-apis">como criar suas APIs com Intelig&#234;ncia Artificial Generativa (ChatGPT) e Hasura</a>, agora vamos ensinar como combinar os dois!&nbsp;</p><h1>Requerimentos</h1><p>Para seguir com o tutorial, voc&#234; precisa de alguns itens instalados em seu ambiente:</p><ol><li><p><code>npm</code>: o gerenciador de pacotes padr&#227;o do <a href="https://nodejs.org/">Node.js</a>. Voc&#234; pode obt&#234;-lo durante a pr&#243;pria instala&#231;&#227;o do Node.js.</p></li><li><p><code>graphqurl</code>: uma CLI (<em>Command-Line Interface</em>) que promete funcionar como um cURL para GraphQL. Ou seja, permite voc&#234; realizar requisi&#231;&#245;es HTTP atrav&#233;s de linha de comando, neste caso de forma otimizada para APIs GraphQL. Iremos utiliz&#225;-la para obter o <em>schema</em>.<em>graphql</em> do Hasura. Para instal&#225;-la, podemos utilizar o pr&#243;prio npm:</p></li></ol><pre><code><code>npm install -g graphqurl</code></code></pre>
      <p>
          <a href="https://www.apiplaybook.com/p/publicando-apis-do-hasura-no-backstage">
              Read more
          </a>
      </p>
   ]]></content:encoded></item><item><title><![CDATA[Publicando o seu Portal de Desenvolvedores com APIs com Backstage em 50 minutos]]></title><description><![CDATA[O Spotify possui uma plataforma de c&#243;digo aberto chamada Backstage. Aprenda a utiliz&#225;-la para poder construir um portal de desenvolvedores e publicar documenta&#231;&#245;es.]]></description><link>https://www.apiplaybook.com/p/publicando-o-seu-portal-de-desenvolvedores</link><guid isPermaLink="false">https://www.apiplaybook.com/p/publicando-o-seu-portal-de-desenvolvedores</guid><dc:creator><![CDATA[Henry Kimura]]></dc:creator><pubDate>Fri, 13 Oct 2023 15:42:15 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!1bZj!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb31ba1e2-37dd-47f9-a292-7dc0398c4503_894x384.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Nos &#250;ltimos anos, a tem&#225;tica da experi&#234;ncia do desenvolvedor, tamb&#233;m conhecida como Developer Experience (ou DX), tem ganhado destaque no mundo da tecnologia. Uma das abordagens que t&#234;m se destacado &#233; o Internal Developer Portal (IDP), ou portal do desenvolvedor interno, uma ferramenta interna que visa simplificar as complexidades operacionais, permitindo que os desenvolvedores foquem mais no pr&#243;prio desenvolvimento de neg&#243;cios.</p><p>Mas por que estamos discutindo o IDP em um contexto relacionado ao Backstage? O Backstage &#233; uma plataforma aberta desenvolvida pelo Spotify que se apresenta como uma plataforma aberta para a constru&#231;&#227;o de portais de desenvolvedores. Isso come&#231;a a fazer sentido agora, certo? O Backstage pode ser utilizado para construir seu pr&#243;prio IDP, tornando o desenvolvimento mais eficiente e centrado no neg&#243;cio.</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://www.apiplaybook.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading API Playbook! Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><p>Se voc&#234; est&#225; interessado em melhorar a experi&#234;ncia do desenvolvedor em sua empresa e deseja conhecer mais sobre como o Backstage pode ser uma solu&#231;&#227;o eficaz, continue lendo para descobrir como essa plataforma pode acelerar o desenvolvimento, melhorar a qualidade e a seguran&#231;a do c&#243;digo e simplificar o gerenciamento de servi&#231;os.</p><h1>Como funciona o Backstage?</h1><p>O Spotify possui uma plataforma de c&#243;digo aberto chamada Backstage, capaz de unificar todas as suas ferramentas de infraestrutura, servi&#231;os e documenta&#231;&#227;o para criar um ambiente de desenvolvimento integrado de ponta a ponta na forma de um portal de desenvolvedores. Atrav&#233;s de uma estrutura baseada em um cat&#225;logo de software centralizado, o Backstage restaura a ordem em seus microservi&#231;os e infraestrutura e permite que suas equipes de produtos entreguem c&#243;digo de alta qualidade rapidamente, sem comprometer a autonomia.</p><p>O Backstage possui alguns &#8220;setores&#8221; que dividem algumas responsabilidades:</p><ol><li><p><strong>Backstage Software Catalog</strong> para gerenciar todos os seus softwares, como microservi&#231;os, bibliotecas, pipelines de dados, sites e modelos de ML.</p></li><li><p><strong>Backstage Software Templates</strong> para iniciar rapidamente novos projetos e padronizar suas ferramentas de acordo com as melhores pr&#225;ticas da sua organiza&#231;&#227;o.</p></li><li><p><strong>Backstage TechDocs</strong> para facilitar a cria&#231;&#227;o, manuten&#231;&#227;o, busca e utiliza&#231;&#227;o de documenta&#231;&#227;o t&#233;cnica, adotando a abordagem "documenta&#231;&#227;o como c&#243;digo".</p></li></ol><p>Al&#233;m disso, h&#225; um ecossistema em crescimento de plugins de c&#243;digo aberto que ampliam ainda mais a personaliza&#231;&#227;o e funcionalidade do Backstage.</p><p>Aqui neste artigo, voc&#234; poder&#225; encontrar um guia passo-a-passo de primeiros passos para poder come&#231;ar a usar a ferramenta e construir um portal de desenvolvedores com uma documenta&#231;&#227;o, ou seja, o foco ser&#225; no setor <strong>TechDocs</strong>.</p><p>Para consultar a documenta&#231;&#227;o completa da ferramenta, visite <a href="https://backstage.io/">Backstage.io</a></p><p>Vamos l&#225;:</p><h2>Requisitos para o Backstage:</h2><p>Sistema Operacional:</p><ul><li><p>Windows 10 ou superior (usu&#225;rios do Windows)</p></li><li><p>macOS 10.13 (High Sierra) ou superior (usu&#225;rios do Mac)</p></li><li><p>Distribui&#231;&#227;o Linux compat&#237;vel (por exemplo, Ubuntu, Debian, CentOS, etc.)</p></li></ul><p>Software Necess&#225;rio. Siga as instru&#231;&#245;es indicadas para seu sistema operacional:</p><ul><li><p>Node.js e NPM (vers&#227;o LTS recomendada): Baixe em <a href="https://nodejs.org/">https://nodejs.org/</a></p></li><li><p>Git: Baixe em <a href="https://git-scm.com/">https://git-scm.com/</a></p></li><li><p>Docker: Baixe o Docker em <a href="https://www.docker.com/get-started">https://www.docker.com/get-started</a></p></li></ul>
      <p>
          <a href="https://www.apiplaybook.com/p/publicando-o-seu-portal-de-desenvolvedores">
              Read more
          </a>
      </p>
   ]]></content:encoded></item><item><title><![CDATA[DDD, ChatGPT & Hasura: Criando APIs Poderosas em GraphQL]]></title><description><![CDATA[Descubra como unir DDD (Domain-Driven Design), ChatGPT 4.0 e Hasura na cria&#231;&#227;o de APIs robustas, explorando desde a modelagem de dom&#237;nio at&#233; a exposi&#231;&#227;o de APIs GraphQL poderosas e eficientes.]]></description><link>https://www.apiplaybook.com/p/ddd-chatgpt-and-hasura-criando-apis</link><guid isPermaLink="false">https://www.apiplaybook.com/p/ddd-chatgpt-and-hasura-criando-apis</guid><dc:creator><![CDATA[David Ruiz]]></dc:creator><pubDate>Fri, 13 Oct 2023 15:38:55 GMT</pubDate><enclosure url="https://substack-post-media.s3.amazonaws.com/public/images/2b855da0-ac05-43ac-8a7d-af23623cbeeb_2048x1365.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<h2>Design Orientado ao Dom&#237;nio (DDD)</h2><h3>O que &#233; o DDD?</h3><p>O Design Orientado ao Dom&#237;nio (DDD) &#233; uma maneira estrat&#233;gica de pensar e criar software, colocando o foco no &#8216;o que&#8217; - o dom&#237;nio do neg&#243;cio - antes do &#8216;como&#8217;. O DDD facilita a comunica&#231;&#227;o entre os especialistas de neg&#243;cio e os desenvolvedores, assegurando que ambos estejam na mesma p&#225;gina e usando uma linguagem comum.</p><h3>Conceitos Chave do DDD</h3><p>Os principais conceitos do DDD, como a "Linguagem Ub&#237;qua" e o "Contexto Delimitado", s&#227;o as ferramentas que nos ajudam a estruturar e organizar o nosso c&#243;digo de acordo com as necessidades e linguagem do neg&#243;cio, tornando o software mais adapt&#225;vel e f&#225;cil de manter.</p><ul><li><p><strong>Linguagem Ub&#237;qua:</strong> Esse conceito promove o desenvolvimento de uma linguagem comum entre desenvolvedores e especialistas do dom&#237;nio, garantindo que todos os envolvidos tenham um entendimento claro e consistente dos termos e funcionalidades do dom&#237;nio.</p></li><li><p><strong>Contexto Delimitado:</strong> Refere-se &#224; defini&#231;&#227;o clara dos limites dentro dos quais um modelo espec&#237;fico &#233; aplic&#225;vel, ajudando a evitar confus&#245;es e garantindo que os modelos e termos funcionem de maneira coesa e sem ambiguidades.</p></li></ul><h2>ChatGPT: Auxiliando o DDD</h2><h3>Introdu&#231;&#227;o ao ChatGPT</h3><p>O ChatGPT &#233; uma ferramenta avan&#231;ada e din&#226;mica, potencializada pela arquitetura GPT-4. Esta tecnologia inovadora tem o poder de transformar palavras em respostas contextuais significativas, adaptando-se a uma variedade de aplica&#231;&#245;es, como assist&#234;ncia virtual, tutoriais e suporte ao cliente.</p><h3>Combinando ChatGPT e DDD</h3><p>Ao mergulharmos no universo do DDD, o ChatGPT emerge como um aliado valioso. Ele n&#227;o &#233; apenas uma ferramenta que responde perguntas; &#233; um colaborador que facilita o fluxo de comunica&#231;&#227;o e compreens&#227;o entre os desenvolvedores e os especialistas de dom&#237;nio. Atrav&#233;s das intera&#231;&#245;es com o ChatGPT, &#233; poss&#237;vel cultivar e solidificar a "Linguagem Ub&#237;qua", tornando os conceitos e terminologias do dom&#237;nio espec&#237;fico mais claros e acess&#237;veis.</p><p>Utilizando o ChatGPT, voc&#234; pode economizar tempo precioso e esfor&#231;o, ajudando a desenhar um sistema mais alinhado com as necessidades e objetivos do neg&#243;cio. Ele auxilia na aplica&#231;&#227;o pr&#225;tica dos conceitos e estrat&#233;gias do DDD, oferecendo insights &#250;teis, esclarecendo d&#250;vidas e promovendo uma implementa&#231;&#227;o mais eficaz e harmonizada do DDD.</p><h2>Hasura e GraphQL: Acelerando e Escalando o Desenvolvimento de APIs</h2><h3>Hasura: Acelerando o Desenvolvimento de APIs</h3><p>O Hasura chega como um facilitador no universo do desenvolvimento de APIs, tirando o peso do "Hard Code" dos ombros dos desenvolvedores. Ele agiliza o processo, permitindo que os desenvolvedores dediquem mais tempo &#224; inova&#231;&#227;o e &#224; implementa&#231;&#227;o de funcionalidades essenciais, enquanto o Hasura cuida da cria&#231;&#227;o e gest&#227;o robusta das APIs.</p><h3>GraphQL Explicado</h3><p>Diferentemente das APIs REST tradicionais, onde voc&#234; tem endpoints fixos que retornam dados est&#225;ticos, o GraphQL funciona como uma camada de consulta flex&#237;vel e poderosa. Ele permite que voc&#234; solicite especificamente os dados que precisa, possibilitando uma comunica&#231;&#227;o mais eficiente e perform&#225;tica entre o cliente e o servidor.</p><h3>Hasura e GraphQL: Uma Dupla Imbat&#237;vel</h3><p>Quando o Hasura encontra o GraphQL, eles formam uma combina&#231;&#227;o formid&#225;vel que n&#227;o s&#243; acelera o desenvolvimento, mas tamb&#233;m &#233; poderosa o suficiente para escalar conforme as necessidades do projeto crescem. Esta dupla oferece um desenvolvimento mais fluido e flex&#237;vel, abrindo portas para a constru&#231;&#227;o de aplica&#231;&#245;es incr&#237;veis, independentemente do tamanho ou complexidade do projeto. Assim, voc&#234; tem as ferramentas para criar projetos que v&#227;o de aplica&#231;&#245;es menores a sistemas enormes e intrincados, todos com efici&#234;ncia e precis&#227;o.</p><h2>M&#227;o na Massa! Colocando em Pr&#225;tica essa Combina&#231;&#227;o</h2>
      <p>
          <a href="https://www.apiplaybook.com/p/ddd-chatgpt-and-hasura-criando-apis">
              Read more
          </a>
      </p>
   ]]></content:encoded></item><item><title><![CDATA[Como construir uma API RESTful com NestJS, Prisma e Docker]]></title><description><![CDATA[Aplica&#231;&#245;es desenvolvidas em Node.js, alicer&#231;adas em frameworks, v&#234;m ganhando muita popularidade devido a sua efici&#234;ncia e facilidade durante a constru&#231;&#227;o.]]></description><link>https://www.apiplaybook.com/p/como-construir-api-com-nestjs-docker-prisma</link><guid isPermaLink="false">https://www.apiplaybook.com/p/como-construir-api-com-nestjs-docker-prisma</guid><dc:creator><![CDATA[David Ruiz]]></dc:creator><pubDate>Tue, 07 Dec 2021 12:48:13 GMT</pubDate><enclosure url="https://substack-post-media.s3.amazonaws.com/public/images/8a5d71a7-50b0-4031-ab36-bfe73a254f79_1280x720.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!q61P!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F06e0c9ac-1b94-4fef-be6f-1ff3faa6da08_1280x720.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!q61P!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F06e0c9ac-1b94-4fef-be6f-1ff3faa6da08_1280x720.jpeg 424w, https://substackcdn.com/image/fetch/$s_!q61P!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F06e0c9ac-1b94-4fef-be6f-1ff3faa6da08_1280x720.jpeg 848w, https://substackcdn.com/image/fetch/$s_!q61P!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F06e0c9ac-1b94-4fef-be6f-1ff3faa6da08_1280x720.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!q61P!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F06e0c9ac-1b94-4fef-be6f-1ff3faa6da08_1280x720.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!q61P!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F06e0c9ac-1b94-4fef-be6f-1ff3faa6da08_1280x720.jpeg" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/06e0c9ac-1b94-4fef-be6f-1ff3faa6da08_1280x720.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:null,&quot;width&quot;:null,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;Como construir uma API RESTful com NestJS, Prisma e Docker&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Como construir uma API RESTful com NestJS, Prisma e Docker" title="Como construir uma API RESTful com NestJS, Prisma e Docker" srcset="https://substackcdn.com/image/fetch/$s_!q61P!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F06e0c9ac-1b94-4fef-be6f-1ff3faa6da08_1280x720.jpeg 424w, https://substackcdn.com/image/fetch/$s_!q61P!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F06e0c9ac-1b94-4fef-be6f-1ff3faa6da08_1280x720.jpeg 848w, https://substackcdn.com/image/fetch/$s_!q61P!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F06e0c9ac-1b94-4fef-be6f-1ff3faa6da08_1280x720.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!q61P!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F06e0c9ac-1b94-4fef-be6f-1ff3faa6da08_1280x720.jpeg 1456w" sizes="100vw" fetchpriority="high"></picture><div></div></div></a><figcaption class="image-caption">None</figcaption></figure></div><p>Aplica&#231;&#245;es desenvolvidas em Node.js, alicer&#231;adas em frameworks, v&#234;m ganhando muita popularidade devido a sua efici&#234;ncia e facilidade durante a constru&#231;&#227;o. Dentre os frameworks mais conhecidos, podemos citar o <em><strong>ExpressJS</strong></em>, o <em><strong>NestJS</strong></em> e o <em><strong>fastify</strong></em>.</p><p>Ao final desta leitura, voc&#234; ser&#225; capaz de desenvolver uma API do zero utilizando o framework NestJS para Node.js, que consome um banco de dados PostgreSQL, rodado em um container local atrav&#233;s do Docker. A intera&#231;&#227;o com o banco de dados ser&#225; realizada pela biblioteca Prisma.</p><h4><strong>Containers</strong></h4><p>Containers s&#227;o parti&#231;&#245;es l&#243;gicas, f&#225;ceis de serem transportadas por diferentes m&#225;quinas, que podem conter uma aplica&#231;&#227;o, um banco de dados ou qualquer outra coisa execut&#225;vel em um sistema operacional.</p><p>Seu conceito remete &#224; ideia de uma m&#225;quina virtual, por&#233;m &#233; mais eficiente. Ao inv&#233;s de se utilizar um sistema operacional para executar outros sistemas operacionais &#8212; que por sua vez executar&#227;o outros softwares &#8212; diferentes containers podem ser executados diretamente em um &#250;nico sistema operacional, poupando muito recurso de hardware.</p><p>Para melhor entendimento da diferen&#231;a entre os containers e m&#225;quinas virtuais, vide a imagem abaixo:</p><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!UVyQ!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F30425f6e-7f9d-4c60-b4b1-03ff81b5df80_972x571.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!UVyQ!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F30425f6e-7f9d-4c60-b4b1-03ff81b5df80_972x571.png 424w, https://substackcdn.com/image/fetch/$s_!UVyQ!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F30425f6e-7f9d-4c60-b4b1-03ff81b5df80_972x571.png 848w, https://substackcdn.com/image/fetch/$s_!UVyQ!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F30425f6e-7f9d-4c60-b4b1-03ff81b5df80_972x571.png 1272w, https://substackcdn.com/image/fetch/$s_!UVyQ!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F30425f6e-7f9d-4c60-b4b1-03ff81b5df80_972x571.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!UVyQ!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F30425f6e-7f9d-4c60-b4b1-03ff81b5df80_972x571.png" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/30425f6e-7f9d-4c60-b4b1-03ff81b5df80_972x571.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:null,&quot;width&quot;:null,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!UVyQ!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F30425f6e-7f9d-4c60-b4b1-03ff81b5df80_972x571.png 424w, https://substackcdn.com/image/fetch/$s_!UVyQ!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F30425f6e-7f9d-4c60-b4b1-03ff81b5df80_972x571.png 848w, https://substackcdn.com/image/fetch/$s_!UVyQ!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F30425f6e-7f9d-4c60-b4b1-03ff81b5df80_972x571.png 1272w, https://substackcdn.com/image/fetch/$s_!UVyQ!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F30425f6e-7f9d-4c60-b4b1-03ff81b5df80_972x571.png 1456w" sizes="100vw"></picture><div></div></div></a></figure></div><p>Perceba que cada m&#225;quina virtual possui seu pr&#243;prio sistema operacional, que para se manter executando consome recursos al&#233;m do necess&#225;rio para executar a aplica&#231;&#227;o.</p><p>O container exclui esta necessidade de ter um sistema operacional &#224; parte, reduzindo o consumo de recurso necess&#225;rio para se manter ativo.</p><h4><strong>Docker</strong></h4><p>Docker &#233; uma empresa que oferece diversas ferramentas relacionadas com a orquestra&#231;&#227;o de containers. A mais usada entre elas &#233; a Docker Compose, que serve justamente para definir e orquestrar containers de maneira f&#225;cil.</p><p>Quando eu citar Docker mais adiante neste artigo, estou me referindo &#224; ferramenta e n&#227;o &#224; empresa, combinado?</p><h4><strong>NestJS</strong></h4><p>O Nest &#233; um framework que permite a cria&#231;&#227;o de aplica&#231;&#245;es <em>server-side</em>, combinando elementos de programa&#231;&#227;o orientada a objetos, programa&#231;&#227;o funcional e programa&#231;&#227;o reativa funcional. Por de baixo dos panos, ele faz o uso do ExpressJS e permite uma compatibilidade com diversas bibliotecas.</p>
      <p>
          <a href="https://www.apiplaybook.com/p/como-construir-api-com-nestjs-docker-prisma">
              Read more
          </a>
      </p>
   ]]></content:encoded></item><item><title><![CDATA[Introdução ao Next.js]]></title><description><![CDATA[O Next.js &#233; um framework React, criado pela Vercel, que permite a constru&#231;&#227;o de interfaces Web adicionando in&#250;meras funcionalidades em cima do React.]]></description><link>https://www.apiplaybook.com/p/introducao-ao-nextjs</link><guid isPermaLink="false">https://www.apiplaybook.com/p/introducao-ao-nextjs</guid><dc:creator><![CDATA[David Ruiz]]></dc:creator><pubDate>Wed, 24 Nov 2021 11:58:00 GMT</pubDate><enclosure url="https://substack-post-media.s3.amazonaws.com/public/images/c4fa439e-4fd6-4bc5-953c-ebe24a496b52_800x450.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!Oygr!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd4ee86ba-0842-4360-af4a-74cdfd0aa88e_800x450.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!Oygr!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd4ee86ba-0842-4360-af4a-74cdfd0aa88e_800x450.png 424w, https://substackcdn.com/image/fetch/$s_!Oygr!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd4ee86ba-0842-4360-af4a-74cdfd0aa88e_800x450.png 848w, https://substackcdn.com/image/fetch/$s_!Oygr!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd4ee86ba-0842-4360-af4a-74cdfd0aa88e_800x450.png 1272w, https://substackcdn.com/image/fetch/$s_!Oygr!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd4ee86ba-0842-4360-af4a-74cdfd0aa88e_800x450.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!Oygr!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd4ee86ba-0842-4360-af4a-74cdfd0aa88e_800x450.png" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/d4ee86ba-0842-4360-af4a-74cdfd0aa88e_800x450.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:null,&quot;width&quot;:null,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;Introdu&#231;&#227;o ao Next.js&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Introdu&#231;&#227;o ao Next.js" title="Introdu&#231;&#227;o ao Next.js" srcset="https://substackcdn.com/image/fetch/$s_!Oygr!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd4ee86ba-0842-4360-af4a-74cdfd0aa88e_800x450.png 424w, https://substackcdn.com/image/fetch/$s_!Oygr!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd4ee86ba-0842-4360-af4a-74cdfd0aa88e_800x450.png 848w, https://substackcdn.com/image/fetch/$s_!Oygr!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd4ee86ba-0842-4360-af4a-74cdfd0aa88e_800x450.png 1272w, https://substackcdn.com/image/fetch/$s_!Oygr!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd4ee86ba-0842-4360-af4a-74cdfd0aa88e_800x450.png 1456w" sizes="100vw" fetchpriority="high"></picture><div></div></div></a><figcaption class="image-caption">None</figcaption></figure></div><p>O Next.js &#233; um framework React, criado pela <a href="https://vercel.com/">Vercel</a>, que permite a constru&#231;&#227;o de interfaces Web adicionando in&#250;meras funcionalidades em cima do React.</p><p>Em aplica&#231;&#245;es React tradicionais, utilizando o <strong>create-react-app, </strong>por exemplo, toda a interface e chamada &#224; API &#233; feita pelo lado do client (browser), ent&#227;o quando um motor de busca ou crawler tenta indexar uma p&#225;gina, ira esperar que todo o Javascript e a chamada a API esteja carregada&nbsp;para ser feita toda constru&#231;&#227;o da nossa p&#225;gina.&nbsp;</p><p>Ent&#227;o essa busca retorna vazia sem informa&#231;&#245;es relevantes para que a nossa aplica&#231;&#227;o seja indexada.&nbsp;Esse&nbsp;&#233; um dos principais problemas que o Next.js procura solucionar.&nbsp;Com este framework, podemos renderizar nossas p&#225;ginas no lado do servidor utilizando o SSR (Server Side Rendering).</p>
      <p>
          <a href="https://www.apiplaybook.com/p/introducao-ao-nextjs">
              Read more
          </a>
      </p>
   ]]></content:encoded></item><item><title><![CDATA[Low-code: como criar um jogo 2D de plataforma no Unity]]></title><description><![CDATA[Desenvolver um software n&#227;o costuma ser uma tarefa f&#225;cil e exige um grande conhecimento sobre programa&#231;&#227;o, al&#233;m de tempo investido.]]></description><link>https://www.apiplaybook.com/p/low-code-como-criar-jogo-2d-no-unity</link><guid isPermaLink="false">https://www.apiplaybook.com/p/low-code-como-criar-jogo-2d-no-unity</guid><dc:creator><![CDATA[David Ruiz]]></dc:creator><pubDate>Mon, 30 Aug 2021 21:16:38 GMT</pubDate><enclosure url="https://substack-post-media.s3.amazonaws.com/public/images/23a971f1-a36e-447e-9879-6d7e58980e58_1920x1080.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!N73E!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1eef6620-3193-4226-a1c0-dd979263b524_1920x1080.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!N73E!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1eef6620-3193-4226-a1c0-dd979263b524_1920x1080.png 424w, https://substackcdn.com/image/fetch/$s_!N73E!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1eef6620-3193-4226-a1c0-dd979263b524_1920x1080.png 848w, https://substackcdn.com/image/fetch/$s_!N73E!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1eef6620-3193-4226-a1c0-dd979263b524_1920x1080.png 1272w, https://substackcdn.com/image/fetch/$s_!N73E!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1eef6620-3193-4226-a1c0-dd979263b524_1920x1080.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!N73E!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1eef6620-3193-4226-a1c0-dd979263b524_1920x1080.png" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/1eef6620-3193-4226-a1c0-dd979263b524_1920x1080.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:null,&quot;width&quot;:null,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;Low-code: como criar um jogo 2D de plataforma no Unity&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Low-code: como criar um jogo 2D de plataforma no Unity" title="Low-code: como criar um jogo 2D de plataforma no Unity" srcset="https://substackcdn.com/image/fetch/$s_!N73E!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1eef6620-3193-4226-a1c0-dd979263b524_1920x1080.png 424w, https://substackcdn.com/image/fetch/$s_!N73E!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1eef6620-3193-4226-a1c0-dd979263b524_1920x1080.png 848w, https://substackcdn.com/image/fetch/$s_!N73E!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1eef6620-3193-4226-a1c0-dd979263b524_1920x1080.png 1272w, https://substackcdn.com/image/fetch/$s_!N73E!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1eef6620-3193-4226-a1c0-dd979263b524_1920x1080.png 1456w" sizes="100vw" fetchpriority="high"></picture><div></div></div></a><figcaption class="image-caption">None</figcaption></figure></div><p>Desenvolver um <em>software</em> n&#227;o costuma ser uma tarefa f&#225;cil e exige um grande conhecimento sobre programa&#231;&#227;o, al&#233;m de tempo investido. Sabendo disso, diversas empresas constroem plataformas que permitem elaborar um programa utilizando o m&#237;nimo de c&#243;digo poss&#237;vel.</p><p>Isso diz respeito ao conceito de <em>low-code</em>. Atrav&#233;s do uso de uma interface gr&#225;fica, plataformas criadas seguindo essa filosofia reduzem o tempo de desenvolvimento e o conhecimento necess&#225;rio para a produ&#231;&#227;o de um <em>software</em>.</p><p>Para o desenvolvimento de jogos eletr&#244;nicos, existem as <em><strong>engines</strong></em>, tamb&#233;m conhecidas como <strong>motores de jogos</strong>. Elas s&#227;o plataformas <em>low-code</em> que visam simplificar o desenvolvimento, tomando para si as responsabilidades de renderizar os gr&#225;ficos, calcular a f&#237;sica, oferecer suporte a diversos outros requisitos de um <em>game</em> e diversas ferramentas que agilizam o processo.</p><p>Dentre os motores mais conhecidos est&#227;o: <strong>Unreal Engine (Final Fantasy VII Remake, Crash Bandicoot 4)</strong>, <strong>Unity (Fall Guys, Genshin Impact)</strong>, <strong>Game Maker (Hotline Miami, Shovel Knight)</strong>, <strong>Source (The Stanley Parable, Portal 2)</strong>, <strong>RAGE (GTA V, Red Dead Redemption 2)</strong>, <strong>Frostbite (Dragon Age Inquisition, Battlefield 5)</strong>, <strong>Havok (No Man&#8217;s Sky, Dark Souls, Zelda: Breath of the Wild) </strong>e <strong>CryEngine (Prey, Warface)</strong>. Eles podem ser gratuitos, pagos ou at&#233; mesmo de uso restrito, onde apenas a empresa criadora pode utiliz&#225;-la.</p><p>Em 2020, a desenvolvedora Media Molecule lan&#231;ou um sistema completamente gamificado para o PlayStation 4. O projeto, chamado <strong>Dreams</strong>, deu a muitos gamers a oportunidade de experimentarem uma plataforma Low-Code e tamb&#233;m criou uma comunidade de criadores &#8220;semi-profissionais&#8221;. O servidor do Dreams permite que voc&#234; viage&nbsp;no meio de todas as cria&#231;&#245;es e experimente o quanto quiser.</p><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!TVrC!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fde767079-7158-4320-a4af-abde771dcc06_1910x1024.gif" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!TVrC!,w_424,c_limit,f_webp,q_auto:good,fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fde767079-7158-4320-a4af-abde771dcc06_1910x1024.gif 424w, https://substackcdn.com/image/fetch/$s_!TVrC!,w_848,c_limit,f_webp,q_auto:good,fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fde767079-7158-4320-a4af-abde771dcc06_1910x1024.gif 848w, https://substackcdn.com/image/fetch/$s_!TVrC!,w_1272,c_limit,f_webp,q_auto:good,fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fde767079-7158-4320-a4af-abde771dcc06_1910x1024.gif 1272w, https://substackcdn.com/image/fetch/$s_!TVrC!,w_1456,c_limit,f_webp,q_auto:good,fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fde767079-7158-4320-a4af-abde771dcc06_1910x1024.gif 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!TVrC!,w_1456,c_limit,f_auto,q_auto:good,fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fde767079-7158-4320-a4af-abde771dcc06_1910x1024.gif" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/de767079-7158-4320-a4af-abde771dcc06_1910x1024.gif&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:null,&quot;width&quot;:null,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!TVrC!,w_424,c_limit,f_auto,q_auto:good,fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fde767079-7158-4320-a4af-abde771dcc06_1910x1024.gif 424w, https://substackcdn.com/image/fetch/$s_!TVrC!,w_848,c_limit,f_auto,q_auto:good,fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fde767079-7158-4320-a4af-abde771dcc06_1910x1024.gif 848w, https://substackcdn.com/image/fetch/$s_!TVrC!,w_1272,c_limit,f_auto,q_auto:good,fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fde767079-7158-4320-a4af-abde771dcc06_1910x1024.gif 1272w, https://substackcdn.com/image/fetch/$s_!TVrC!,w_1456,c_limit,f_auto,q_auto:good,fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fde767079-7158-4320-a4af-abde771dcc06_1910x1024.gif 1456w" sizes="100vw"></picture><div></div></div></a></figure></div><p>Quer aprender a fazer um jogo como este? Continue lendo o artigo!</p><h3><strong>M&#227;os a obra</strong></h3><p>Neste artigo, voc&#234; aprender&#225; a como desenvolver um jogo 2D de plataforma, utilizando a licen&#231;a gratuita da <em><strong>engine</strong></em> Unity.</p>
      <p>
          <a href="https://www.apiplaybook.com/p/low-code-como-criar-jogo-2d-no-unity">
              Read more
          </a>
      </p>
   ]]></content:encoded></item></channel></rss>