Astro, Hugo, Eleventy, export estático do Next.js e Jekyll comparados, com tempos de build medidos nos mesmos 1,000 posts em Markdown, uma tabela de recursos e o mesmo template de post em cada um.
Um gerador de sites estáticos transforma Markdown e templates em arquivos HTML puros no momento do build, que qualquer hospedagem ou CDN consegue servir rapidamente. O Hugo é o que faz o build mais rápido; no nosso teste, ele transformou 1,000 posts em páginas em menos de meio segundo. O Eleventy é o mais flexível, e o Astro é a melhor escolha quando algumas partes precisam de componentes interativos.
Escolha em uma linha
Demos ao Astro, ao Eleventy e ao Hugo os mesmos 1,000 posts em Markdown e cronometramos três builds limpos de cada um, para que os números sejam comparáveis de verdade. Abaixo dos resultados, a mesma página de post em cada ferramenta mostra como é trabalhar com ela.
Uma forma de construir sites como HTML, CSS e JavaScript pré-gerados e servidos por uma CDN, com recursos dinâmicos adicionados por meio de APIs. Os geradores de sites estáticos produzem a parte pré-gerada.
Para páginas simples em Markdown, sim, e com folga no nosso teste: cerca de 0.3 segundo contra cerca de 1 segundo para 1,000 posts depois do aquecimento. O Astro faz mais por página, como conteúdo com verificação de tipos e renderização de componentes.
Sim. Os formulários podem enviar dados para um serviço de formulários ou para uma função serverless, e a busca pode rodar no navegador a partir de um índice pré-gerado. Nenhum dos dois precisa de um servidor tradicional.
Muito. Cada página chega como HTML completo no primeiro carregamento, é rápida de servir e fácil de ler para os rastreadores. Você ainda precisa de bons títulos, descrições, links internos e um sitemap.
Os mesmos 1,000 posts em cada ferramenta, com a saída apagada antes de cada execução. As execuções repetidas são mais rápidas porque as ferramentas e o sistema operacional já estão com os caches aquecidos.
Medido: 1,000 posts em Markdown para HTML (segundos)
Lado a lado
A collection valida o front matter de cada post contra um schema, e o getStaticPaths cria uma página por post no momento do build.
Um arquivo posts.json na pasta aplica o layout a todos os arquivos Markdown dentro dela, por meio da data cascade do Eleventy.
O Hugo escolhe este template para cada página em content/. .Content é o Markdown renderizado.
Definir output como export grava arquivos HTML puros na pasta out no momento do build. Recursos que precisam de servidor, como server actions e renderização sob demanda, não estão disponíveis nesse modo.
Vai escrever o conteúdo primeiro? Tenha à mão o
Comece grátis · Sem cartão de crédito