{"id":57082,"date":"2023-02-13T06:02:45","date_gmt":"2023-02-13T09:02:45","guid":{"rendered":"https:\/\/kinsta.com\/pt\/?p=57082&#038;preview=true&#038;preview_id=57082"},"modified":"2023-08-22T03:34:04","modified_gmt":"2023-08-22T06:34:04","slug":"nextjs-vs-react","status":"publish","type":"post","link":"https:\/\/kinsta.com\/pt\/blog\/nextjs-vs-react\/","title":{"rendered":"Next.js vs React? \u00c9 uma Parceria, N\u00e3o uma Competi\u00e7\u00e3o"},"content":{"rendered":"<p>N\u00e3o h\u00e1 falta de <a href=\"https:\/\/kinsta.com\/pt\/blog\/bibliotecas-javascript\/\">bibliotecas e frameworks JavaScript<\/a> para desenvolvedores web modernos. Uma das bibliotecas mais populares \u00e9 o\u00a0 <a href=\"https:\/\/kinsta.com\/pt\/blog\/o-que-e-react-js\/\">React<\/a>, que o Facebook (agora Meta) criou para construir aplicativos ricos em recursos. Os aplicativos React tradicionalmente rodam em navegadores web, mas o framework <a href=\"https:\/\/kinsta.com\/pt\/blog\/next-js\/\">Next.js<\/a> estende a funcionalidade React para o lado do servidor atrav\u00e9s do ambiente de tempo de execu\u00e7\u00e3o JavaScript <a href=\"https:\/\/sevalla.com\/application-hosting\/\">Node.js<\/a>.<\/p>\n<p>Neste artigo, iremos analisar o Next.js e React para que voc\u00ea possa decidir se eles s\u00e3o adequados para o seu pr\u00f3ximo projeto.<\/p>\n<div><\/div><kinsta-auto-toc heading=\"Table of Contents\" exclude=\"last\" list-style=\"arrow\" selector=\"h2\" count-number=\"-1\"><\/kinsta-auto-toc>\n<p><strong>Confira nosso guia em v\u00eddeo sobre <a href=\"https:\/\/www.youtube.com\/watch?v=msJicleNHkA\">Next.js vs React<\/a>:<\/strong><\/p>\n<kinsta-video src=\"https:\/\/www.youtube.com\/watch?v=msJicleNHkA\"><\/kinsta-video>\n<h2>Next.js e React: JavaScript no pr\u00f3ximo n\u00edvel<\/h2>\n<p>Uma pesquisa SlashData de 2022 descobriu que existem mais de 17 milh\u00f5es de programadores <a href=\"https:\/\/kinsta.com\/pt\/blog\/o-que-e-javascript\/\">JavaScript<\/a> ao redor do mundo, liderando um grupo que inclui linguagens populares como <a href=\"https:\/\/kinsta.com\/pt\/blog\/python-vs-java\/\">Python e Java<\/a>. JavaScript pode ser usado tanto no lado do cliente quanto do servidor, e esta versatilidade significa que os desenvolvedores podem construir aplicativos completas usando uma \u00fanica linguagem de programa\u00e7\u00e3o.<\/p>\n<figure style=\"width: 960px\" class=\"wp-caption alignnone\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/kinsta.com\/wp-content\/uploads\/2023\/01\/programming-language-community-sizes-worldwide-2022.png\" alt=\"Pesquisa Slash\/Data sobre as linguagens usadas pelos programadores em 2022. (Fonte: &lt;a href=\"https:\/\/www.statista.com\/statistics\/1241923\/worldwide-software-developer-programming-language-communities\/\" target=\"_blank\" rel=\"noopener\"&gt;Statista&lt;\/a&gt;)\" width=\"960\" height=\"908\"><figcaption class=\"wp-caption-text\">Pesquisa Slash\/Data sobre as linguagens usadas pelos programadores em 2022. (Fonte: <a href=\"https:\/\/www.statista.com\/statistics\/1241923\/worldwide-software-developer-programming-language-communities\/\" target=\"_blank\" rel=\"noopener noreferrer\">Statista<\/a>)<\/figcaption><\/figure>\n<p>A introdu\u00e7\u00e3o de bibliotecas JavaScript, como React e <a href=\"https:\/\/kinsta.com\/javascript\/#frameworks\">frameworks<\/a> como Next.js, melhorou ainda mais esse desenvolvimento. Essas bibliotecas e frameworks fornecem recursos que simplificam a integra\u00e7\u00e3o do frontend e backend. Al\u00e9m disso, os desenvolvedores podem estender os recursos JavaScript usando gerenciadores de pacotes como o <a href=\"https:\/\/kinsta.com\/pt\/blog\/npm-gerenciador-pacotes-node\/\">npm<\/a> (o gerenciador de pacotes Node.js) para instalar bibliotecas e ferramentas JavaScript. Estes recursos fornecem recursos sofisticados que reduzem a quantidade de c\u00f3digo que voc\u00ea mesmo tem que escrever.<\/p>\n<p>A extensibilidade do JavaScript significa que um conhecimento abrangente de suas ferramentas mais populares \u00e9 a chave para o seu sucesso como um desenvolvedor web.<\/p>\n<h2>O que \u00e9 Next.js?<\/h2>\n<p>Lan\u00e7ado inicialmente em 2016 pela Vercel, Next.js \u00e9 um framework de c\u00f3digo aberto React que fornece os blocos de build para criar<a href=\"https:\/\/kinsta.com\/pt\/blog\/arquitetura-aplicativos-web\/\"> aplicativos web<\/a> de alto desempenho. Desde ent\u00e3o, grandes empresas o adotaram, incluindo Twitch, TikTok, e Uber, para citar algumas.<\/p>\n<p>Next.js oferece uma das melhores experi\u00eancias de desenvolvimento para a constru\u00e7\u00e3o de aplicativos r\u00e1pidos e amig\u00e1veis ao SEO. Abaixo est\u00e3o algumas funcionalidades do Next.js que fazem dele uma framework de produ\u00e7\u00e3o excepcional:<\/p>\n<ul>\n<li>Capacidade de renderiza\u00e7\u00e3o h\u00edbrida<\/li>\n<li>Divis\u00e3o autom\u00e1tica de c\u00f3digos<\/li>\n<li>Otimiza\u00e7\u00e3o de imagens<\/li>\n<li>Suporte integrado para pr\u00e9-processadores CSS e bibliotecas CSS-in-JS<\/li>\n<li>Roteamento embutido<\/li>\n<\/ul>\n<p>Essas funcionalidades ajudam os desenvolvedores do Next.js a economizar um tempo consider\u00e1vel na configura\u00e7\u00e3o e ferramentas. Voc\u00ea pode ir diretamente para a constru\u00e7\u00e3o do seu aplicativo, que pode suportar projetos como os seguintes:<\/p>\n<ul>\n<li>Lojas de eCommerce<\/li>\n<li>Blogs<\/li>\n<li>Painel de Controle<\/li>\n<li>Aplicativos de uma p\u00e1gina<\/li>\n<li>Interfaces de usu\u00e1rio interativas<\/li>\n<li>Sites est\u00e1ticos<\/li>\n<\/ul>\n<h2>O que \u00e9 React?<\/h2>\n<p>React \u00e9 uma biblioteca JavaScript usada para construir interfaces de usu\u00e1rio din\u00e2micas. Al\u00e9m de criar interfaces web, voc\u00ea pode construir aplicativos para dispositivos m\u00f3veis usando React Native.<\/p>\n<p>Alguns benef\u00edcios do uso do React incluem:<\/p>\n<ul>\n<li><strong>Melhoria de desempenho:<\/strong> Ao inv\u00e9s de atualizar cada componente no DOM, React usa um DOM virtual para atualizar apenas os componentes alterados.<\/li>\n<li><strong>Baseado em componentes pesados: <\/strong>Uma vez que voc\u00ea cria um componente, voc\u00ea pode reutiliz\u00e1-lo repetidamente.<\/li>\n<li><strong>Depura\u00e7\u00e3o f\u00e1cil:<\/strong> Os aplicativos React usam um fluxo de dados unidirecional \u2014 apenas dos componentes superiores para os componentes inferiores.<\/li>\n<\/ul>\n<h2>Next.js vs React<\/h2>\n<p>Embora os desenvolvedores frequentemente usem Next.js e React para o mesmo prop\u00f3sito, existem algumas diferen\u00e7as fundamentais entre os dois.<\/p>\n<h3>Facilidade de uso<\/h3>\n<p>\u00c9 f\u00e1cil come\u00e7ar com Next.js e React. Cada um requer executar comandos \u00fanicos em seu terminal usando <code>npx<\/code>, que \u00e9 parte do <a href=\"https:\/\/kinsta.com\/pt\/blog\/como-instalar-o-node-js\/\">npm para Node.js<\/a>.<\/p>\n<p>Para o Next.js, o comando mais simples \u00e9:<\/p>\n<pre><code>npx create-next-app<\/code><\/pre>\n<p>Sem etapas adicionais para <code>create-next-app<\/code>, a instala\u00e7\u00e3o prosseguir\u00e1 em modo interativo. Voc\u00ea ser\u00e1 perguntado por um nome de projeto (que ser\u00e1 usado para o diret\u00f3rio do projeto), e se voc\u00ea deseja incluir suporte ao TypeScript e ao linter de c\u00f3digo ESLint.<\/p>\n<p>Ser\u00e1 algo parecido com isso:<\/p>\n<figure style=\"width: 1040px\" class=\"wp-caption alignnone\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/kinsta.com\/wp-content\/uploads\/2023\/01\/using-npx-to-create-next-app.png\" alt=\"Criando um aplicativo Next.js em modo interativo.\" width=\"1040\" height=\"467\"><figcaption class=\"wp-caption-text\">Criando um aplicativo Next.js em modo interativo.<\/figcaption><\/figure>\n<p>Ao inicializar uma inst\u00e2ncia React, o comando mais simples inclui um nome para o diret\u00f3rio do projeto:<\/p>\n<pre><code>npx create-react-app <strong>new-app<\/strong><\/code><\/pre>\n<p>Isso cria uma pasta que cont\u00e9m todas as configura\u00e7\u00f5es e depend\u00eancias iniciais necess\u00e1rias.<\/p>\n<figure style=\"width: 1040px\" class=\"wp-caption alignnone\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/kinsta.com\/wp-content\/uploads\/2023\/01\/using-npx-to-create-react-app.png\" alt=\"Criando um projeto React na linha de comando do terminal.\" width=\"1040\" height=\"756\"><figcaption class=\"wp-caption-text\">Criando um projeto React na linha de comando do terminal.<\/figcaption><\/figure>\n<p>Embora ambos facilitem o in\u00edcio, lembre-se que o Next.js \u00e9 constru\u00eddo com base no React. Ent\u00e3o, voc\u00ea n\u00e3o pode aprender Next.js sem primeiro aprender React e entender como ele funciona. Felizmente, o React possui uma curva de aprendizado suave e \u00e9 \u00f3timo para iniciantes.<\/p>\n<p>Tamb\u00e9m \u00e9 importante notar que React \u00e9 relativamente desestruturado. Voc\u00ea deve instalar e configurar um roteador React e decidir como lidar com a busca de dados, otimiza\u00e7\u00e3o de imagens e divis\u00e3o de c\u00f3digo. Esta configura\u00e7\u00e3o requer que voc\u00ea instale e configure bibliotecas e ferramentas adicionais.<\/p>\n<p>Em contraste, Next.js vem com estas ferramentas pr\u00e9-instaladas e pr\u00e9-configuradas. Com o Next.js, qualquer arquivo adicionado \u00e0 pasta <code>pages<\/code> serve automaticamente como uma rota. Devido a este suporte integrado, Next.js \u00e9 mais f\u00e1cil de trabalhar diariamente, permitindo que voc\u00ea comece a codificar a l\u00f3gica do seu aplicativo imediatamente.<\/p>\n\n<h2>Funcionalidades do Next.js e React<\/h2>\n<p>Como o Next.js \u00e9 baseado no React, eles compartilham algumas funcionalidades. No entanto, o Next.js vai al\u00e9m e inclui recursos adicionais, como roteamento, divis\u00e3o de c\u00f3digo, pr\u00e9-renderiza\u00e7\u00e3o e suporte a APIs, prontos para uso. Esses s\u00e3o recursos que voc\u00ea precisaria configurar por conta pr\u00f3pria ao usar o React.<\/p>\n<h3>Coleta de dados<\/h3>\n<p>React renderiza dados do lado do cliente. O servidor envia arquivos est\u00e1ticos para o navegador e ent\u00e3o o navegador pega os dados das APIs para preencher o aplicativo. Este processo reduz o desempenho do aplicativo e fornece uma experi\u00eancia ruim para o usu\u00e1rio, uma vez que o aplicativo carrega lentamente. O Next.js resolve este problema atrav\u00e9s de uma pr\u00e9-renderiza\u00e7\u00e3o.<\/p>\n<p>Com a pr\u00e9-renderiza\u00e7\u00e3o, o servidor faz as chamadas API necess\u00e1rias e busca os dados antes de enviar o aplicativo para o navegador. Como tal, o navegador recebe p\u00e1ginas de internet prontas para renderiza\u00e7\u00e3o.<\/p>\n<p>A pr\u00e9-renderiza\u00e7\u00e3o pode se referir \u00e0 gera\u00e7\u00e3o de sites est\u00e1ticos (SSG) ou renderiza\u00e7\u00e3o do lado do servidor (SSR). No SSG, as p\u00e1ginas HTML s\u00e3o geradas em tempo de build e reutilizadas para m\u00faltiplas requisi\u00e7\u00f5es. Next.js pode gerar p\u00e1ginas <a href=\"https:\/\/kinsta.com\/pt\/blog\/o-que-e-html\/\">HTML<\/a> com ou sem dados.<\/p>\n<p>Abaixo est\u00e1 um exemplo de como o Next.js gera p\u00e1ginas sem dados:<\/p>\n<pre><code class=\"language-js\">function App() {\n  return &lt;div&gt;Welcome&lt;\/div&gt;\n}\nexport default App<\/code><\/pre>\n<p>Para p\u00e1ginas est\u00e1ticas que consomem dados externos, use a fun\u00e7\u00e3o <code>getStaticProps()<\/code>. Uma vez que voc\u00ea exporta <code>getStaticProps()<\/code> de uma p\u00e1gina, Next.js ir\u00e1 pr\u00e9-renderizar a p\u00e1gina usando os adere\u00e7os que ela retorna. Esta fun\u00e7\u00e3o sempre roda no servidor, ent\u00e3o use <code>getStaticProps()<\/code> quando os dados que a p\u00e1gina usa estiverem dispon\u00edveis no momento da constru\u00e7\u00e3o. Por exemplo, voc\u00ea pode us\u00e1-lo para buscar artigos de blogs de um CMS.<\/p>\n<pre><code class=\"language-js\">const Posts= ({ posts }) =&gt; {\n    return (\n        &lt;div className={styles.container}&gt;\n            {posts.map((post, index) =&gt; (\n                \/\/ render each post\n            ))}\n        &lt;\/div&gt;\n    );\n  };\n\nexport const getStaticProps = async () =&gt; {\n    const posts = getAllPosts();\n    return {\n        props: { posts },\n    };\n};<\/code><\/pre>\n<p>Em situa\u00e7\u00f5es onde os caminhos da p\u00e1gina dependem de dados externos, use a fun\u00e7\u00e3o <code>getStaticPaths()<\/code>. Ent\u00e3o, para criar um caminho baseado no ID do artigo, exporte o <code>getStaticPaths()<\/code> da p\u00e1gina.<\/p>\n<p>Por exemplo, voc\u00ea pode exportar <code>getStaticPaths()<\/code> das <strong>p\u00e1ginas\/posts\/[id].js<\/strong> como mostrado abaixo.<\/p>\n<pre><code class=\"language-js\">export getStaticPaths = async()  =&gt; {\n  \/\/ Get all the posts\n  const posts = await getAllPosts()\n\n  \/\/ Get the paths you want to pre-render based on posts\n  const paths = posts.map((post) =&gt; ({\n    params: { id: post.id },\n  }))\n  return { paths, fallback: false }\n}<\/code><\/pre>\n<p><code>getStaticPaths()<\/code> \u00e9 frequentemente emparelhado com <code>getStaticProps()<\/code>. Neste exemplo, voc\u00ea usaria <code>getStaticProps()<\/code> para buscar os detalhes do ID no caminho.<\/p>\n<pre><code class=\"language-js\">export const getStaticProps = async ({ params }) =&gt; {\n    const post = await getSinglePost(params.id);\n    return {\n        props: { post }\n    };\n};<\/code><\/pre>\n<p>Na SSR, os dados s\u00e3o buscados no momento solicitado e enviados para o navegador. Para usar SSR, exporte a fun\u00e7\u00e3o <code>getServerSide()<\/code> props da p\u00e1gina que voc\u00ea deseja renderizar. O servidor chama esta fun\u00e7\u00e3o em cada solicita\u00e7\u00e3o, tornando o SSR \u00fatil para p\u00e1ginas que consomem dados din\u00e2micos.<\/p>\n<p>Por exemplo, voc\u00ea pode us\u00e1-lo para buscar dados de uma API de not\u00edcias.<\/p>\n<pre><code class=\"language-js\">const News = ({ data }) =&gt; {\n    return (\n        \/\/ render data\n    );\n  };\n\nexport async function getServerSideProps() {\n    const res = await fetch(`https:\/\/app-url\/data`)\n    const data = await res.json()\n    return { props: { data } }\n}<\/code><\/pre>\n<p>Os dados s\u00e3o buscados em cada solicita\u00e7\u00e3o e passados para o componente News por meio de props.<\/p>\n<h3>Divis\u00e3o de c\u00f3digo<\/h3>\n<p>A divis\u00e3o do c\u00f3digo significa dividir o c\u00f3digo em partes que o navegador pode carregar sob demanda. Ela reduz a quantidade de c\u00f3digo enviado ao navegador durante o carregamento inicial, j\u00e1 que o servidor envia apenas o que o usu\u00e1rio precisa. Bundlers como Webpack, Rollup e Browserify suportam a divis\u00e3o de c\u00f3digo em React.<\/p>\n<p>Next.js suporta a divis\u00e3o de c\u00f3digo por padr\u00e3o.<\/p>\n<p>Com o Next.js, cada p\u00e1gina \u00e9 dividida em c\u00f3digo (code-splitting), e adicionar p\u00e1ginas ao aplicativo n\u00e3o aumenta o tamanho do pacote (bundle). O Next.js tamb\u00e9m suporta importa\u00e7\u00f5es din\u00e2micas, o que permite que voc\u00ea importe m\u00f3dulos JavaScript e carregue-os dinamicamente durante o tempo de execu\u00e7\u00e3o. As importa\u00e7\u00f5es din\u00e2micas contribuem para velocidades de p\u00e1gina mais r\u00e1pidas porque os pacotes s\u00e3o carregados sob demanda (lazy-loaded).<\/p>\n<p>Por exemplo, no componente <strong>Home<\/strong> abaixo, o servidor n\u00e3o ir\u00e1 incluir o componente hero no pacote inicial.<\/p>\n<pre><code class=\"language-js\">const DynamicHero = dynamic(() =&gt; import('..\/components\/Hero'), {\n  suspense: true,\n})\n\nexport default function Home() {\n  return (\n    &lt;Suspense fallback={`Loading...`}&gt;\n      &lt;DynamicHero \/&gt;\n    &lt;\/Suspense&gt;\n  )\n}<\/code><\/pre>\n<p>Em vez disso, o elemento fallback do suspense ser\u00e1 renderizado antes que o componente hero seja carregado.<\/p>\n<h3>Suporte API no Next.js vs React<\/h3>\n<p>O recurso de roteamento Next.js API permite que voc\u00ea escreva c\u00f3digo backend e frontend na mesma base de c\u00f3digo. Qualquer p\u00e1gina salva na pasta <strong>\/pages\/api\/<\/strong> \u00e9 mapeada para a rota <strong>\/api\/*<\/strong>, e Next.js trata como um <a href=\"https:\/\/kinsta.com\/pt\/blog\/endpoint-api\/\">endpoint API<\/a>.<\/p>\n<p>Por exemplo, voc\u00ea pode criar uma rota API <strong>page\/api\/user.js<\/strong> que retorna o nome do usu\u00e1rio atual desta forma:<\/p>\n<pre><code class=\"language-js\">export default function user(req, res) {\n    res.status(200).json({ username: 'Jane' });\n}<\/code><\/pre>\n<p>Se voc\u00ea visitar a URL <strong>https:\/\/app-url\/api\/user<\/strong>, voc\u00ea ver\u00e1 o objeto username.<\/p>\n<pre><code class=\"language-json\">{\n        username: 'Jane'\n}<\/code><\/pre>\n<p>As rotas API s\u00e3o \u00fateis quando voc\u00ea quer mascarar a URL de um servi\u00e7o que voc\u00ea est\u00e1 acessando ou quer manter as vari\u00e1veis de ambiente em segredo sem codificar um aplicativo backend inteira.<\/p>\n<h3>Desempenho<\/h3>\n<p>Next.js \u00e9 sem d\u00favida superior em sua capacidade de criar aplicativos de melhor desempenho com um processo simplificado. Os aplicativos SSR e SSG Next.js t\u00eam melhor desempenho do que os aplicativos React do lado do cliente (CSR). Ao buscar dados no servidor e enviar tudo o que o navegador precisa para renderizar, o Next.js elimina a necessidade de uma requisi\u00e7\u00e3o de banco de dados para as APIs. Isso significa tempos de carregamento mais r\u00e1pidos.<\/p>\n<p>Porque o Next.js suporta o roteamento do lado do cliente. O navegador n\u00e3o precisa buscar dados do servidor cada vez que um usu\u00e1rio navega para outra rota. Al\u00e9m disso, o componente de imagem Next.js permite a otimiza\u00e7\u00e3o autom\u00e1tica da imagem. As imagens s\u00e3o carregadas somente quando elas entram no viewport. Onde poss\u00edvel, o Next.js tamb\u00e9m serve imagens em formatos modernos como <a href=\"https:\/\/kinsta.com\/pt\/blog\/webp\/#what-is-webp\">WebP<\/a>.<\/p>\n<p>Next.js tamb\u00e9m fornece otimiza\u00e7\u00f5es de fontes, pr\u00e9-busca de rotas inteligentes, e otimiza\u00e7\u00f5es de agrupamento. Estas otimiza\u00e7\u00f5es n\u00e3o est\u00e3o automaticamente dispon\u00edveis em React.<\/p>\n<h3>Suporte<\/h3>\n<p>Como o React existe h\u00e1 mais tempo que o Next.js, ele tem uma comunidade mais extensa. No entanto, muitos desenvolvedores do React est\u00e3o adotando o Next.js, de modo que a comunidade est\u00e1 crescendo constantemente. Os desenvolvedores est\u00e3o mais facilmente encontrando solu\u00e7\u00f5es existentes para problemas que encontram do que tendo que construir solu\u00e7\u00f5es do zero.<\/p>\n<p>Next.js tamb\u00e9m apresenta excelente documenta\u00e7\u00e3o com exemplos abrangentes que s\u00e3o f\u00e1ceis de entender. Apesar da sua popularidade, a documenta\u00e7\u00e3o React n\u00e3o \u00e9 t\u00e3o naveg\u00e1vel.<\/p>\n\n<h2>Resumo<\/h2>\n<p>Escolher Next.js ou React se resume aos requisitos de um aplicativo.<\/p>\n<p>Next.js melhora as capacidades do React ao fornecer estrutura e ferramentas que melhoram o desempenho. Estas ferramentas, como roteamento, divis\u00e3o de c\u00f3digo e otimiza\u00e7\u00e3o de imagem, s\u00e3o incorporadas no Next.js, significando que os desenvolvedores n\u00e3o t\u00eam que configurar nada manualmente. Gra\u00e7as a estas funcionalidades, o Next.js \u00e9 f\u00e1cil de usar, e os desenvolvedores podem come\u00e7ar a codificar a l\u00f3gica do neg\u00f3cio imediatamente.<\/p>\n<p>Devido \u00e0s diferentes op\u00e7\u00f5es de renderiza\u00e7\u00e3o, Next.js \u00e9 adequado para aplicativos renderizadas do lado do servidor ou aplicativos que combinam gera\u00e7\u00e3o est\u00e1tica e renderiza\u00e7\u00e3o do lado do servidor Node.js. Al\u00e9m disso, gra\u00e7as ao recurso de otimiza\u00e7\u00e3o fornecido pelo Next.js, ele \u00e9 perfeito para sites que precisam ser r\u00e1pidos, como lojas de eCommerce.<\/p>\n<p>React \u00e9 uma biblioteca JavaScript que pode ajudar voc\u00ea a criar e escalar aplicativos frontend robustas. Sua sintaxe tamb\u00e9m \u00e9 simples, especialmente para desenvolvedores com experi\u00eancia em JavaScript. Al\u00e9m disso, voc\u00ea tem controle sobre as ferramentas que voc\u00ea usa em seu aplicativo e como voc\u00ea os configura.<\/p>\n<p>Planejando desenvolver seu pr\u00f3prio aplicativo que dominar\u00e1 o mundo? Confira a abordagem da Kinsta para a <a href=\"https:\/\/docs.sevalla.com\/templates\/overview\">hospedagem de aplicativos Node.js<\/a> em servi\u00e7os de suporte ao React e Next.js.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>N\u00e3o h\u00e1 falta de bibliotecas e frameworks JavaScript para desenvolvedores web modernos. Uma das bibliotecas mais populares \u00e9 o\u00a0 React, que o Facebook (agora Meta) criou &#8230;<\/p>\n","protected":false},"author":117,"featured_media":57083,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_kinsta_gated_content":false,"_kinsta_gated_content_redirect":"","footnotes":""},"tags":[],"topic":[977,1002],"class_list":["post-57082","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","topic-frameworks-javascript","topic-react"],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v24.6 (Yoast SEO v24.6) - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Next.js vs React? \u00c9 uma Parceria, N\u00e3o uma Competi\u00e7\u00e3o - Kinsta\u00ae<\/title>\n<meta name=\"description\" content=\"Curioso para saber como o Next.js vs React se encaixa no cen\u00e1rio do JavaScript? Daremos uma olhada nessas ferramentas para criar sites de alto desempenho.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/kinsta.com\/pt\/blog\/nextjs-vs-react\/\" \/>\n<meta property=\"og:locale\" content=\"pt_PT\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Next.js vs React? \u00c9 uma Parceria, N\u00e3o uma Competi\u00e7\u00e3o\" \/>\n<meta property=\"og:description\" content=\"Curioso para saber como o Next.js vs React se encaixa no cen\u00e1rio do JavaScript? Daremos uma olhada nessas ferramentas para criar sites de alto desempenho.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/kinsta.com\/pt\/blog\/nextjs-vs-react\/\" \/>\n<meta property=\"og:site_name\" content=\"Kinsta\u00ae\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/kinstapt\/\" \/>\n<meta property=\"article:published_time\" content=\"2023-02-13T09:02:45+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2023-08-22T06:34:04+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/kinsta.com\/pt\/wp-content\/uploads\/sites\/3\/2023\/02\/next-js-vs-react.png\" \/>\n\t<meta property=\"og:image:width\" content=\"1460\" \/>\n\t<meta property=\"og:image:height\" content=\"730\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"Salman Ravoof\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:description\" content=\"Curioso para saber como o Next.js vs React se encaixa no cen\u00e1rio do JavaScript? Daremos uma olhada nessas ferramentas para criar sites de alto desempenho.\" \/>\n<meta name=\"twitter:image\" content=\"https:\/\/kinsta.com\/pt\/wp-content\/uploads\/sites\/3\/2023\/02\/next-js-vs-react.png\" \/>\n<meta name=\"twitter:creator\" content=\"@salmanravoof\" \/>\n<meta name=\"twitter:site\" content=\"@kinsta_pt\" \/>\n<meta name=\"twitter:label1\" content=\"Escrito por\" \/>\n\t<meta name=\"twitter:data1\" content=\"Salman Ravoof\" \/>\n\t<meta name=\"twitter:label2\" content=\"Tempo estimado de leitura\" \/>\n\t<meta name=\"twitter:data2\" content=\"11 minutos\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/kinsta.com\/pt\/blog\/nextjs-vs-react\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/kinsta.com\/pt\/blog\/nextjs-vs-react\/\"},\"author\":{\"name\":\"Salman Ravoof\",\"@id\":\"https:\/\/kinsta.com\/pt\/#\/schema\/person\/9cafd2eedd617e640eeea4cf3a5fd987\"},\"headline\":\"Next.js vs React? \u00c9 uma Parceria, N\u00e3o uma Competi\u00e7\u00e3o\",\"datePublished\":\"2023-02-13T09:02:45+00:00\",\"dateModified\":\"2023-08-22T06:34:04+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/kinsta.com\/pt\/blog\/nextjs-vs-react\/\"},\"wordCount\":2252,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/kinsta.com\/pt\/#organization\"},\"image\":{\"@id\":\"https:\/\/kinsta.com\/pt\/blog\/nextjs-vs-react\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/kinsta.com\/pt\/wp-content\/uploads\/sites\/3\/2023\/02\/next-js-vs-react.png\",\"inLanguage\":\"pt-PT\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/kinsta.com\/pt\/blog\/nextjs-vs-react\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/kinsta.com\/pt\/blog\/nextjs-vs-react\/\",\"url\":\"https:\/\/kinsta.com\/pt\/blog\/nextjs-vs-react\/\",\"name\":\"Next.js vs React? \u00c9 uma Parceria, N\u00e3o uma Competi\u00e7\u00e3o - Kinsta\u00ae\",\"isPartOf\":{\"@id\":\"https:\/\/kinsta.com\/pt\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/kinsta.com\/pt\/blog\/nextjs-vs-react\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/kinsta.com\/pt\/blog\/nextjs-vs-react\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/kinsta.com\/pt\/wp-content\/uploads\/sites\/3\/2023\/02\/next-js-vs-react.png\",\"datePublished\":\"2023-02-13T09:02:45+00:00\",\"dateModified\":\"2023-08-22T06:34:04+00:00\",\"description\":\"Curioso para saber como o Next.js vs React se encaixa no cen\u00e1rio do JavaScript? Daremos uma olhada nessas ferramentas para criar sites de alto desempenho.\",\"breadcrumb\":{\"@id\":\"https:\/\/kinsta.com\/pt\/blog\/nextjs-vs-react\/#breadcrumb\"},\"inLanguage\":\"pt-PT\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/kinsta.com\/pt\/blog\/nextjs-vs-react\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"pt-PT\",\"@id\":\"https:\/\/kinsta.com\/pt\/blog\/nextjs-vs-react\/#primaryimage\",\"url\":\"https:\/\/kinsta.com\/pt\/wp-content\/uploads\/sites\/3\/2023\/02\/next-js-vs-react.png\",\"contentUrl\":\"https:\/\/kinsta.com\/pt\/wp-content\/uploads\/sites\/3\/2023\/02\/next-js-vs-react.png\",\"width\":1460,\"height\":730},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/kinsta.com\/pt\/blog\/nextjs-vs-react\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/kinsta.com\/pt\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Frameworks JavaScript\",\"item\":\"https:\/\/kinsta.com\/pt\/topicos\/frameworks-javascript\/\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Next.js vs React? \u00c9 uma Parceria, N\u00e3o uma Competi\u00e7\u00e3o\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/kinsta.com\/pt\/#website\",\"url\":\"https:\/\/kinsta.com\/pt\/\",\"name\":\"Kinsta\u00ae\",\"description\":\"Solu\u00e7\u00f5es de hospedagem Premium, r\u00e1pida e segura\",\"publisher\":{\"@id\":\"https:\/\/kinsta.com\/pt\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/kinsta.com\/pt\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"pt-PT\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/kinsta.com\/pt\/#organization\",\"name\":\"Kinsta\",\"url\":\"https:\/\/kinsta.com\/pt\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"pt-PT\",\"@id\":\"https:\/\/kinsta.com\/pt\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/kinsta.com\/pt\/wp-content\/uploads\/sites\/3\/2023\/12\/kinsta-logo.jpeg\",\"contentUrl\":\"https:\/\/kinsta.com\/pt\/wp-content\/uploads\/sites\/3\/2023\/12\/kinsta-logo.jpeg\",\"width\":500,\"height\":500,\"caption\":\"Kinsta\"},\"image\":{\"@id\":\"https:\/\/kinsta.com\/pt\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"https:\/\/www.facebook.com\/kinstapt\/\",\"https:\/\/x.com\/kinsta_pt\",\"https:\/\/www.instagram.com\/kinstahosting\/\",\"https:\/\/www.linkedin.com\/company\/kinsta\/\",\"https:\/\/www.pinterest.com\/kinstahosting\/\",\"https:\/\/www.youtube.com\/c\/Kinsta\"]},{\"@type\":\"Person\",\"@id\":\"https:\/\/kinsta.com\/pt\/#\/schema\/person\/9cafd2eedd617e640eeea4cf3a5fd987\",\"name\":\"Salman Ravoof\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"pt-PT\",\"@id\":\"https:\/\/kinsta.com\/pt\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/0c5885f75cb78473fb7408e5e49ad190?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/0c5885f75cb78473fb7408e5e49ad190?s=96&d=mm&r=g\",\"caption\":\"Salman Ravoof\"},\"description\":\"Salman Ravoof is a self-taught web developer, writer, creator, and a huge admirer of Free and Open Source Software (FOSS). Besides tech, he's excited by science, philosophy, photography, arts, cats, and food. Learn more about him on his website, and connect with Salman on Twitter.\",\"sameAs\":[\"https:\/\/salmanravoof.com\",\"https:\/\/www.linkedin.com\/in\/salman-ravoof-5a749133\/\",\"https:\/\/x.com\/salmanravoof\"],\"url\":\"https:\/\/kinsta.com\/pt\/blog\/author\/salmanravoof\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Next.js vs React? \u00c9 uma Parceria, N\u00e3o uma Competi\u00e7\u00e3o - Kinsta\u00ae","description":"Curioso para saber como o Next.js vs React se encaixa no cen\u00e1rio do JavaScript? Daremos uma olhada nessas ferramentas para criar sites de alto desempenho.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/kinsta.com\/pt\/blog\/nextjs-vs-react\/","og_locale":"pt_PT","og_type":"article","og_title":"Next.js vs React? \u00c9 uma Parceria, N\u00e3o uma Competi\u00e7\u00e3o","og_description":"Curioso para saber como o Next.js vs React se encaixa no cen\u00e1rio do JavaScript? Daremos uma olhada nessas ferramentas para criar sites de alto desempenho.","og_url":"https:\/\/kinsta.com\/pt\/blog\/nextjs-vs-react\/","og_site_name":"Kinsta\u00ae","article_publisher":"https:\/\/www.facebook.com\/kinstapt\/","article_published_time":"2023-02-13T09:02:45+00:00","article_modified_time":"2023-08-22T06:34:04+00:00","og_image":[{"width":1460,"height":730,"url":"https:\/\/kinsta.com\/pt\/wp-content\/uploads\/sites\/3\/2023\/02\/next-js-vs-react.png","type":"image\/png"}],"author":"Salman Ravoof","twitter_card":"summary_large_image","twitter_description":"Curioso para saber como o Next.js vs React se encaixa no cen\u00e1rio do JavaScript? Daremos uma olhada nessas ferramentas para criar sites de alto desempenho.","twitter_image":"https:\/\/kinsta.com\/pt\/wp-content\/uploads\/sites\/3\/2023\/02\/next-js-vs-react.png","twitter_creator":"@salmanravoof","twitter_site":"@kinsta_pt","twitter_misc":{"Escrito por":"Salman Ravoof","Tempo estimado de leitura":"11 minutos"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/kinsta.com\/pt\/blog\/nextjs-vs-react\/#article","isPartOf":{"@id":"https:\/\/kinsta.com\/pt\/blog\/nextjs-vs-react\/"},"author":{"name":"Salman Ravoof","@id":"https:\/\/kinsta.com\/pt\/#\/schema\/person\/9cafd2eedd617e640eeea4cf3a5fd987"},"headline":"Next.js vs React? \u00c9 uma Parceria, N\u00e3o uma Competi\u00e7\u00e3o","datePublished":"2023-02-13T09:02:45+00:00","dateModified":"2023-08-22T06:34:04+00:00","mainEntityOfPage":{"@id":"https:\/\/kinsta.com\/pt\/blog\/nextjs-vs-react\/"},"wordCount":2252,"commentCount":0,"publisher":{"@id":"https:\/\/kinsta.com\/pt\/#organization"},"image":{"@id":"https:\/\/kinsta.com\/pt\/blog\/nextjs-vs-react\/#primaryimage"},"thumbnailUrl":"https:\/\/kinsta.com\/pt\/wp-content\/uploads\/sites\/3\/2023\/02\/next-js-vs-react.png","inLanguage":"pt-PT","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/kinsta.com\/pt\/blog\/nextjs-vs-react\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/kinsta.com\/pt\/blog\/nextjs-vs-react\/","url":"https:\/\/kinsta.com\/pt\/blog\/nextjs-vs-react\/","name":"Next.js vs React? \u00c9 uma Parceria, N\u00e3o uma Competi\u00e7\u00e3o - Kinsta\u00ae","isPartOf":{"@id":"https:\/\/kinsta.com\/pt\/#website"},"primaryImageOfPage":{"@id":"https:\/\/kinsta.com\/pt\/blog\/nextjs-vs-react\/#primaryimage"},"image":{"@id":"https:\/\/kinsta.com\/pt\/blog\/nextjs-vs-react\/#primaryimage"},"thumbnailUrl":"https:\/\/kinsta.com\/pt\/wp-content\/uploads\/sites\/3\/2023\/02\/next-js-vs-react.png","datePublished":"2023-02-13T09:02:45+00:00","dateModified":"2023-08-22T06:34:04+00:00","description":"Curioso para saber como o Next.js vs React se encaixa no cen\u00e1rio do JavaScript? Daremos uma olhada nessas ferramentas para criar sites de alto desempenho.","breadcrumb":{"@id":"https:\/\/kinsta.com\/pt\/blog\/nextjs-vs-react\/#breadcrumb"},"inLanguage":"pt-PT","potentialAction":[{"@type":"ReadAction","target":["https:\/\/kinsta.com\/pt\/blog\/nextjs-vs-react\/"]}]},{"@type":"ImageObject","inLanguage":"pt-PT","@id":"https:\/\/kinsta.com\/pt\/blog\/nextjs-vs-react\/#primaryimage","url":"https:\/\/kinsta.com\/pt\/wp-content\/uploads\/sites\/3\/2023\/02\/next-js-vs-react.png","contentUrl":"https:\/\/kinsta.com\/pt\/wp-content\/uploads\/sites\/3\/2023\/02\/next-js-vs-react.png","width":1460,"height":730},{"@type":"BreadcrumbList","@id":"https:\/\/kinsta.com\/pt\/blog\/nextjs-vs-react\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/kinsta.com\/pt\/"},{"@type":"ListItem","position":2,"name":"Frameworks JavaScript","item":"https:\/\/kinsta.com\/pt\/topicos\/frameworks-javascript\/"},{"@type":"ListItem","position":3,"name":"Next.js vs React? \u00c9 uma Parceria, N\u00e3o uma Competi\u00e7\u00e3o"}]},{"@type":"WebSite","@id":"https:\/\/kinsta.com\/pt\/#website","url":"https:\/\/kinsta.com\/pt\/","name":"Kinsta\u00ae","description":"Solu\u00e7\u00f5es de hospedagem Premium, r\u00e1pida e segura","publisher":{"@id":"https:\/\/kinsta.com\/pt\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/kinsta.com\/pt\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"pt-PT"},{"@type":"Organization","@id":"https:\/\/kinsta.com\/pt\/#organization","name":"Kinsta","url":"https:\/\/kinsta.com\/pt\/","logo":{"@type":"ImageObject","inLanguage":"pt-PT","@id":"https:\/\/kinsta.com\/pt\/#\/schema\/logo\/image\/","url":"https:\/\/kinsta.com\/pt\/wp-content\/uploads\/sites\/3\/2023\/12\/kinsta-logo.jpeg","contentUrl":"https:\/\/kinsta.com\/pt\/wp-content\/uploads\/sites\/3\/2023\/12\/kinsta-logo.jpeg","width":500,"height":500,"caption":"Kinsta"},"image":{"@id":"https:\/\/kinsta.com\/pt\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/kinstapt\/","https:\/\/x.com\/kinsta_pt","https:\/\/www.instagram.com\/kinstahosting\/","https:\/\/www.linkedin.com\/company\/kinsta\/","https:\/\/www.pinterest.com\/kinstahosting\/","https:\/\/www.youtube.com\/c\/Kinsta"]},{"@type":"Person","@id":"https:\/\/kinsta.com\/pt\/#\/schema\/person\/9cafd2eedd617e640eeea4cf3a5fd987","name":"Salman Ravoof","image":{"@type":"ImageObject","inLanguage":"pt-PT","@id":"https:\/\/kinsta.com\/pt\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/0c5885f75cb78473fb7408e5e49ad190?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/0c5885f75cb78473fb7408e5e49ad190?s=96&d=mm&r=g","caption":"Salman Ravoof"},"description":"Salman Ravoof is a self-taught web developer, writer, creator, and a huge admirer of Free and Open Source Software (FOSS). Besides tech, he's excited by science, philosophy, photography, arts, cats, and food. Learn more about him on his website, and connect with Salman on Twitter.","sameAs":["https:\/\/salmanravoof.com","https:\/\/www.linkedin.com\/in\/salman-ravoof-5a749133\/","https:\/\/x.com\/salmanravoof"],"url":"https:\/\/kinsta.com\/pt\/blog\/author\/salmanravoof\/"}]}},"acf":[],"_links":{"self":[{"href":"https:\/\/kinsta.com\/pt\/wp-json\/wp\/v2\/posts\/57082","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/kinsta.com\/pt\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/kinsta.com\/pt\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/kinsta.com\/pt\/wp-json\/wp\/v2\/users\/117"}],"replies":[{"embeddable":true,"href":"https:\/\/kinsta.com\/pt\/wp-json\/wp\/v2\/comments?post=57082"}],"version-history":[{"count":12,"href":"https:\/\/kinsta.com\/pt\/wp-json\/wp\/v2\/posts\/57082\/revisions"}],"predecessor-version":[{"id":62423,"href":"https:\/\/kinsta.com\/pt\/wp-json\/wp\/v2\/posts\/57082\/revisions\/62423"}],"alternate":[{"embeddable":true,"hreflang":"en","title":"English","href":"https:\/\/kinsta.com\/pt\/wp-json\/kinsta\/v1\/posts\/57082\/translations\/en"},{"embeddable":true,"hreflang":"it","title":"Italian","href":"https:\/\/kinsta.com\/pt\/wp-json\/kinsta\/v1\/posts\/57082\/translations\/it"},{"embeddable":true,"hreflang":"pt","title":"Portuguese","href":"https:\/\/kinsta.com\/pt\/wp-json\/kinsta\/v1\/posts\/57082\/translations\/pt"},{"embeddable":true,"hreflang":"fr","title":"French","href":"https:\/\/kinsta.com\/pt\/wp-json\/kinsta\/v1\/posts\/57082\/translations\/fr"},{"embeddable":true,"hreflang":"de","title":"German","href":"https:\/\/kinsta.com\/pt\/wp-json\/kinsta\/v1\/posts\/57082\/translations\/de"},{"embeddable":true,"hreflang":"ja","title":"Japanese","href":"https:\/\/kinsta.com\/pt\/wp-json\/kinsta\/v1\/posts\/57082\/translations\/jp"},{"embeddable":true,"hreflang":"nl","title":"Dutch","href":"https:\/\/kinsta.com\/pt\/wp-json\/kinsta\/v1\/posts\/57082\/translations\/nl"},{"embeddable":true,"hreflang":"es","title":"Spanish","href":"https:\/\/kinsta.com\/pt\/wp-json\/kinsta\/v1\/posts\/57082\/translations\/es"},{"embeddable":true,"hreflang":"sv","title":"Swedish","href":"https:\/\/kinsta.com\/pt\/wp-json\/kinsta\/v1\/posts\/57082\/translations\/se"},{"embeddable":true,"hreflang":"da","title":"Danish","href":"https:\/\/kinsta.com\/pt\/wp-json\/kinsta\/v1\/posts\/57082\/translations\/dk"},{"href":"https:\/\/kinsta.com\/pt\/wp-json\/kinsta\/v1\/posts\/57082\/tree"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/kinsta.com\/pt\/wp-json\/wp\/v2\/media\/57083"}],"wp:attachment":[{"href":"https:\/\/kinsta.com\/pt\/wp-json\/wp\/v2\/media?parent=57082"}],"wp:term":[{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/kinsta.com\/pt\/wp-json\/wp\/v2\/tags?post=57082"},{"taxonomy":"topic","embeddable":true,"href":"https:\/\/kinsta.com\/pt\/wp-json\/wp\/v2\/topic?post=57082"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}