본문 바로가기

iOS

[iOS] Firebase

Firebase

본 문서에서는 Firebase라는 서비스가 무엇인지 그리고 어떠한 기능을 제공하는지에 대해 살펴본 내용을 정리하도록 한다.

Firebase란


Firebase는 구글이 인수하여 서비스하고 있는 대표적인 BaaS(Backend as a Service)다.

과거 모바일 앱의 서버를 개발하기 위해서는 인증, 데이터베이스, 푸시 알람, 스토리지 ,API등 모든것을 개발해야 했다.

이러한 반복적인 작업을 앱을 개발할 떄 마다 하는 것은 엄청난 시간낭비다.

Firebase는 이러한 불편한 점을 해소해주는 서비스다.

따라서, Firebase란 서비스를 구축하기 위한 서버 인프라 구축, 서버단 세팅 등을 고민하지 않고 클라이언트 단의 작업만 진행하여 서비스를 제작할 수 있도록 돕는 서비스다.


Firebase의 장점


인증 서비스 지원

인증이란, 로그인을 담당하는 부분이다.

로그인 서비스를 직접 서버로 개발할 경우, 인가된 사용자의 여부를 확인하기 위한 세션 처리, 보안 처리, 비밀번호 찾기, 아이디 찾기, 비밀번호 바꾸기, 이메일 인증 등 매우 복잡한 것을 구축해야 한다.

하지만, Firebase는 이 모든것을 지원한다!


실시간 데이터베이스

우선 Firebase의 실시간 데이터베이스는 비율식 요금제를 가진다. 또한 ios, android, web, unity, c++등 다양한 환경에서 사용할 수 있다.

클라우드에 호스팅되는 noSQL 데이터베이스로 데이터를 저장하고 사용자와 기기 간에 실시간으로 동기화한다.

업데이트된 데이터가 연결된 기기 사이에서 순식간에 동기화되며 앱이 오프라인일 때도 계속 데이터를 사용할 수 있으므로 네트워크 연결 여부와 무관하게 쾌적한 사용자 경험이 제공된다.

또한 타 데이터베이스와는 다르게 RTSP(Real Time Stream Protocol) 방식의 데이터베이스를 지원하여 실시간으로 데이터들을 전송하는 것을 지원한다.

이 방식을 사용하면 실시간 서비스를 구축하기에 매우 용이하며 소켓 기반의 통신보다 비약적으로 코드의 양이 줄어들어 코드 몇 줄로도 원하는 구성을 만들 수 있다.


원격 구성 제공

원격 구성이란, 원격으로 앱의 환경설정 또는 상태를 구성이 가능하도록 하는 것을 의미한다.

앱의 배경화면 테마, 폰트 등을 변경한다거나 업데이트 알림창을 띄운다거나 앱의 환경을 원격으로 구성할 때 사용하는 기능이다.


콘솔 제공

Firebase는 관리자 페이지 기능의 콘솔을 제공한다.

이를 통해 손쉽게 유저 리스트를 확인해 볼 수 있기 때문에 유저 관리와 같은 기능은 간단히 할 수 있다.


Analytics 제공

단어 그대로 통계 데이터를 제공한다.

다수의 사용자가 앱을 어떻게 사용하는지, 앱의 현재 접속자부터 오류 통계, 사용자 유지율, 고객들의 앱 업데이트 상태, 사용자들이 특정 페이지에 머문 시간 등 다양한 이벤트를 추적할 수 있다.

위 Analytics에서 제공받는 데이터는 마케팅 또는 유지보수에 방향 가이드에 큰 도움이 될 수 있다.


Reference


'iOS' 카테고리의 다른 글

[iOS] NavigationController RootView 변경  (0) 2020.05.26
[iOS] Completion Handler  (0) 2020.05.25
[iOS] Dive in Closure  (0) 2020.05.24
[iOS] AppDelegate 그리고 SceneDelegate  (0) 2020.05.20
[iOS] Singleton Pattern  (0) 2020.05.19