본문 바로가기
Development/Android

[Android] Firebase - 1. Firebase가 뭔가요? 먹는거임?

by du.it.ddu 2020. 11. 24.
반응형

개발을 해보았다면, 특히나 모바일 앱 개발을 해보았다면 Firebase를 들어보았거나 활용 해 보았을 것이다.

나 역시 회사에서는 물론 개인 프로젝트를 진행할때도 FIrebase를 자주 활용한다.

인증부터 푸시알림, 앱의 데이터, 크래쉬, 성능 분석, 원격 데이터베이스 또한 배포를 위한 서비스까지 아주 다양하다.

이들 중 활용해볼만한 것들을 소개하며 샘플코드를 가능한 쉬운 설명과 방향으로 작성해보려 한다.

공식문서를 참고하면 사실 쉽게 연동할 수 있지만, 문서를 보아도 어려운 분들(과거의 나와 같은..)에게 도움이 되길 바라며 작성해본다.


1. Firebase가 뭔가요?

firebase.google.com/?gclid=CjwKCAiA-_L9BRBQEiwA-bm5fqaV-dzWkm2y-m798RaGK0p0Mp_TsTG7KGVx8_u2M8odWF6u7ZJvjBoCckQQAvD_BwE

 

Firebase

Firebase는 고품질 앱을 빠르게 개발하고 비즈니스를 성장시키는 데 도움이 되는 Google의 모바일 플랫폼입니다.

firebase.google.com

자, 위 링크는 Firebase의 메인페이지이다.

요약하자면, 백엔드나 어떤 인프라 없이 모바일 앱 개발을 빠르게 할 수 있도록 도와주는 플랫폼이다.

일부 서비스는 웹에서도 활용 가능하며, Firebase를 활용하면 나만의 웹사이트를 구현하는 것도 가능하다.

여기까지만 들으면 "오 완벽하잖아?" 라고 생각할 수 있지만, 실상은 그렇지 않다.

완벽하다면 GCP나 Azure 같은 클라우드 서비스, 특히나 AWS가 흥할 이유가 없지 않은가.


2. 어떤 서비스가 있나요?

위에서 소개한 공식 링크로 이동 후 스크롤을 조금만 내리면 위와 같은 내용을 볼 수 있다.

그렇다. 상당히 많다. 

인증, 데이터베이스, API 서비스, 웹 호스팅, 앱의 크래쉬나 성능분석 뿐만 아니라 푸시알림(카톡을 상상해보자.)과 같은 서비스는 물론 A/B Testing을 위한 서비스도 있다.

A/B Testing이란, 두 가지의 다른 조건들 중 어느것이 더 효과적인지를 테스트한다고 보면 되겠다.

예를들면 어떤 버튼을 왼쪽과 오른쪽 어디에 둘지 고민될 때, 어떤 사용자들에겐 왼쪽버튼, 어떤 사용자에겐 오른쪽버튼을 보여주어 선호하는 방향을 테스트 해 보는 것이다.

아무튼.. 이 굉장히 많은 서비스들 중에 앱 개발에 활용하기 좋은 몇가지 녀석들을 하나씩 포스팅 해 나갈 것이다.


3. 가격은?

firebase.google.com/pricing/?gclid=CjwKCAiA-_L9BRBQEiwA-bm5fpCPMi2xOC-UgxPZ8BAU09l9k5LGv-lWaaVKufL-ncqs6FhpH94RwBoCRngQAvD_BwE

 

Firebase Pricing

무료로 Firebase를 시작하고 전 세계 수백만 명의 사용자로 확장하며 사용한 만큼만 비용을 지불합니다.

firebase.google.com

가격정책은 위에서 확인할 수 있다.

예전엔 무료와 종량제 사이의 가격정책이 하나 더 있었는데 사라진 듯 하다.

무튼, "무료" 와 "종량제" 두 가지 요금타입이 있다.

"무료"는 말 그대로 무료인데, 어느 서비스는 완전히 무료이지만 어느 서비스는 하루에 얼마, 월에 얼마 같은 제한이 있다.

예를 들자면 Cloud Firestore인데, 하루에 읽는 것은 50,000회만 가능한 등이 있다.

"종량제" 는 사용한 만큼이지만, "무료" 범위를 제공하고 이 범위를 넘어서는 경우에만 부과된다.

여기서 "Cloud 함수" 같은 것은 주의할 필요가 있다.

이 서비스는 구글 서버에 우리가 원하는 API를 개발해놓고 API 통신을 하는 것인데, 문제는 호출은 되지만 호출 후 응답을 받는것이 제한되어 있다.


4. 포스팅 예정 목록은?

  • 인증 : "Google로 로그인하기"
  • Cloud Firestore : Firebase에서 제공하는 데이터베이스 서비스
  • 클라우드 메시징(FCM) : 앱 푸시 알림
  • Crashlytics : 앱 크래쉬 추적
  • 성능 모니터링(Performance) : 앱 성능 추적
  • Firebase App Distribution : 파이어베이스를 통한 앱 배포 서비스

위 정도이며, 이는 실무에서 쓰기도 하며 개인 프로젝트에서도 사용중인 서비스이다.

언제 포스팅을 완료할 수 있을지는 모르지만, 최대한 빠르고 쉽게, 어떤 개발자분들에게 도움이 되기를 바라는 마음으로 화이팅 해 보겠다.

반응형