백엔드를 따로 관리하기 어려운 프론트엔드 개발자들끼리의 협업에서 firebase는 낮은 러닝커브를 가지고, 폭넓은 생태계를 가지기에 손쉽게 접근 가능한 백엔드 플랫폼으로서 높은 위상을 가지고 있다. 하지만 이번 프로젝트에서는 supabase를 사용하는데, 구글이 관리하기에 어느 정도 신뢰성도 보장되며, 그 외 다양한 기능을 제공하는 firebase를 두고 왜 supabase를 사용하는 걸까?
supabase는 PostgreSQL 기반으로 복잡한 쿼리와 트랜잭션을 지원하며 관계형 데이터 베이스를 사용하기에 보다 정교하고 직관적으로 DB를 확인할 수 있다. 또한 오픈소스 기반이기 때문에 발전 속도가 빠르며 자체 호스팅도 지원한다. 또한 DB, 인증, 스토리지 등 애플리케이션 개발에 필요한 필수 백엔드 기능을 제공하며 개발자가 서버에 크게 신경을 쓰지 않아도 작업할 수 있는 서버리스의 성격을 가지고 있기에 이번 프로젝트에서 사용하게 되었다.
※ supabase로 커스텀 hook 만들어 작업하기
supabase를 통한 CRUD은 생각 이상으로 매우 간편하여 작업하기 용이했는데, 어느 테이블에서 가져올지(from), 어떤 작업을 할 건지(insert, update, delete), 조건은 어떤 걸 줄 건지(eq)를 선택만 하면 DB에 대한 접근과 수정이 간편하게 이루어졌다.
아직 프로젝트 초반이고 supabase를 익힌 지 얼마 안 되었지만, 이전에 조금 사용해 본 Mysql과도 비슷하여 쉽게 적응할 수 있을 것 같고 firebase라는 선택지 외에도 supabase라는 또 다른 선택지를 알게 된 점이 기술 선택의 범위가 넓어진 것 같아 유용했다.
'TIL' 카테고리의 다른 글
[2024.06.03] 뉴스피드 프로젝트_React 텍스트 에디터 고르기(react-quill) (0) | 2024.06.03 |
---|---|
[2024.06.02] 뉴스피드 프로젝트_상세 페이지 레이아웃 완성 (0) | 2024.06.03 |
[2024.05.31] 뉴스피드 팀프로젝트 시작 (0) | 2024.05.31 |
[2024.05.30] tailwind css 환경설정 에러: "File is a CommonJS module; it may be converted to an ES module" (0) | 2024.05.31 |
[2024.05.29] Zustand 설치 및 사용법(+리렌더링되는 조건) (0) | 2024.05.29 |