supabase는 이름에서도 그 유사성을 어느정도 알 수 있지만 Firebase의 대안이라는 슬로건을 가진 오픈소스 프로젝트입니다.
제가 Supabase를 처음 접했던 것은 작년 이맘때 즈음이었던 것 같습니다.
그당시에는 컨셉 자체는 좋지만 레퍼런스가 많지 않아 파이어베이스에서 당장 넘어가기에는 조금 부담이된다.라고 생각했던 기억이 납니다.
파이어베이스는 NoSQL 기반이라는 점이 장점이기도 하지만
또 동시에 프로젝트가 고도화되면 될수록 NoSQL을 사용함으로 인해 따라오는 단점이 더 커지는 경우가 있기 때문에
Supabase의 컨셉이 매력적인게 아닌가 싶습니다.
Supabase의 장점
앞서 Firebase를 이야기하면서 NoSQL을 살짝 언급했었는데요.
Supabase의 경우에는 PostgreSQL을 기반으로 하기때문에 NoSQL이 가지는 문제에서 자유롭다는 장점이 있습니다.
오픈소스로 공개되어있다는 점과 개발자친화적인 다양한 편의기능들을 제공하는 것도 큰 장점이고요
사실상 Firebase를 사용하면서 마주하게되는 거의 대부분의 문제들을 해결해준다.라고도 표현할 수 있을 것 같아요.
그러면서도 Firebase의 큰 장점인 개발 리소스 최소화, OAuth 연동 편의성 등의 특징들도 모두 간편하게 챙겨갈 수 있고요
Supabase의 핵심 기능
Supabase의 Features 문서를 살펴보면 다양한 기능들을 제공하고 있는 것을 확인할 수 있습니다.
https://supabase.com/docs/guides/getting-started/features
어림 잡아서 봐도 20개는 훌쩍 넘는 기능들이 제공되고 있는데요.
그 중에서도 핵심적인 기능이라고 한다면 위 사진에서 다루는 바와 같이
PostgreSQL 기반의 데이터베이스, 회원 인증, 파일 업로드, Realtime 기능을 들 수 있을 것 같습니다.
네가지 기능 모두 어떤 프로젝트를 하든 결국에는 거의 반드시 요구되는 기능이다보니 더더욱 그 중요성이 큰 것 같아요
Supabase를 학습하기 어려운 이유
지금 시점에서 Supabase의 공식 문서를 처음 열어보면 그 방대함에 놀랄 수 밖에 없는데요.
next.js , react, vue 등 일반적인 프론트엔드 프레임워크 뿐만 아니라
swift , react native는 물론 라라벨, 루비 온 레일즈와 같은 프레임워크들도 지원하고 있습니다.
저는 강의를 듣기보다는 공식문서를 찾아보면서 혼자 학습하는 것을 선호하는 편이지만
개인적인 소감으로는 Supabase를 공식문서로 학습하는 것은 조금 까다로움이 있었어요
기능이 너무 많고 제공되는 문서도 너무 방대하다보니
내가 뭘 필요한지 어디까지 알아야 내가 원하는 것들을 구현할 수 있을지와 같은 "학습의 스코프"를 잡는 것이 어려웠거든요
그러나 Supabase 자체가 나온지 오래된 기술이 아니다보니 적절한 레퍼런스나 강의를 찾아보기 어려웠습니다.
그러던 중에 인프런에 한국어로 Supabase 강의가 나와서 소개드립니다.
추천하는 강의
이 강의는 next.js 14와 supabase 조합으로 클론프로젝트 3개를 개발하고 배포하는 강의인데요
모던한 스택으로 supabase의 핵심기능들인 데이터베이스, 인증, 파일업로드, 실시간기능구현들을 쉬운 것부터 차근차근 학습할 수 있는 강의입니다.
파일 업로드, 검색, 회원 인증, 실시간 채팅 , 무한 스크롤은 어떤 프로젝트를 하더라도 대부분 유용하게 사용되는 기능이다보니 제한된 시간 안에 빠르게 학습해야한다면 딱 이것들을 공부해야할 것 같다. 싶은 것들만 포함되어있는 느낌이에요
앞서 Supabase를 학습할 때 가장 어려웠던 점이 "뭘 어디까지 공부해야할지 모르겠다"라는 것이 가장 크다고 했었는데
이런 지점에서 실제로 프로젝트를 만들어나가며 어떤 기능들을 구현하기 위해 어떤 학습이 필요한지를 명확하게 알 수 있는 점이 해당 강의의 큰 장점이지 않나 싶습니다.
마치며
개인적으로는 지금까지 들어보았던 한국어 개발 강의 중 가장 강사의 전달력이 좋다고 느낀 강의였습니다.
저는 앱개발자라면 몰라도 웹개발자는 firebase 사용이 장점보다 고통스러운 지점이 더 많아서
언젠가는 모두 Supabase로 넘어가는 것이 예정된 수순이 아닐까 하는데요
그런 관점에서 Supabase를 학습하는 것은 매우 큰 강점이 될 것이라고 생각합니다.
프론트엔드 개발자는 JS를 주스택으로 쓰다보니 Supabase와 같은 SaaS를 잘 이용하면 혼자서 앱개발, 프론트, 백엔드 다 커버하는 1인 개발자의 삶을 살기 가장 좋은 개발자라고 생각하거든요
따라서 Supabase는 꼭 학습해보면 좋은 것 같습니다.
그러면 이만 오늘 글은 마치도록 하겠습니다. 읽어주셔서 감사합니다!
'TIL' 카테고리의 다른 글
Supabase로 웹사이트 3개 클론하기 (Next.js 14)를 수강하며 (3) (1) | 2024.08.13 |
---|---|
Supabase로 웹사이트 3개 클론하기 (Next.js 14)를 수강하며 (2) (0) | 2024.08.12 |
javascript koans (0) | 2023.03.03 |
에라토스테네스의 체 소수 찾기 알고리즘을 자바스크립트로..? (0) | 2023.02.22 |
2.21 TIL (0) | 2023.02.21 |