Nota de método: o comparativo oficial é do Payload, e as posições contra o Directus refletem esse viés. A leitura honesta começa pela origem de cada ferramenta: porque elas nasceram para perguntas diferentes.
A raiz de cada uma: CMS-first vs database-first
Directus se descreve como uma "open data platform": ela se instala sobre um banco SQL existente e gera uma interface de administração + APIs para o dado que já está lá: a analogia do próprio fabricante concorrente é "um PHPMyAdmin evoluído". A força é real: legado de banco, visão tabular, refletir o schema existente. Payload nasce CMS e developer-first: as collections são definidas em código para modelar conteúdo e aplicação: o banco (MongoDB ou Postgres) é consequência da modelagem, não o ponto de partida.
Schema: quem manda no modelo
- Directus: o schema vive no banco SQL (o que o fabricante rival chama de overhead de migrations; o time Directus chamaria de integridade relacional). Cada tabela é introspectada e vira collection.
- Payload: o schema vive no código TypeScript: mudança de estrutura passa pelo git, com migrations geradas para o banco escolhido (Mongo/Postgres: o Mongo evita migrations relacionais, ponto que o fabricante explora).
Admin e stack: React contra Vue
O painel do Payload é React e nativo ao Next.js (RSC, Turbopack, deploy serverless): componentes do admin trocáveis por componentes próprios. O painel do Directus é construído em Vue: que o fabricante descreve como "menos popular" no ecossistema React; a leitura equilibrada: para um time Vue, o painel Vue é um trunfo, não um defeito. A escolha acompanha a stack do time.
API e performance
- Payload: Local API: operações diretas no servidor sem camada HTTP (a via mais rápida para o frontend Next.js), além de REST e GraphQL. Hooks em nível de documento e campo para sanitizar dados e integrar terceiros.
- Directus: SDK sobre Axios (a crítica do fabricante: "significantly slower and less powerful" que a Local API: alegação com benchmark aberto no GitHub, do lado do Payload).
A alegação de performance do fabricante: 3x mais rápido, com o speed-test open source: auditável como o do Strapi, e com o mesmo ceticismo recomendado.
Edição e conteúdo
- Payload: visual editing (clicar e editar na página), live preview, localização por campo com fallback, versions e drafts.
- Directus: live preview (que o Payload também tem), mas não o visual editing de página. Para operação editorial intensiva, essa diferença pesa.
Directus vence quando: o dado já existe num banco SQL e precisa de interface + API sem re-modelagem; o caso é gestão de dados interna (não site); o time é Vue; a visão relacional tabular é o que a operação pede. Payload vence quando: o projeto é um site/aplicação com conteúdo; a stack é React/Next.js serverless; o fluxo editorial (visual editing, localização por campo, drafts) é central; a modelagem nasce do negócio, não do banco legado. A pergunta-diagnóstico: "eu tenho um banco e quero uma interface sobre ele" (Directus) ou "eu tenho um site e quero um CMS + backend" (Payload)?
A leitura final: os dois são open-source competentes para territórios que se sobrepõem na vitrine e divergem na raiz. Comprar um CMS para gerenciar um banco legado: ou uma data platform para construir um site editorial: são os dois erros caros que essa comparação evita. Para o panorama do Payload, o guia completo; para o rival Node mais próximo, o Payload vs Strapi; e para o dado que alimenta o marketing, o rastreamento e implementação MarTech.