상세 컨텐츠

본문 제목

구글 Firebase에 대한 고찰

공부/기타

by dofury 2023. 2. 26. 21:30

본문

728x90

 Firebase는 Food Guide 안드로이드 앱을 제작하면서 Firebase를 처음 접하게 되었었다.

친구의 소개로 알게되었는데 마냥 낯설기만 하던 이 녀석이 사용해보니까 생각이 달라졌다. 

제공하는 서버에서 앱과 데이터를 교환하니 그 당시 백엔드 지식이 하나도 없었던 나에게는 

안드로이드 개발의 한 줄기 빛과 같았다.

 

그런데 다시 이를 프로젝트에서 활용하게 된 것이다.

그래서 이번에는 제대로 공부를 하고 사용하자는 취지에서 글을 써보게 되었다.

 


앞서 FIrebase의 유래에 대해 간단히 말하자면 현재는 구글회사의 소유 인데 ,

이는 사실 구글이 인수한 것 이라고 볼 수 있다.

백엔드의 구성방식은 대게 비슷하기 때문에 한 청년이 그렇다면 이러한 사업을 해보자 해서

시작한게 최초의 Firebase 였다. 바로 사용자가 급증 하면서 주목 받자 이를 구글이 인수 한 것이다.

 

그리고 Firebase는 모바일 개발 플랫폼이다. 개발자가 세세한 부분까지 개발할 수고를 덜어주는 도구인 셈이다.

클라우드에 호스팅 되면 개발자는 인증, 분석, 데이터베이스, 파일 저장등 여러 기능을 편하게 이용할 수 있다.

 

또한 기존의 앱은 대부분의 일처리를 백엔드에서 처리하며 프론트엔드에서는 시각적인 부분을 담당하게 된다.

하지만 Firebase에 경우에는 그러한 일처리를 앱으로 넘기게 된다는 점도 존재한다.

 


Firebase의 지원 플랫폼:

주로 ios와 android 이나 웹, Flutter, Unity 등에 대한 지원도 증가하는 추세


Firebase의 주요 기능

  1. 인증(Authentication): 사용자 로그인 및 ID 관리
    1. 사용자의 데이터의 접근을 제한 하고자 할 때 사용
    2. 보안 로그인 기능을 쉽게 구현, 이는 쉽지 않은 기능임.
    3. ID 인증 플랫폼(페이스북, 구글, 애플) 등을 한 곳에서 관리
  2. 클라우드 파이어스토어(Cloud Firestore): 클라우드에 호스팅 된 실시간의 비관계형(NoSQL) 데이터베이스
  3. 실시간 데이터베이스(Realtime Database): 클라우드에 호스팅 된 실시간의 비관계형(NoSQL) 데이터베이스
    1. (Cloud Firestore,Realtime Database) 등의 데이터베이스 서비스를 제공함.
    2. 데이터가 변경시 실시간으로 업데이트됨.
  4. 클라우드 스토리지(Cloud Storage): 거대하게 확장할 수 있는 파일 스토리지
    1. 구글 클라우드에서 지원하는 기능
    2. 앱에서 SDK를 통해 파일을 다운로드/업로드 가능
    3. 엑사바이트 까지 확장 가능
  5. 클라우드 함수(Cloud Functions): 서버 없이 이벤트 위주로 동작하는 백엔드
    1. 실제 백엔드와 관련된 코딩이 가능함.
    2. 파이어 베이스내 관련 이벤트에 대응해서 자동으로 동작
    3. 서버가 필요없는 인프라를 조성
  6. 파이어베이스 호스팅(Firebase Hosting): 전 세계를 대상으로 한 웹 호스팅
    1. 가까이 있는 서버를 활용해 정적인 데이터 전송에 용이
    2.  HTTP 기반의 요청이나 응답을 대리 수행(클라우드 함수와 연관)
    3. RestFul API 제작하기에 유리함.
  7. 머신러닝 키트(ML Kit): 일반적인 머신러닝(ML) 작업을 위한 SDK
    1. ML 키트와 카메라를 활용할시 다양한 사물 인식 가능
    2. TensorFlow를 통해 만든 복잡한 모델도 이용 가능
  8. 클라우드 메시징(Cloud Messaging): 앱에 Push Message 를 전달 .
    1. 백엔드에 코드를 작성하여 송신
    2. 콘솔을 통해 직접 송신
  9. 인앱 메시징(In-App Messaging): 맞춤화된 타깃 메세지를 보여줌
    1. 앱의 핵심 기능을 사용해 볼 수 있게 도와줌.
    2. 클라우드 메세징과 달리 앱 자체에서 메세지가 오는 방식
    3. 앱을 이용하는 동안 메세지를 받을 수 있음.
  10. 원격 구성(Remote Config): 앱의 동작이나 모습 원격 변경
    1. MAP(Key,Value) 타입의 설정 값들을 주기적으로 가져오고 필요할 떄 사용.
    2. 조건을 통해 특정 그룹에게 서비스 제공등이 가능
  11. A/B 테스팅(A/B Testing): 분석 도구, 원격 구성, 그리고 클라우드 메시징 사이의 긴밀한 연동 관계를 더욱 강화
    1. 일부 사용자들을 통해 실험 후 판단 가능.
  12. 테스트 랩(Test Lab): 앱을 여러환경에서 테스트 가능
  13. 비정상 종료 분석(Crashlytics): 분석툴
  14. 파이어베이스의 성능 모니터링(Performance Monitoring):  HTTP 코드, 실행 시간 등을 체크
    1. 앱의 성능과 관련된 문제에 대해사용자에게 통찰력을 제공

이상으로 파이어베이스의 다양한 기능에 대해 알아보았다.

남은건 실전이다....

 

 

 

728x90

'공부 > 기타' 카테고리의 다른 글

JWT(Json Wep Token)에 대해  (0) 2023.03.11
단위 테스트에 대한 공부  (0) 2023.03.05

관련글 더보기

댓글 영역