새로운 웹 기술 ZenStack에 대해서 알아보도록 하겠습니다.
ZenStack 이란? ZenStack 이란? 무엇인가요?
ZenStack에 대해서 들어보신적이 있으신가요?
ZenStack 공식홈페이지 : https://zenstack.dev/
0. 목차
1. ZenStack이란?
2. ZenStack 등장 배경
3. 참고자료
1. ZenStack이란?
ZenStack은 웹 앱의 백엔드 개발을 단순화하는 툴킷입니다.
ZenStack은 보안 계층을 추가하는 Prisma의 확장입니다.
Prisma는 JavaScript/TypeScript용 ORM 툴킷입니다.
ORM(Object Relational Mapping(객체-관계-매핑))이란?
ORM 이란 무엇인가? ORM은 SQL을 작성하지 않고 데이터베이스에 접근 할 수 있게 해주는 라이브러리입니다.
데이터베이스를 조작하기 위해서 코드를 작성하면, ORM 라이브러리가 SQL 쿼리로 변환해줍니다.
아래 예시를 보면 쉽게 이해가 될 것입니다.
왼쪽 처럼 데이터베이스를 조작하기 위해서 코딩을 하면, 오른쪽에 SQL 쿼리로 변환해 줍니다.
출처 : https://res.cloudinary.com/practicaldev/image/fetch/s--luYwqCVi--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://user-images.githubusercontent.com/104139426/217270030-f5acbc6a-345f-4f19-9b8f-23f630f0c152.png
Prisma 공식 홈페이지 : https://www.prisma.io/
ZenStack은 오픈소스 입니다.
공식 오픈소스 홈페이지 : https://github.com/zenstackhq/zenstack
ZenStack은 TypeScript언어로 개발되어져 있습니다.
ZenStack의 주요 기능
1) 맞춤형 속성 및 기능을 지원하는 Prisma 스키마 언어의 상위 집합
2) 액세스 정책 및 데이터 유효성 검사 규칙에 대한 기본 제공
3) 중간 백엔드를 구축하지 않고 프런트엔드에서 데이터베이스를 액세스하기 위한 자동 생성 API
4) 유연성이 뛰어난 코드 생성을 위한 확장 가능한 플러그인 시스템
ZenStack은 어떤 스택이나 프레임워크에 종속되지 않습니다.
ZenStack이 프레임워크(Framework)가 아니고 Toolkit이기 때문입니다.
그래서, Next.js, Nuxt.js, Remix.run, SvelteKit 등과 같은
대부분의 JavaScript 전체 스택 프레임워크와 잘 작동을 합니다.
ZenStack에 대해서 상세한 내용은 공식 홈페이지 문서를 참고 바랍니다.
2. ZenStack 등장 배경
웹 개발 환경은 계속 변화하고 있습니다.
예전에는 HTML 만으로 이뤄진 홈페이지는
CGI, LAMP Stack, MEAN Stack, JAM Stack 등
웹 기술이 급격하게 변화하고, 개발환경이 변화하고 있습니다.
웹 기술 변천사에 대한 이야기는 다른 지면을 통해서 알아보도록 하겠습니다.
한마디로 시대 흐름에 따라 변화해나가는 최신 기술이라고 생각을 하면 쉬울 것 같습니다.
3. 참고자료
ZenStack 공식 홈페이지 : https://zenstack.dev/
ZenStack 공식 문서 : https://zenstack.dev/docs/intro
ZenStack 공식 오픈소스 : https://github.com/zenstackhq/zenstack
Prisma 공식 홈페이지 : https://www.prisma.io/
기타 ZenStack 설명한 글 모음
Prisma + ZenStack을 사용하여 백엔드가 없는 최신 웹 아키텍처
https://dev.to/zenstack/modern-web-architecture-without-a-backend-using-prisma-zenstack-5f1l
백엔드가 필요없는 최신 웹 아키텍쳐 : Prisma + ZenStack
https://betterprogramming.pub/modern-web-architecture-without-a-backend-prisma-zenstack-683b03b144fa
Remix + Prisma + ZenStack으로 Cal.com 클론 구축
https://dev.to/zenstack/building-a-calcom-clone-with-remix-prisma-zenstack-41kd
ZenStack 소개 : Next.js 프로젝트에서 CRUD 서비스를 만들기 위한 스키마 우선 툴킷
https://dev.to/zenstack/introducing-zenstack-a-schema-first-toolkit-for-creating-crud-services-in-nextjs-projects-272d