더북(TheBook)

이번에는 데이터를 온라인에 올려서 여러 사용자가 함께 사용할 수 있는 앱을 개발해보겠습니다. 이 과정에서 Firebase라는 모바일 앱 개발 플랫폼을 사용할 것입니다. 일반적으로 앱에서 사용할 데이터를 온라인으로 가져오려면 백엔드를 따로 개발해야 합니다. 만약 여러분이 백엔드 개발을 할 수 있다면 앱에서 사용할 API 서버를 만들고, 연동하면 됩니다. 하지만 백엔드 개발을 몰라도 Firebase를 사용하면 구현하고 싶은 기능들을 구현할 수 있습니다.

Firebase는 BaaS(Backend as a Service)입니다. 백엔드를 서비스로 제공하죠. 별도로 서버를 개발하지 않아도 앱 내에서 회원 인증, 데이터 쓰기/읽기, 이미지 업로드 등 다양한 기능을 구현할 수 있습니다. 그렇다고 Firebase가 만능은 아닙니다. 어떤 기능은 Firebase로 구현하기 어려울 수도 있습니다. 그리고 앱의 사용자가 늘어나고 데이터의 처리량이 커지면 API 서버를 직접 개발했을 때보다 비용이 많이 발생할 수 있습니다.

여러분이 MVP(Minimum Viable Product, 최소 기능 제품)를 만들거나, 간단한 앱을 만든다면 Firebase를 사용하는 것을 추천합니다. 하지만 오랫동안 유지보수하는 것을 계획하고, 앱 사용자가 많아질 거라고 예상한다면 앱에서 사용할 서버를 직접 구축하는 것을 권장합니다.

이번에 만들 프로젝트에서는 Firebase를 사용합니다. 그리고 다음에 만들 프로젝트에서는 Firebase가 아닌 이미 만들어진 API 서버와 연동해 앱을 만들어봅니다. 참고로 Firebase는 무료로 사용할 수 있지만 사용량이 늘어나면 요금을 결제해야 할 수도 있습니다. 이 책에서 만들 프로젝트는 유료 결제 없이도 충분히 완성할 수 있지만, 여러분이 추후 Firebase를 사용해 만든 앱을 런칭까지 할 경우에는 사용자가 많아졌을 때 비용이 발생할 수 있다는 점을 기억하세요. Firebase의 무료 요금제에 대해서는 다음 링크에서 확인할 수 있습니다.

https://firebase.google.com/pricing

그럼, 그림 8-1을 보며 앞으로 만들 프로젝트를 미리 확인해봅시다.

이번에 만들 PublicGallery 프로젝트는 이메일/비밀번호 인증 시스템을 사용합니다. 사용자는 원하는 문구와 함께 사진을 업로드할 수 있습니다. 그리고 피드에서 사진 목록을 확인하거나, 사용자 프로필 화면으로 이동해 해당 사용자가 올린 사진들을 모아서 볼 수 있습니다.

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.