1장 구글 파이어베이스 시작하기

Jamezz Dev·2020년 7월 13일
3

firebase

목록 보기
1/4
post-thumbnail

1.파이어베이스란?

구글 애널리틱스와 구글 패브릭에서 제공하는 기능들을 포함한 다양한 기능들을 제공한다. 파이어 베이스는 개발자가 운영체제에 상관없이 앱을 만들수 있도록 한 툴이다.

구글의 드라이브와 애널리틱스를 적용해서 어떤 기기에서나 개발할 수 있는 환경을 만들어 주고, 사용자들의 이용횟수, 광고 효과, 문제 발생 빈도 등을 알려주는 개발자용 프로그램이다.

파이어베이스는 개발 방식을 효율적으로 개선하는 방면에 강점이 있다.

  • 앱의 개발 기간을 단축시키고 ,앱 개발 난이도를 낮춰주는 도구이다.
  • 앱에서 많이 사용하는 기능 (인증, 클라우드 파이어스토어, 저장소, 호스팅 ,클라우드 메시징, 원격구성) 등을 API형태로 제공한다.

2. 파이어베이스 개발 기능 - 인증,실시간 데이터베이스,클라우드 파이어스토어,저장소 호스팅

파이어 베이스는 크게 다음과 같이 구분되어있다

개발 (인증, 실시간데이터베이스, 클라우드 파이어스토어, 저장소,호스팅,클라우드함수)
품질 (크래시리틱스,성능 모니터링,테스트 랩)
성장 (예측,클라우드메시징, 원격 구성,동적 링크, 애드몹)
분석 (애널리틱스)

인증

로그인이나 회원가입할때 보다 쉽게 할 수 있도록 돕는 기능이다.

앱에서 일일이 페이스북, 트위터, 깃헙의 sdk를 사용할 필요 없이 구글의 파이어 베이스에서 제공하는 인증 기능을 이용해 SSO 지원하는 서비스를 통해 사용자가 쉽게 로그인하여 사용하도록 한다.

SSO 란?
Single Sign On의 약어로 단 한번의 인증 절차만으로 여러 앱에 접속할 수 있도록 해주는 인증이다.
다수의 계정이 불필요한 이유는 IOP(Identity Provider)를 통해 서비스의 인증 관련된 정보를 관리 함으로 써 하나의 계정으로 다수의 서비스가 가능하다 .

실시간 데이터베이스

  • NoSql 클라우드 데이터베이스에 JSON 형태로 데이터를 저장하고 클라이언트에 실시간으로 동기화 한다.

    NOSQL
    Not Only Sql의 약어로 RDBMS형태의 관계형 데이터 베이스가 아닌 고성능 비관계형 데이터베이스를 설명하는데 사용되는 용어이다.
    배포 용이성, 확장 가능한 성능, 고가용성 및 복원력으로 널리 인정받고 있다

  • 일반적인 HTTP 요청이 아닌 동기화를 하기때문에 데이터가 바뀔때마다 수 밀리 초 안에 업데이트를 수신하게 된다.

  • 특히 기기가 오프라인 상태일때도 로컬에 데이터를 저장하며, 기기가 온라인 상태가 되면 오프라인일때 발생한 로컬 데이터와 원격 데이터를 동기화 하여 충돌없이 안정적으로 데이터 사용이 가능하다.

장점

  • 앱에서 데이터베이스 사용을 위한 별도의 서버 구성이 필요 없고 그에 관련된 서버 개발자에 대한 비용을 절약할 수 있다.

클라우드 파이어스토어

  • 파이어베이스 및 구글 클라우드 플랫폼의 모바일,웹, 서버개발에 사용되는 유연하고 확장 가능한 데이터베이스이다.

저장소

  • 사용자가 제작한 이미지, 오디오, 동영상 등의 컨텐츠를 저장하고 필요에 따라 저장된 콘텐츠를 제공하기 위해 만들어졌다 .

파이어 베이스의 저장소의 장점

  • 견고한 작업(다운로드/업로드가 중지되었을때 중단된 위치부터 다시 시작한다.)
  • 강력한 보안(파이어 베이스 인증과 통합하여 파이어 베이스 저장소에 대한 접근 제어가 가능하다)
  • 높은 확장성(앱사용자가 급격히 늘더라도 엑사바이트급까지 쉽게 확장이 가능할 수 있는 장점이 있다)

호스팅

  • HTML ,CSS,자바스크립트 등과 같이 자주 바뀌지 않는 정적 컨텐츠를 빠르고 안전하게 호스팅해준다.
  • 파이어 베이스 호스팅은 글로벌 CDN을 기반으로 해서 SSL을 통해 콘텐츠를 제공하고 맞춤 도메인또는 firebaseapp.com의 하위 도메인을 통해 이용할수 있다.
  • SSL을 제공하기 때문에 안전하게 컨텐츠를 전송할수 있다.
  • 전세계 CDN에 캐싱되어 있기때문에 사용자가 어디에 있든지 제한없이 콘텐츠를 빠르게 전송이 가능하다.

호스팅
인터넷상의 공간을 임대해주는 서비스로 직접 웹 서버를 구축하지 않아도 서버 일부 공간을 임대해서 독자적인 서버를 가진것과 같은 효과를 낼수 있다

CDN(Content Delivery Network)
네트워크에 동일한 콘텐츠 내용을 복제하여 대규모 인터넷상에 분산시켜 놓은 시스템으로 전세계에 걸쳐 분산배치되면 콘텐츠가 하나일때보다 훨씬 빠르게 접근이 가능하다

SSL(Secure Socket Layer)
월드와이드 웹 브라우저와 웹 서버간에 데이터를 안전하게 주고받기 위한 업계표준 프로토콜이다

3. 파이어베이스 품질 기능 -크래시리틱스, 성능 모니터링, 테스트 랩

크래시리틱스

  • 앱 품질을 저해하는 안정성 문제를 추적하고 수정하는데 도움을 주는 실시간 오류 보고 도구이다.
  • 우리가 고객을 만나지 않고, 고객 단말을 확보하지 않아도 문제 해결에 필요한 중용한 부분들에 대해서 도움을 받을 수 있는 도구
  • 비정상 종료의 심각도와 발생률, 비정상 종료에 대한 통계, 애널리틱스와 통합, 실시간 알림 기능을 제공한다

성능 모니터링

  • 앱의 성능을 파악하는데 도움이 되는 서비스이다.
  • 주요 기능
  1. 자동 추적
  2. 앱 성능 개선
  3. 맞춤 속성 모니터링
  4. 성능 모니터링 사용 중지

자동 추적

  • 앱 성능에 영향을 주는 요소들을 자동으로 추적하는 기능이다.
  • 파이어베이스 성능 모니터링에서 '추적'은 앱에서 측정시작 ~ 측정 종료 시점의 두 지점간에 캡쳐된 성능 데이터 보고서이다.
  • 성능 모니터링 sdk를 설치하면 다음과 같은 추적 유형이 자동 추적된다.
  • 앱 시작추적 : 사용자가 앱을 여는 시점과 앱이 반응하는 시점 사이의 시간을 측정
  • 화면 추적 : 화면의 전체 기간을 연장하고 저속프레임과 정지된 프레임을 측정
  • 백그라운드 앱 추적 : 앱이 백그라운드에서 실행되는 시간을 측정
  • 포그라운드 앱 추적 : 앱이 포그라운드에서 실행되어 사용자가 이용가능한 시간을 측정
profile
💻디지털 노마드를 🚀꿈꾸는 🇯🇲자메즈 🐥개발자 입니다.

0개의 댓글