6 pontos por xguru 2024-11-07 | 4 comentários | Compartilhar no WhatsApp
  • Um mecanismo de consultas para Array e Object inspirado em GraphQL e SQL
  • Uma biblioteca que permite usar no JavaScript funcionalidades no estilo GraphQL como Array.select() e Array.where()
from(data)  
.where({  
	friends: 'John'  
})  
.select({  
	name: o => o.name+' '+o.lastName  
})  

4 comentários

 
brain1401 2024-11-07

Olhando o código acima, isso me lembra o Drizzle ORM.

 
wogns3623 2024-11-08

Recentemente conheci o Drizzle ORM; ele é um ORM voltado para query builder, como os ORMs já existentes no ecossistema JS, tipo knex ou typeorm?

 
brain1401 2024-11-09

O Drizzle tem uma abordagem um pouco diferente dos ORMs tradicionais. Dá para enxergá-lo como uma “camada fina de SQL” otimizada para TypeScript.

Comparando com o Knex, a sintaxe e a forma de definir schemas parecem semelhantes, mas há uma grande diferença no suporte a TypeScript. O Drizzle coloca muito mais foco em segurança de tipos. Enquanto no Knex é preciso definir schema e tipos separadamente, no Drizzle uma única definição gera tanto o schema quanto os tipos, o que é mais prático e reduz a chance de erros.

Em comparação com o TypeORM, o TypeORM é mais pesado e mais próximo de um ORM tradicional. O Drizzle é mais leve e tem melhor desempenho, o que é especialmente vantajoso em ambientes serverless. Em benchmarks reais, dizem que o Drizzle chega a ser várias vezes mais rápido que TypeORM ou Prisma.

Outro ponto interessante é que o Drizzle também oferece um bom suporte para gerenciamento de migrations. Com a ferramenta de CLI Drizzle Kit, é possível gerar automaticamente arquivos de migration e, durante o desenvolvimento, aplicar mudanças de schema de forma simples com o comando push.

Em resumo, o Drizzle pode ser visto como um query builder moderno, amigável ao TypeScript, leve e com ótimo desempenho. Eu o recomendaria especialmente para quem valoriza segurança de tipos e performance!

 
brain1401 2024-11-09

Este é o resultado de perguntar ao Perplexity.