Nós, engenheiros de software, temos um grave problema com a Síndrome do Objeto Brilhante. Você decide que precisa de um site pessoal simples, e quando percebe, está configurando um cluster Kubernetes, um cache no Redis e tentando entender por que o webpack quebrou na sua máquina.
Fui vítima dessa armadilha por muito tempo. É extremamente tentador pegar o framework JavaScript do momento (Next.js, Nuxt, Astro, SvelteKit, ou qualquer outro que tenha sido lançado nos últimos 15 minutos) para subir um blog.
Mas a verdade dura é que a complexidade tem um custo. E em 99% das vezes, você não precisa pagar esse boleto.
O problema de matar formigas com uma bazuca
Vamos falar de arquitetura de verdade. Se o seu domínio de negócio é "entregar conteúdo estático (texto e imagem) para quem quer ler", por que diabos você enviaria 3MB de JavaScript para o client e hidrataria um Virtual DOM inteiro só para renderizar uma tag <p>?
É o equivalente na engenharia a usar um guindaste para abrir uma garrafa de cerveja. Funciona? Sim. Faz sentido? Nem um pouco.
Manter frameworks modernos em projetos estáticos é como adotar um Tamagotchi: se você não entrar lá e atualizar os pacotes do NPM toda semana, ele morre de inanição e passa a emitir 37 warnings de segurança vermelhos no seu terminal.
Por que Eleventy (11ty)?
Depois de me frustrar com o ciclo sem fim de atualizações do ecossistema JS, decidi voltar ao básico. Foi quando decidi apostar no Eleventy.
O 11ty não tenta reinventar a roda e definitivamente não tenta empurrar um estado reativo goela abaixo. A proposta dele é estupidamente simples: ele lê seus arquivos Markdown, processa os templates (no meu caso, Nunjucks), e cospe HTML puro, cru e brutalmente rápido.
- Zero JS no client por padrão: O Eleventy não envia nenhum JavaScript pro navegador do usuário a menos que você explicitamente o escreva. O tempo de carregamento não é medido em milissegundos, é medido em sustos. Piscou, carregou.
- Resiliência absoluta: Hospedado numa CDN como o Cloudflare Pages, o site é basicamente indestrutível. Não há banco de dados para cair por excesso de conexões e não há pod do K8s para reiniciar. Se a internet estiver funcionando, o site também está.
- Foco no que importa: Eu escrevo em
.md, dou umgit pushe a esteira de CI/CD faz o resto. Acabou a dependência de plugins obscuros.
Arquitetura chata é a melhor arquitetura
O desenvolvimento web ficou maluco nos últimos anos, e estamos finalmente vendo uma correção de rota sensata de volta ao HTML "burro".
Escolher o Eleventy não foi uma decisão baseada em hype. Foi uma decisão de engenharia puramente defensiva. Quanto menos peças móveis o seu sistema tiver, menos lugares existem para ele quebrar silenciosamente às 3 da manhã de um domingo.
E como bônus, agora posso gastar meu tempo resolvendo problemas arquiteturais de verdade no backend, em vez de brigar com a configuração do build do frontend.