[Firebase] 1. 혁신적인 백엔드플랫폼 파이어베이스(Firebase)

in #kr-dev6 years ago (edited)

안녕하세요! @gbgg입니다.
오늘은 파이어베이스(Firebase)에 대한 소개를 하고자 합니다.

공모전을 위해 채팅 기능이 들어있는 앱을 개발하다가 찾은 플랫폼으로 매우 막강한 기능을 무료로 제공하고 있습니다.
초보자도 쉽게 접근할 수 있다는 큰 장점이 있어 소개시켜드리고자 포스팅하게 되었습니다.

파이어베이스

firebase.google.com
파이어베이스는 구글에서 서비스중으로써 웹 개발과 모바일 개발에 직접적으로 도움이 되는 기능을 제공하는 백엔드 플랫폼 입니다.

백엔드 서비스를 이용하면 개발자들이 프로그램을 만들고자 할 때 제공되어있는 다양한 기능들을 사용할 수 있어 큰 도움이 됩니다.
또한 관리할 수 있는 기능도 제공하기 때문에 개발자 입장에서는 중요한 개발단계중 한 단계에 소모되는 시간을 크게 줄일 수 있습니다.

  • 데이터베이스 서버를 구축할 필요가 없다.

개발에 있어 서버구축은 필수이지만 매우 번거롭고 힘든 작업입니다.
하지만 이 Firebase 에서는 실시간 데이터베이스 기능을 제공합니다. 작은 규모의 개인 프로젝트인 경우 파이어베이스를 사용한다면 핵심 기능 개발에 온 시간을 쏟아부을 수 있습니다.

  • 앱/모바일에 필수로 사용하는 기능들이 구현되어있다.

현재 Firebase 에서는 약 20가지의 기능들을 제공하고 있습니다. 데이터베이스, 모니터링, 사용자관리, 알림... 심지어 광고(AdMob)까지 매우 많습니다. 이 기능들은 지속적으로 업데이트 되고 있으며 종류 또한 계속 증가하고 있습니다.
파이어베이스가 완전히 자리잡은 이후에는 아마 웹/모바일 개발에 필요한 모든 것들이 탑재되지 않을까 생각합니다.

  • Firebase 에서 제공하는 '문서' 만으로도 개발이 가능하다.

파이어베이스에는 안드로이드, ios, 웹, 심지어 게임 엔진까지 모든 기능에 대한 사용법과 설정 등이 담긴 일종의 '문서'가 있습니다. 마치 블로그를 보는듯 자세한 설명이 탑재되어 있어 굳이 구글에 검색 할 필요 없이 쉽게 따라할 수 있습니다.

  • 기능 대부분이 '무료' 이거나 '비율식 요금' 이며 매우 저렴하다.

데이터베이스의 경우 아마추어가 충분히 사용할 수 있는 데이터 양을 무료로 사용할 수 있습니다. 또한 상용화목적으로 사용하더라도 월 25달러를 내면 충분히 사용할 수 있으며 대용량의 경우에도 용량단위로 비율식 요금을 적용하여 매우 저렴하게 사용할 수 있습니다.


현재 파이어 베이스에는 다음과 같은 기능들이 제공되고 있습니다.

  • 실시간 데이터베이스
  • Crashlytics
  • 오류 보고
  • Cloud Firestore
  • 인증
  • Cloud 함수
  • Cloud Storage
  • 호스팅
  • Android용 Test Lab
  • 성능 모니터링
  • Google 애널리틱스
  • 클라우드 메세징
  • Predictions
  • 동적 링크
  • 원격 구성
  • 초대
  • 앱 색인 생성
  • AdMod
  • 애드워즈

Firebase 시작하기

파이어베이스는 Google 계정만 가지고 있으면 사용할 수 있습니다.
파이어베이스는 '프로젝트'단위로 구성됩니다. 하나의 프로젝트를 생성한 뒤 그 프로젝트에서 사용할 기능들을 설정하고 웹/모바일과 연동할 수 있습니다.

이미 생성한 프로젝트가 있다면 이곳에 표시되게 됩니다. 무료계정의 경우 예전에는 최대 5개까지 프로젝트를 생성할 수 있었던 것으로 기억하는데 지금은 몇개 까지 생성 가능한지 확인해봐야 할 것 같습니다.

프로젝트 이름을 적고 국가를 선택한 뒤 생성합니다. 프로젝트 고유의 ID는 한번 생성되면 변경할 수 없지만 프로젝트 이름은 설정에서 변경할 수 있습니다.

프로젝트를 생성하면 다음과 같이 왼쪽에서 사용하고자 하는 기능을 선택할 수 있습니다. 이번 포스팅에서는 Database 부분만 간단히 살펴보겠습니다.

'데이터' 항목에서는 데이터베이스에 기록되어있는 데이터를 확인할 수 있습니다.
실시간 데이터베이스답게 웹/모바일에서 데이터를 추가하거나 수정할 경우 시각적으로 변화하는 것을 확인할 수 있습니다.

이렇게 쌓인 데이터를 직접 수정할 수도 있습니다. 웹/모바일에서 실시간 업데이트중이라면 콘솔에서 수정한 정보가 바로 적용됩니다.

사용자 규칙도 정의할 수 있습니다. 읽고 쓰는 권한을 부여하고 설정할 수 있습니다.

현재 연결중인 사용자수와 용량 등을 확인할 수 있습니다.


포스팅 계획

파이어베이스의 기본적인 부분과 장점을 소개해보았습니다. 웹이나 모바일 앱을 개발하는 데 있어 굉장히 유용한 도구인 것은 확실합니다. 다만 아직 새로 생긴 기능의 경우 베타로 공개되어 있다보니 잔버그가 발생할 가능성도 있고 너무 간편하다보니 복잡한 기능이나 세부적인 기능들은 부족한 점이 있는 것이 사실입니다.

가장 먼저 접했던 실시간 데이터베이스부터 차례차례 단계별로 포스팅해보고자 합니다. 저 또한 배워나가는 상태라 잘못 알려드리는 부분이 있을 수 있으니 댓글로 피드백주시면 반영하겠습니다.
미약하지만 개발자 분들께 또는 배워보시려고 하는 분들께 도움이 되었으면 좋겠습니다.
아 물론 엑셀 강의는 계속 진행됩니다!
다음 포스팅에서 찾아뵙겠습니다! @gbgg

Sort:  

정보 감사합니다. 👍

들러주셔서 감사합니다! ★ㅎㅎ

도움이 되었습니다 :)

도움이 되셨다니 감사합니다. 상세한것까지 잘분석해서 써보겠습니다!

포스팅 잘 보았습니다. realm, graphql 비롯해서 firebase는 리액티브 프로그램을 구현하기에 적합한 제품이기는 하지만 json기반이다 보니 최초 설계가 매우 중요합니다. 샘플로 자주 언급되는 채팅의 경우도 제품 레벨에서 생각을 하면 구조설계시 고려해야할 요소가 많지요. 구글 제품군과의 연동은 확실한 장점이지만 단점이 되기도 합니다. 제가 graphql과 firebase비교한 글을 번역한 내용이 제 포스팅에 있으니 글 작성시 참고바랍니다. 앞으로 이어질 시리즈도 기대하겠습니다.

감사합니다! dakeshi님의 포스팅을 보니 아직 공부해야할게 엄청나게 많겠다는 생각이 듭니다. 좋은글 많이 올려주셨군요 자주 찾아뵙겠습니다.

graphschool쪽 글을 허락하에 번역해봤는데 graphql 관련해서는 꽤 좋은 글들이 많이 올라오는 곳이니 관련 분야 내용 참조하실때 도움이 많이 되실겁니다. 저도 언능 시리즈 포스팅 올려야 하는데 한주를 건너 뛰었네요. 쉽지 않은 글쓰기입니다. 자주 찾아오겠습니다. 좋은 하루되세요

오늘 좋은정보 많이알아가네요! 포스팅할때
도움이 많이 될 것 같습니다. 감사합니다. dakeshi님의 시리즈연재도 기대하겠습니다! 퀄리티있는 글을 많이올려주셔서 도움이 많이 될 것 같습니다.

와 앱개발을 직접하신다니
저도 배워서 해보고 싶었는데
멋지시네요

팔로 보팅하고갈께요
소통해요

저도 아직 배우는 입장입니다 ㅎㅎㅎ 감사합니다! 자주 찾아뵐게요!

Coin Marketplace

STEEM 0.20
TRX 0.12
JST 0.029
BTC 61026.32
ETH 3397.00
USDT 1.00
SBD 2.56