GN⁺: Pocketbase: 단일 파일로 구성된 오픈소스 백엔드
(pocketbase.io)PocketBase - 당신의 다음 SaaS 및 모바일 앱을 위한 오픈 소스 백엔드
- 실시간 데이터베이스: 스키마 빌더, 데이터 검증, 실시간 구독 기능을 갖춘 성능이 뛰어난 내장형 데이터베이스와 쉽게 사용할 수 있는 REST API 제공.
- 인증: 이메일/비밀번호 및 OAuth2 로그인(구글, 페이스북, 깃허브, 깃랩)을 번거로움 없이 관리.
- 파일 저장소: 파일을 로컬 또는 S3 저장소에 합리적으로 저장하고, 데이터베이스 레코드에 미디어를 쉽게 첨부하며, 즉석에서 썸네일 생성.
- 확장 가능: 독립 실행형 앱으로 사용하거나 Go와 JavaScript 훅을 통해 확장하여 사용자 정의 이동식 백엔드를 만들 수 있는 프레임워크로 사용 가능.
기능 탐색
- JavaScript SDK: PocketBase를 사용하여 'example' 컬렉션 레코드를 리스트로 가져오거나 검색, 단일 레코드 가져오기, 삭제, 새 레코드 생성 및 실시간 변경 사항 구독 가능.
- Dart SDK: Dart 언어를 사용하는 개발자들을 위한 SDK도 제공됨.
GN⁺의 의견
- PocketBase는 실시간 데이터베이스, 인증, 파일 저장소 등을 포함하여 SaaS 및 모바일 앱 개발을 위한 백엔드 기능을 제공하는 오픈 소스 솔루션임.
- 사용자는 쉽게 REST API를 사용할 수 있으며, 필요에 따라 Go와 JavaScript를 사용하여 백엔드를 확장할 수 있는 유연성을 갖추고 있음.
- 이 솔루션은 개발자들이 빠르게 프로토타입을 만들거나 실제 제품을 구축할 때 시간과 노력을 절약할 수 있도록 도와줌으로써, 개발 과정을 간소화하고 효율성을 높이는 데 기여함.
Hacker News 의견
-
Pocketbase 사용 경험
- React와 Vite를 사용하는 앱의 백엔드/데이터베이스로 Pocketbase 사용에 대한 긍정적인 경험.
- 주로 인증 및 유료/무료 계정 관리에 사용.
- 유용한 기능들:
- 호스팅이 매우 쉬움. Appwrite나 Supabase 대신 선택, 특히 Supabase는 자체 호스팅이 까다로움.
- 뷰 컬렉션을 통해 필요한 데이터의 부분 집합만 반환 가능.
- Go나 JS로 확장 가능하여 복잡하지 않은 경우 백엔드 없이도 가능.
- 작은 프로젝트나 사이드 프로젝트에 계속 사용할 계획, CMS로 사용하거나 브라우저 확장 프로그램의 백엔드로 사용 고려 중.
-
Pocketbase 개발 경험
- 2개월간 Pocketbase 개발, 1-2개월 내로 프로덕션 배포 예정.
- 매우 만족스러운 경험, 친구 회사의 웹앱 개발에 단순한 시스템 필요.
- Pocketbase 하나로 웹서버, 서버사이드 자바스크립트(컴파일된 TypeScript), SQLite 데이터베이스 운영.
- 저렴한 비용으로 호스팅 가능, SvelteKit과 TypeScript로 프론트엔드 개발.
- 개발자의 빠른 응답과 명확한 지원에 만족.
- 몇 가지 작은 문제점(문서의 빈 곳, CSV 로더 직접 작성, CRUD 인터페이스의 속도 저하 등) 있으나 전반적으로 프로젝트에 만족.
- 단순하고 TypeScript로 모든 것을 코딩할 수 있어 필요에 완벽히 부합.
- 고성능은 아니지만 필요하지 않았음, 사이드 프로젝트에도 사용할 계획.
- 계약의 일부로 친구 회사가 Pocketbase에 기부할 예정.
-
Pocketbase 프로덕션 사용 경험
- 몇 달간 프로덕션에서 alpinejs와 함께 Pocketbase 사용.
- 개발 철학이 현실적이고 실용적이며 매주 기능이 부풀어 오르지 않고 개선됨.
- 점점 더 대중화됨에 따라 지원 수준 유지에 대한 우려와 개발자의 소진 가능성.
- 수익 창출을 위해 사용하는 사람들에게 프로젝트 지원을 강력히 권장.
-
Pocketbase에 대한 감상
- 프로젝트가 복잡성을 피하고 단순하고 미니멀한 접근을 적극적으로 시도하는 것을 높이 평가.
- 단일 바이너리를 서버에 업로드하여 배포하는 용이성이 매력적.
- 백엔드에서 자바스크립트 지원 도입으로 Remix, Next.js 등의 프레임워크에 도전할 수 있는 심각한 경쟁자로 부상.
- v1 버전에 대한 기대감.
-
Pocketbase를 사용한 와인 컬렉션 관리
- 와인 컬렉션 설계 및 저장을 위해 sqlite 데이터베이스 위에 사용할 수 있는 프론트엔드 탐색.
- 단일 실행 파일, 관리 인터페이스, 노트북에 저장할 수 있는 데이터베이스가 필요했음.
- Pocketbase에 대한 감사와 해커뉴스로 돌아오는 이유.
-
Pocketbase의 GraphQL API 지원 가능성
- Pocketbase가 매우 멋져 보임, 작은 프로젝트에 사용 가능.
- 미래에 GraphQL API를 지원할 수 있는지 궁금함.
-
오픈소스 프로젝트에 대한 감상
- 이 분야에서 좋은 오픈소스 프로젝트의 수가 많아서 기쁨.
- Grist와 NocoDB는 데이터베이스 관리에 더 초점을 맞추고 있으며, 시작하기 쉬운 방법을 제공함.
-
Pocketbase 기능에 대한 질문
- 행 수준 접근 제어, 나머지 세계와의 통합(이메일 발송, 트리거 작동 등), CSV 내보내기/가져오기, 국제화 등에 대한 처리 방법이 문서에서 명확하지 않음.
- 이러한 기능들이 가능한지, 간단한지, Go나 JS로 확장해야 하는지에 대한 질문.
-
CRUD 작업 페이지 사용자 정의 가능성
- "crud operations page"를 얼마나 맞춤 설정할 수 있는지에 대한 질문.
-
Pocketbase에 대한 평가
- Supabase와 Appwrite를 포함한 여러 PaaS를 시도했으나, Pocketbase가 최고임.
- 훌륭한 성능, 직관적인 기능, 실제 자체 호스팅 가능성, 배포의 즐거움.