Logotipo do Prisma, um prisma branco com fundo verde

Prisma chegou a ser considerado uma das melhores coisas que já aconteceram no ecossistema Node.js

Prisma: uma das melhores coisas que já aconteceu no ecossistema?

Prisma 8 de Abr de 2022
NLW Expert | Evento gratuito de programação na prática | Rocketseat
Desafie-se em uma nova tecnologia criando um projeto completo em 3 aulas no maior evento online e gratuito de programação na prática para todos os níveis da Rocketseat.

Um breve arquivo sobre a origem da ferramenta que facilitou o acesso de databases e ampliou produtividade para o ecossistema JavaScript/TypeScript

Dividido em três camadas como núcleo de sua arquitetura, o Prisma nasceu no ecossistema JavaScript com a promessa de ser uma ferramenta facilitadora e produtiva para devs que trabalham diretamente com databases. Por uma série de razões, a tecnologia chegou a ser reconhecida como “uma das melhores coisas que já aconteceu” na programação backend entre usuários de Node.js.

O artigo desta semana pretende levantar um arquivo sobre o Prisma e entender os motivos da tecnologia ter obtido tanta relevância ao longo desses anos. Se você acompanha nossa plataforma e acessou recentemente nossos conteúdos no YouTube, já deve ter reparado que estamos de olho na performance do Prisma há bastante tempo.

Não há exatamente uma data para apontar como “o dia em que foi lançado”, no entanto, se entrarmos nos registros do GitHub, reparamos que os primeiros repositórios do Prisma surgiram em meados de 2017, com assinaturas de Lukáš Huvar e Johannes Schickling.

Antes de ser Prisma, o pequeno projeto era chamado de Graphcool e contava com uma equipe pequena de cinco devs que pretendiam desenvolver uma solução como backend-as-a-service para GraphQL. O Graphcool na época foi bem recebido pela comunidade, principalmente por ser “fácil de usar” até para devs Frontend.


NLW Expert | Evento gratuito de programação na prática | Rocketseat
Desafie-se em uma nova tecnologia criando um projeto completo em 3 aulas no maior evento online e gratuito de programação na prática para todos os níveis da Rocketseat.

Nikolas Burk, um dos primeiros devs da equipe, reconheceu nesta thread que, apesar do projeto ter potencial na época, não conseguiu escalar por conta da falta de flexibilidade. A solução foi desenvolver, ao longo de uma série de tentativas, o Prisma 1.0, em 2018. O Prisma Client foi anunciado meses depois.

Fonte: Nikolas Burk, via Twitter


A tecnologia atualmente se encontra em sua terceira etapa de desenvolvimento, chamada de Prisma 3, uma versão com recursos mais avançados e consistentes. Apesar do nome numérico, o produto oficial do Prisma, que engloba todos os serviços da tecnologia, está no Prisma Client e Studio, este último lançado em novembro de 2019.

Fonte: Nikolas Burk, via Twitter

Prisma é uma ferramenta open source, um ORM de próxima geração cuja arquitetura é desenhada em três camadas fundamentais:

  • Prisma Client: um construtor de queries gerado automaticamente e type-safe para Node.js e TypeScript
  • Prisma Migrate: sistema de migração;
  • Prisma Studio: o produto principal da tecnologia. Trata-se de uma interface do usuário feita para visualizar e editar os dados na database;

Na descrição oficial da ferramenta, Prisma é descrito como um novo tipo de ORM, fundamentalmente diferente dos modelos tradicionais que eram aplicados anteriormente. Uma alternativa para outras ORMs, como TypeORM e Sequelize.

NLW Expert | Evento gratuito de programação na prática | Rocketseat
Desafie-se em uma nova tecnologia criando um projeto completo em 3 aulas no maior evento online e gratuito de programação na prática para todos os níveis da Rocketseat.

Todo o conceito do Prisma está no schema proporcionado por eles no desenvolvimento nestas três camadas citadas anteriormente. Segundo eles, o schema é descrito como o principal arquivo de configuração para o Prisma.

“O schema é única fonte ‘truth’ para o esquema de banco de dados, o esquema de objeto do seu aplicativo e mapeamento entre os dois. Prisma te deixa confiante e produtivo no desenvolvimento de seu software com recursos como type safety, preenchimento automático, e uma API natural para ‘fetching relations’”.

Exemplo do Prisma schema:

Fonte: Prisma.io

Para quem quer conhecer os benefícios da tecnologia na prática, não deixe de conferir um dos últimos decodes que tivemos sobre o assunto com a Dani Evangelista e Mayk Brito. Está tudo em nosso canal do YouTube.

Marcadores

Felipe Buzzi

Content writer @ Rocketseat