DEV Community

Cover image for What Is ZenStack?
JS for ZenStack

Posted on

What Is ZenStack?

Video or Text

This is my initial video publication introducing ZenStack: an open-source full-stack development toolkit that supercharges Prisma ORM with a powerful access control layer and unleashes its full potential for full-stack development.

Honestly, I consider myself an old-school individual who enjoyed navigating through hyperlinks to find the desired information. It gave me a sense of freedom, reminiscent of the bygone era when it was known as web surfing. However, I've noticed a growing trend where more and more individuals prefer acquiring information through videos.

Therefore, I've decided to give it a shot. If you've had the chance to watch the video, I would greatly appreciate hearing your thoughts on it. You now have the power to shape the appearance of our new website. 🀝

Top comments (2)

Collapse
 
tylim88 profile image
Acid Coder • Edited

Great job, but I personally will stay away from Prisma because I believe it is a terrible product.

There are 2 main pain points with Prisma's schema language-first design

  1. It requires users to learn a new language that has literally no use elsewhere, resulting in a huge investment in cognitive cost with low return

  2. Users need to constantly remind themselves to generate client every time they change the schema. This becomes a point of failure, the experience is not streamlined.

I believe a better type safe ORM or query builder would be something like Kysely(type-first approach) and Drizzle(code-first approach) because Typescript is the only thing you need to know to use them.

Drizzle's potential is higher because you can create Zod schemas without generating any code. Meanwhile, Kysely need code generator to generate Zod schemas

Because Prisma uses schema language first approach, it needs parsers and a code generator. This means that building tools like Prisma takes more engineering time compare to tools like Kysely and Drizzle

Normally we expect that tools that require more engineering time to build result in a better user experience. However in the case of Prisma, it seems to be the other way around. This leads me to believe that Prisma is a horrible product from APIs design perspective

Long thing short, using Prisma is not Zen at all. What is good about Prisma is their marketing

Collapse
 
jiasheng profile image
JS

I appreciate you sharing your perspective. I fully comprehend the challenge of code generation, and initially, I did attempt to advocate for a non-schema approach. However, I soon realized that without a schema, expressing the desired access policy becomes quite difficult.

Every coin has two sides, you can’t overlook the benefit that code generation could bring to you. Take GraphQL, for example. Despite the slight inconvenience of code generation, those who choose to utilize it undoubtedly reap significant benefits. Additionally, there are practices available to seamlessly incorporate code generation into the development process, making it more transparent.