요즘 supabase가 자주 보여서 궁금증에 인프런 강의를 들어보았다.
Firebase
- BaaS: 서버 없이도 빠르게 앱을 출시할 수 있도록 나온 백엔드 플랫폼
- 가입인증, 클라우드 호스팅, 실시간 데이터베이스, 파일 업로드 클라우드 저장소 등 제공
- 앱기능 향상, 앱 성장을 위한 다양한 기능 제공
- 장점
- 다양한 서비스와 폭넓은 연동지원
- 적용이 쉽고 문서화가 잘 되어있다.
- 커뮤니티가 매우 성숙한 프로덕트
- 앱, 웹에서 단순하게 사용할 수 있는 NoSQL 기반
- 단점
- 오픈소스가 아니다. (Vendor Lock-In)
- 복잡한 쿼리 불가(NoSQL 기반)
- 유저가 많아졌을 때 비용이 많이 든다.
- 앱 개발에는 월등히 좋으나 웹 개발에 최적은 X
Supabase
- 오픈소스
- 핵심 기능 4가지
- Database : PostgreSQL 기반 실시간 데이터베이스 제공
- Authentication : 소셜 로그인, otp, 일반 회원가입 지원
- Storage : 파일 업로드, 다운로드 ..
- Realtime : 실시간 채팅, 알림 .. sdk, api 제공
- 장점
- 오픈소스 프로젝트(프로덕트에 기여, 자체 서버구축 가능)
- PostgreSQL 기반(관계형 DB 장점을 살릴 수 있다)
- Firebase 대비 저렴
- 다양한 연동방식 지원(+ GraphQL, API, SDK, DB Connection)
- 단점
- 아직 성숙하지 않은 커뮤니티 기반
- 비교적 적은 기능들, 적은 서비스 연동 지원
- 부족한 문서화, 한글 문서 부족
- Firebase보다 높은 러닝커브
그럼에도 왜 Supabase?
- 개인 또는 소규모 팀이 풀스택 개발을 하는데 필요한 대부분의 것들이 갖춰져있다.
- 스타트업 or 개인 프로젝트 특성상 복잡한 요구사항이 생기기 쉬운데, 이를 대응하기가 훨씬 용이하다.
- 보안상의 이슈로 직접 서버구축을 해야할 때, Supabase는 비교적 쉽게 이전이 가능하다. Vendor Lock-In 이슈(오픈소스)
'스터디' 카테고리의 다른 글
02. Next.js와 Supabase로 미니 노트앱 만들기 (0) | 2024.10.10 |
---|---|
01. Supabase 기능 둘러보기 (0) | 2024.10.10 |