Firebase는 Food Guide 안드로이드 앱을 제작하면서 Firebase를 처음 접하게 되었었다.
친구의 소개로 알게되었는데 마냥 낯설기만 하던 이 녀석이 사용해보니까 생각이 달라졌다.
제공하는 서버에서 앱과 데이터를 교환하니 그 당시 백엔드 지식이 하나도 없었던 나에게는
안드로이드 개발의 한 줄기 빛과 같았다.
그런데 다시 이를 프로젝트에서 활용하게 된 것이다.
그래서 이번에는 제대로 공부를 하고 사용하자는 취지에서 글을 써보게 되었다.
앞서 FIrebase의 유래에 대해 간단히 말하자면 현재는 구글회사의 소유 인데 ,
이는 사실 구글이 인수한 것 이라고 볼 수 있다.
백엔드의 구성방식은 대게 비슷하기 때문에 한 청년이 그렇다면 이러한 사업을 해보자 해서
시작한게 최초의 Firebase 였다. 바로 사용자가 급증 하면서 주목 받자 이를 구글이 인수 한 것이다.
그리고 Firebase는 모바일 개발 플랫폼이다. 개발자가 세세한 부분까지 개발할 수고를 덜어주는 도구인 셈이다.
클라우드에 호스팅 되면 개발자는 인증, 분석, 데이터베이스, 파일 저장등 여러 기능을 편하게 이용할 수 있다.
또한 기존의 앱은 대부분의 일처리를 백엔드에서 처리하며 프론트엔드에서는 시각적인 부분을 담당하게 된다.
하지만 Firebase에 경우에는 그러한 일처리를 앱으로 넘기게 된다는 점도 존재한다.
Firebase의 지원 플랫폼:
주로 ios와 android 이나 웹, Flutter, Unity 등에 대한 지원도 증가하는 추세
Firebase의 주요 기능
- 인증(Authentication): 사용자 로그인 및 ID 관리
- 사용자의 데이터의 접근을 제한 하고자 할 때 사용
- 보안 로그인 기능을 쉽게 구현, 이는 쉽지 않은 기능임.
- ID 인증 플랫폼(페이스북, 구글, 애플) 등을 한 곳에서 관리
- 클라우드 파이어스토어(Cloud Firestore): 클라우드에 호스팅 된 실시간의 비관계형(NoSQL) 데이터베이스
- 실시간 데이터베이스(Realtime Database): 클라우드에 호스팅 된 실시간의 비관계형(NoSQL) 데이터베이스
- (Cloud Firestore,Realtime Database) 등의 데이터베이스 서비스를 제공함.
- 데이터가 변경시 실시간으로 업데이트됨.
- 클라우드 스토리지(Cloud Storage): 거대하게 확장할 수 있는 파일 스토리지
- 구글 클라우드에서 지원하는 기능
- 앱에서 SDK를 통해 파일을 다운로드/업로드 가능
- 엑사바이트 까지 확장 가능
- 클라우드 함수(Cloud Functions): 서버 없이 이벤트 위주로 동작하는 백엔드
- 실제 백엔드와 관련된 코딩이 가능함.
- 파이어 베이스내 관련 이벤트에 대응해서 자동으로 동작
- 서버가 필요없는 인프라를 조성
- 파이어베이스 호스팅(Firebase Hosting): 전 세계를 대상으로 한 웹 호스팅
- 가까이 있는 서버를 활용해 정적인 데이터 전송에 용이
- HTTP 기반의 요청이나 응답을 대리 수행(클라우드 함수와 연관)
- RestFul API 제작하기에 유리함.
- 머신러닝 키트(ML Kit): 일반적인 머신러닝(ML) 작업을 위한 SDK
- ML 키트와 카메라를 활용할시 다양한 사물 인식 가능
- TensorFlow를 통해 만든 복잡한 모델도 이용 가능
- 클라우드 메시징(Cloud Messaging): 앱에 Push Message 를 전달 .
- 백엔드에 코드를 작성하여 송신
- 콘솔을 통해 직접 송신
- 인앱 메시징(In-App Messaging): 맞춤화된 타깃 메세지를 보여줌
- 앱의 핵심 기능을 사용해 볼 수 있게 도와줌.
- 클라우드 메세징과 달리 앱 자체에서 메세지가 오는 방식
- 앱을 이용하는 동안 메세지를 받을 수 있음.
- 원격 구성(Remote Config): 앱의 동작이나 모습 원격 변경
- MAP(Key,Value) 타입의 설정 값들을 주기적으로 가져오고 필요할 떄 사용.
- 조건을 통해 특정 그룹에게 서비스 제공등이 가능
- A/B 테스팅(A/B Testing): 분석 도구, 원격 구성, 그리고 클라우드 메시징 사이의 긴밀한 연동 관계를 더욱 강화
- 일부 사용자들을 통해 실험 후 판단 가능.
- 테스트 랩(Test Lab): 앱을 여러환경에서 테스트 가능
- 비정상 종료 분석(Crashlytics): 분석툴
- 파이어베이스의 성능 모니터링(Performance Monitoring): HTTP 코드, 실행 시간 등을 체크
- 앱의 성능과 관련된 문제에 대해사용자에게 통찰력을 제공
이상으로 파이어베이스의 다양한 기능에 대해 알아보았다.
남은건 실전이다....
댓글 영역