프로그램언어+/Android

안드로이드스튜디오에 Firebase 추가하기

logthink 2018. 5. 22. 13:12

파이어베이스(Firebase)란?


파이어베이스(Firebase)는 2011년 파이어베이스(Firebase, Inc)사가 개발하고 2014년 구글에 인수된 모바일 및 웹 애플리케이션 개발 플랫폼이다.


파이어베이스 소개!

참고(https://academy.realm.io/kr/posts/firebase-as-a-real-mobile-backend/)


쉽게 말하면 서버개발자 없이 안드로이드개발자가 다 만들수 있는 플랫폼.

안드로이드를 배웠는데, 이걸 배워도 기본적으로 애니메이션이나 이벤트와 같은 앱만 만들 수 있는데,

파이어베이스를 통해 데이터베이스를 구축하면 서비스를 할 수 있는 퀄리티의 앱을 만들 수 있다.


ex) 사내채팅앱, 그룹앱이나 스타트업 어플등



BaaS(Backend as a Service) 혹은 PaaS(Platform as a Service)는 작업 시간을 단축하기 위해 도입됐지만 실제로 서버 개발 인력을 없애더라도 누군가는 서버를 담당해야 하므로 프론트엔드 개발자들이 서버를 담당해야 하는 것이 현실입니다. 물론 AWS 등이 좋은 서비스를 많이 제공하고는 있지만 전문적인 지식과 경험을 가진 개발자가 필요한 것은 마찬가지이기 때문입니다. 물론 클라이언트 개발자의 역량을 넓힐 수 있다는 점에서는 좋을 것으로 생각합니다.

제가 Firebase를 사용하면서 가장 좋았던 점은 보안입니다. 최근 한 스타트업이 SQL 인젝션으로 문제가 됐는데, 그런 것도 막지 못 했냐고 생각할 분도 있겠지만 해커들은 어떻게든 보안을 뚫고 침입할 방법을 찾아내므로 Firebase를 쓰면서 이런 보안 부문이 가장 안심됐습니다.

Firebase = Database

Firebase는 데이터베이스입니다. NoSQL이자 키-밸류와 도큐멘트 스타일의 JSON을 쓰므로 DB를 설계하는 데 생각보다 머리가 아플 수 있습니다. 예를 들어 왼쪽 데이터처럼 Books 안에 UUID로 책들이 들어가 있는데, 클라이언트 쪽에서 “하루키”로 검색하는 것은 가능하지만, “하루키”가 “2002”년도에 쓴 책을 찾는 것은 가능하지 않습니다. 그래서 두 가지 방법으로 검색해야 하는데, 먼저 루트에 Books가 아닌 Books-2002라는 부모를 만들어서 이 노드를 검색하는 방법을 사용하던가, “하루키”라는 책을 다 불러온 다음 클라이언트 상에서 “2002”로 필터링하는 방법을 사용해야 합니다. 권한을 JSON 형태로 넣는 것도 허들로 작용했습니다.

또한, 기획자가 제목 중에 “bird”가 들어가는 것을 검색하고 싶어한다면 개발자가 Full-text 검색이 되지 않고 tag를 써야 한다고 설득해야 하는 상황도 생깁니다. 이런 내용을 Firebase 개발자에게 문의했더니 Apache의 오픈 소스를 추천했다고 합니다. 학습 곡선이 높으므로 좋은 답변은 아니겠죠.

====================================================================================

파이어베이스 시작

1. https://firebase.google.com/?hl=ko 접속한다.

http://namkisec.tistory.com/36?category=704423 참고하여, 

파이어베이스 홈페이지에서 프로젝트 추가를 하시고,

(안드로이드 스튜디오 프로젝트의 패키지명 입력과 SHA1 value를 입력 후에 다음버튼 이후 설명입니다.)



쭉쭉 따라해주세요.



밑에는 제가 따라 한부분들 캡쳐본입니다.


이렇게 하고 Sync Now까지 해주시면, 완료가 됩니다.