FireBase 사용 의의
FireBase란?
FireBase
는 2014년도에 구글에서 인수한 모바일, 웹 애플리케이션 개발 플랫폼이다.FireBase
는 이 모든 플랫폼을 프로젝트 구축 시, 자동으로 만들어 준다. 또한 서버를 구축하기 위해서 리눅스 명령어를 알 필요도 없고, 도메인을 구입할 필요도 없으며 개발하는 동안에는 서버를 구입할 필요도 없다.FireBase
는 백엔드 기능을 클라우드 서비스 형태로 제공하기 때문에 Serverless
애플리케이션 개발이 가능하다.FireBase
플랫폼으로 프론트엔드 개발자와 백엔드 개발자의 경계가 모호해질 것이며, 적은 비용으로 매우 좋은 앱을 만드는 것이 가능하다.FireBase 어떤 서비스를 제공할까?
FireBase
는 크게 앱 개발, 앱 품질 향상, 비즈니스 성장 도모의 3가지의 기능을 제공한다.
Firebase의 대표적인 기능과 특징은?
인증은 FireBase
에서 로그인을 담당하는 부분이다. 로그인을 담당하는 부분은 직접 서버로 개발할 경우 매우 복잡하다. 그 이유는 인증된 사용자인지, 아닌지를 확인하는 세션처리에서 그 세션으로 데이터베이스에 접근해도 문제가 없는지 확인하는 보안처리, 비밀번호 찾기, 아이디 찾기, 비밀번호 바꾸기, 이메일 인증 등등 복잡한 것을 구축해야 한다. 하지만 FireBase
는 이 모든 것들을 지원한다.
현재 많이 사용되는 오라클이나, MySQL
같은 관계형 데이터베이스보다, FireBase
는 Document형식의 빠르고 간편한 NoSQL
기반의 데이터베이스를 도입했다. 또한 FireBase
는 다른 데이터베이스들과 다르게 RTSP(Real Time Stream Protocol)
방식의 데이터베이스를 지원하고 있다.
RTSP
는 말 그대로 실시간으로 데이터들을 전송해주는 방식이다. 이 방식을 사용하면 소켓 기반 서버를 만들어서 통신하는 것보다 비약적으로 코드 양이 줄게 되어 코드 몇 줄로도 원하는 구성을 만들 수 있다.
원격 구성이란 원격으로 앱의 환경 상태를 구성하는 것을 말한다. 앱의 배경화면 테마나 폰트를 바꾼다거나, 업데이트창 알림창을 띄운다던가 앱의 환경을 원격으로 구성할 때 사용하는 기능이다.
콘솔이라는 용어는 쉽게 말해서 서버 관리자 페이지라고 생각하면 된다. 앱의 서버를 만들게 되면 리눅스, FTP, MySQL, Node.js서버 혹은 Spring 서버, 푸시 보내기 API만 구축할 것이 아니라, 이 모든 것을 관리할 수 있는 관리자 페이지가 필요하다. 회사나 조직에 있는 사람들이 리눅스나 데이터베이스, 서버를 다룰줄 안다며 관리자 페이지가 필요없을 수도 있지만, 그런 경우가 많지 않고, 또한 접근 보안을 위해서 관리자 페이지를 만들어야 한다. 그럼 앱을 만들기 위해서 앱 개발자 뿐만 아니라 서버 개발자까지 필요해진다. 안드로이드 앱 하나를 만들기 위해 배보다 배꼽이 더 커져버릴 수 있다.. 하지만 FireBase
는 이 모든것을 지원해준다.
말 그대로 통계를 말하고, 정확히는 다수의 사용자가 앱을 어떻게 사용하는지 통째 정보를 가지고 있다. 앱의 현재 접속사부터 오류 통계, 사용자 유지율, 고객들의 앱 업데이트 상태, 사용자들이 특정 페이지에 머문 시간, 이벤트 등을 추적할 수 있다. 이런 데이터들을 수집해서 사용자가 어떤 페이지에서 흥미를 잃었는지, 어떤 페이지가 인기가 많은 지 등을 찾아 낼 수 있고, 맞춤 마케팅을 할 수 있다.
FireBase 단점
Reference