FireBase에 대해서 알아보기

호두파파·2021년 4월 26일
0

Node.js

목록 보기
6/25

파이어베이스란 무엇인가

파이어베이스는 구글(Google)이 소유하고 있는 모바일 어플리케이션 개발 플랫폼으로 이걸 활용하면 앱을 개발하고, 개선하고, 키워나가기 용이하다.

파이어베이스는 "앱을 개발하고, 개선하고, 키워갈 수 있는" 도구 모음(toolset)이며, 이러한 도구가 없다면 개발자들은 일반적으로 서비스의 상당 부분을 직접 만들어야 한다. 그런데 개발자들은 앱의 사용자 경험(UX)에 집중을 해야 하기 때문에, 그런 세세한 부분들까지 전부 만드는 것을 좋아하지 않는다. 그런 부분들로는 분석, 인증, 데이터베이스, 구성 설정, 파일 저장, 푸시(Push) 메시지 등 열거하자면 끝이 없다. 파이어베이스로 만든 이러한 서비스들이 클라우드에 호스팅 되면, 개발자의 입장에서는 거의 아무런 노력을 들이지 않고도 앱의 규모를 확장할 수 있다.

클라우드에 호스팅 되면?

이 말은 개발자가 파이어베이스를 활용해서 만든 제품에 백엔드(backend, 서비스 네트워크에서 사용자가 직접 마주하는 프론트엔드(frontend)의 반대편에 해당하는 구성요소)들이 있다는 것이며, 이런 구성 요소들은 구글이 전부 유지SDK(소프트웨어 개발도구)가 이런 백엔드 구성요소들과 직접 상호작용을 하며, 제작한 앱과 서비스 사이에서 그 어떤 미들웨어(소프트웨어와 그것이 운영되는 환경 사이에서 원활하게 통신이 이루어질 수있도록 도와주는 시스템)도 구축할 필요가 없다. 만약 파이어베이스의 데이터베이스 기능을 활용하고 있다면, 일반적으로 클라이언트앱에서 데이터베이스에 쿼리를 전송하는 코드를 작성하게 된다.

이것이 바로 전통적인 앱개발과 다른 부분인데, 예전에는 일반적으로 프론트엔드와 백엔드 양쪽 모두에서 쿼리를 작성해야만 했다. 프론트엔드의 코드는 백엔드의 API(응용 프로그램 엔터페이스)만을 호출할 뿐이며, 실제로 작업을 수행하는 것은 백엔드의 코드이다. 하지만 파이어베이스를 이용하면 이러한 백엔드 단의 작업을 건너뛰고, 그 일을 클라이언트(단말) 쪽으로 넘길 수있다. 이러한 관리자 기능은 파이어베이스의 콘솔(console, 입출력 도구) 창을 통해서 수행할 수 있다.

이러한 작동방식 덕분에 일부 사람들은 파이어베이스를 "서비스로서의 플랫폼(PaaS)" 또는 "서비스로서의 백엔드(Baas)"라고 부르기도 한다.

무한한 가능성의 파이어 베이스

파이어베이스의 도움을 받아 만들 수 있는 앱의 종에는 사실상 제한이 없다 오직 파이어베이스를 사용할 수 있는 플랫폼에만 제한이 있을 뿐이다. 파이어베이스의 SDK(소프트웨어 개발 키트)가 주로 염두에 두고 있는 대상은 IOS와 안드로이드이며, 웹 기반의 개발이나 플러터, 유니티, C++환경에 대한 지원도 점점 더 늘려가고 있다.

많은 SDK들 중에서도 파이어베이스 UI라는 라이브러리(ios, 안드로이드, 웹용)가 있는데, 이 SDK에서는 파이어베이스를 갭라 과정에서 훨씬 더 쉽게 활용할 수 있는 다양한 유틸리티를 제공하고 있다. 또한 앵귤러(Angular)플랫폼을 함께 사용하기 위해서 웹 SDK를 래핑(Wrapping, 감싸기)해주는 앵귤러 파이어라는 프로젝트도 있다. 이들은 모두 오픈소스이다.

profile
안녕하세요 주니어 프론트엔드 개발자 양윤성입니다.

0개의 댓글