What Is ZenStack?
JS

JS @jiasheng

About: Creator of ZenStack. Building tools to enable more people to pursue work they truly enjoy.

Location:
london, UK
Joined:
Nov 3, 2022

What Is ZenStack?

Publish Date: Jun 12 '23
18 2

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. 🤝

Comments 2 total

  • Acid Coder
    Acid CoderJun 16, 2023

    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

    • JS
      JSJun 17, 2023

      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.

Add comment