안녕하세요
오늘은 파이어 베이스를 사용하는 법,
그중에서도 가장 첫 번째로 해야 되는 Firebase를 프로젝트에 세팅하는 법에 대해 다뤄보려고 합니다!
1. Firebase가 지원하는 데이터 베이스 (Realtime Database, Cloud Firestore)
Firebase가 지원하는 데이터 베이스 종류는 총 두가지 입니다.
첫번째로는 Realtime Database가 있고
두번째로는 Realtime Database 이후에 나온 Cloud Firestore가 있습니다.
앞으로 저는 이 중에서 Cloud Firestore를 다루는 내용을 정리해서 올릴 예정입니다!
Realtime Database의 특징
- 여러 클라이언트에서 실시간으로 상태를 동기화해야 하는 모바일 앱을 위한 효율적이고 지연 시간이 짧은 솔루션입니다.
- 데이터를 하나의 큰 JSON 트리로 저장합니다.
- 단순한 데이터를 매우 쉽게 저장합니다.
- 복잡한 계층적 데이터를 대규모로 정리하기가 보다 어렵습니다.
Cloud Firestore 특징
- 모바일 앱 개발을 위한 Firebase의 최신 데이터베이스로서 실시간 데이터베이스의 성공을 바탕으로 더욱 직관적인 새로운 데이터 모델을 선보입니다. 또한 실시간 데이터베이스보다 풍부하고 빠른 쿼리와 원활한 확장성을 제공합니다.
- 데이터를 문서 컬렉션으로 저장합니다.
- JSON과 매우 비슷하게 단순한 데이터를 문서에 쉽게 저장합니다.
- 문서에 있는 하위 컬렉션을 사용하여 복잡한 계층적 데이터를 대규모로 쉽게 정리할 수 있습니다.
- 비정규화 및 데이터 평면화가 덜 필요합니다.
두 데이터 베이스의 공통점
- 배포 및 유지관리할 서버가 없는 클라이언트 우선 SDK
- 실시간 업데이트
- 무료 등급(이후 사용한 만큼만 비용 지불)
이 외에도 내부 동작에서 많은 차이가 있는데요,
그 중에서도 Cloud Firestore의 가장 큰 특징은 NoSQL이라 볼 수 있습니다.
이 부분은 저도 정확한 이해가 부족하지만 (SQL도 개념을 잘 모르기 때문에...ㅜㅜ)
아래 Cloud Firestore를 소개하는 공식 영상을 보시면 간접적으로? 조금 이해가 갈 수 있습니다.
(15분만 투자하셔서 쉽고 재미있게 이해시켜주는 맛깔나는 설명을 들어보시죠!)
https://www.youtube.com/watch?v=v_hR4K4auoQ
2. 프로젝트에 Cloud Firestore 세팅하기
자 이제 Cloud Firestore를 본격적으로 프로젝트에 적용해봅시다!
Firebase는 문서가 잘되어 있어서 문서만 따라해도 세팅이 금방 됩니다
문서를 보면서 하나씩 하나씩 진행해보겠습니다.
2 - 1 프로젝트 생성하기
0. Firebase 회원가입을 진행하고 로그인 해주세요...
따로 이미지는 올리지 않겠습니다!
1. 홈 화면 상단의 시작하기를 눌러 주세요
2. 프로젝트를 생성해주세요
3. 프로젝트 이름을 입력해주세요
4. 구글 애널리틱스를 설정해주세요
(저는 연습중인 단계라 사용하지 않았습니다.)
2 - 2 앱 추가하기(번들 ID로 Xcode와 연동)
1. iOS+ 라고 적힌 버튼을 눌러 추가하기 진행하기
2. 앱 정보 입력하기
여기서 가장 중요한건 Apple 번들 ID 입니다!!
Xcode에서 프로젝트를 만드실 때 번들 ID를 설정하실 수 있는데요,
이미 만들어진 프로젝트의 번들 ID는
Xcode왼쪽의 프로젝트 -> TARGETS -> Identity -> Bundle Identifier에서 확인하실 수 있습니다.
( 보통 인터넷 주소창 형식의 역순으로 만든다고 하네요 )
나머지는 선택사항으로 앱 닉네임은 프로젝트 이름으로,
App Store ID는 아직 없으므로 빈칸으로 진행했습니다.
3. 파란색 다운로드 버튼을 눌러 파일을 받아서 프로젝트에 추가해주세요
주의하실점은 저 파일을 통해 이제 서버와 연결되기 때문에
깃으로 작업하신다면 gitignore 설정을 꼭 해주셔야 합니다!
그리고 파일을 프로젝트 왼쪽에 드래그해서 추가하실 때 꼭 저
Copy items if needed에 체크해주세요!
4. Firebase SDK 추가 입니다.
메시지가 표시되면 ~ 저 부분의 오른쪽 복사 버튼을 클릭해서 주소를 미리 복사해둡시다.
프로젝트 창을 여시고 File -> Add Package Dependencies를 눌러줍시다.
이제 오른쪽 상단의 검색창에 아까 복사해둔 주소를 붙여넣고 오른쪽 하단의 Add Package 버튼을 누릅니다.
(Add to Project에 추가하려는 프로젝트가 설정되어 있는지 확인해주세요!)
그러면 이런 창이 뜰텐데 꼭! Add to Target을 설정해주시고 Add Package 버튼을 누릅니다.
원래는 추가하려는 라이브러리만 설정해주시면 되는데 어떤 라이브러리가 필요할지 몰라서 전부 추가했습니다.
(이후에 추가/삭제가 가능하니 너무 신경쓰지 않으셔도 됩니다.)
5. 프로젝트에 초기화 코드 추가 ( 마지막 )
이제 프로젝트 @main이 있는 위치에 아래의 코드를 추가하시면 됩니다.
import Firebase Core, AppDelegate 클래스 전체,
@main 구조체에 @UIApplicationDelegateAdaptor 한줄 추가해주세요
2 - 3 Cloud Firestore 세팅하기
1. 파이어 스토어 데이터 베이스 만들기
오른쪽의 Cloud Firestore를 누르고 다음 창에서 데이터 베이스 만들기를 눌러주세요
데이터 베이스 위치를 설정하는데 일반적으로는 서울이 좋겠죠?
저는 학습이 목적이기 때문에 테스트 모드로 설정했습니다.
(프로덕션 모드는 추가 설정이 필요할 수 있습니다.)
그러면 이렇게 창이 뜨는데 만약에 너무 오래 걸린다 싶으면 새로고침을 눌러주세요
가끔 오류 때문인지 창이 안넘어가지더라구요
이제 데이터 베이스가 만들어졌습니다!
사진이 많아서 그런지 글이 길어보여서 뿌듯하네요
이제 세팅이 끝났으니 다음 글에서
1. 데이터 생성
2. 데이터 읽기
3. 데이터 업데이트
4. 데이터 삭제
에 대해 다뤄보겠습니다.
긴 글 읽어주셔서 감사합니다~
출처
https://firebase.google.com/docs/database/rtdb-vs-firestore?hl=ko