구글(Google)이 개발한 모바일 및 웹 애플리케이션 개발 플랫폼이다.
개발자들이 백엔드 인프라를 구축하거나, 관리하는 복잡한 작업 없이
핵심 기능에 집중할 수 있도록 도와준다.
FireBase는 서버를 구축하기 위해 리눅스 명령어를 알 필요도 없으며, 도메인을 구입할 필요가 없고 개발하는 동안에는 서버를 구입할 필요도 없다.
웹 브라우저의 특성 상 입력한 데이터를 저장할 수 없다
즉, 휘발성이다.
그러나 데이터베이스를 사용하면 데이터를 저장하고
그 데이터를 사용하여 웹 브라우저에 노출할 수 있다.
파이어베이스의 데이터베이스를 사용하여
웹 브라우저만으로 할 수 없는 작업들을
데이터베이스를 구축하지 않아도 사용할 수 있다.
웹 서버를 대신 만들어주는 서비스이며
서버 개발 없이 제작 가능하다.
백엔드 코드 한 줄 없이도 프론트 지식만 알아도 웹 서비스 출시 가능하다.
인증 시스템 지원
인증은 로그인 하는 부분을 말한다.
이를 직접 서버로 개발할 경우 복잡한데, 그 이유는 인증된 사용자인지 확인하는 세션처리에서 그 세션으로 데이터베이스와 저장소에 접근해도 문제가 없는지 확인하는 보안처리, 비밀번호 찾기, 아이디 찾기, 비밀번호 변경 등등 복잡한 것들을 구현해야 한다.
그러나 FireBase는 이를 모두 제공하고 있다.
RTSP(Real Time Stream Protocol) 지원
RTSP는 말 그대로 실시간 데이터들을 전송해주는 방식이다. 이 방식을 사용하면
소켓 기반 서버를 만들어서 통신하는 것 보다 훨씬 코드 양이 줄게되어 코드 몇 줄로도 원하는 구성을 만들 수 있다.
원격 구성 지원
원격으로 앱의 환경 상태를 구성하는것을 말하며,
앱의 배경화면 테마나 폰트 변경, 업데이트창과 알림창을 띄우고 앱의 환경을 원격으로 구성할 때 사용하는 기능을 제공한다.
Analytics 제공
다수의 사용자가 앱을 어떻게 사용하는지(특정 페이지에 머문 시간, 현재 접속자)에 대한 통계 정보를 가지고 있다.
강의를 들으며 FireBase의 존재에 대해 알게되었는데
정말 알아야할게 생각보다 깊고 넓다는 생각이 들었다.
또한, FireBase 등의 개발 플랫폼 등으로 인해
프론트엔드 개발자와 백엔드 개발자가 모호해질 수 있다는 생각이 들었다.
FireBase를 사용해보며 좀 더 장점과 단점을 파악해 봐야겠다.