Firebase란?
Firebase는 구글이 제공하는 서버리스 플랫폼
Firebase가 웹 서버를 개발하는 데 필요한 인프라를 제공하기 때문에, 프론트 개발자들은 서버를 따로 관리할 필요 없이 웹 애플리케이션을 만들 수 있다.
웹개발은 어떤 식으로 할까?
프론트엔드 개발자
- 웹 페이지의 보여지는 부분을 담당
- HTML, CSS, JavaScript를 사용해서 유저에게 보여지는 모든 부분을 구성
- 서버로부터 필요한 정보를 받아옴
백엔드 개발자
- 웹 페이지의 보여지지 않은 모든 부분을 담당
- 데이터베이스와 상호작용하여 데이터를 읽고, 쓰고, 수정하고, 삭제
- 클라이언트로부터 요청이 오면 처리
Firebase
- 사용자 인증, 데이터베이스, 파일 업로드 등 백엔드에 필요한 주요한 기능들을 Firebase를 통해서 구현
- BaaS (Backend as a Service)
- 백엔드 부분을 서비스로 사용-> 데이터베이스부터 로그인, 스토리지 등 서버에서 직접 구현하려고 하면 많은 노력이 필요한 서비스를 API 형태로 사용.
Firebase의 주요 서비스들
Authentication
사용자 인증, 즉 회원 가입, 로그인을 제공하는 서비스. 이를 이용하면 이메일, 패스워드 로그인 뿐 아니라 구글 로그인도 쉽게 구현할 수 있음
Firestore
문서(Document) 중심의 NoSQL 데이터베이스. Document(문서)의 경우 자바스크립트의 객체와 유사하여 익숙하고, 사용하기 편리
Storage
파일을 업로드하고 다운로드하는 Google Drive, Dropbox 같은 서비스.
Q.왜 Firestore에 바로 파일을 저장 안할까?
Firestore에는 단일 문서 크기에 제한이 있어 대용량 파일을 저장하기에 적합하지 않다. Storage는 대용량 파일의 업로드 및 다운로드에 최적화 되어 있는 서비스!
Firebase 환경 설정하기
유튜브 : Firebase 환경 설정하기
Authentication을 이용한 사용자 인증(로그인/회원가입/로그아웃)
유튜브 : Authentication 사용자 인증
Cloud Firestore를 이용한 데이터 다루기 (CRUD)
유튜브 : Cloud Firestore 데이터 다루기
Storage를 이용한 파일 업로드
유튜브 : Storage를 이용한 파일 업로드
참고자료: 내배캠