개발 경험이 아예 없으신 것처럼 보이는데, 백엔드와 프론트를 혼자 하실 수는 있긴 한데, 예상하신대로 배우셔야 할 게 많을 거예요. 코딩은 별개로 하더라고 배포와 운영까지 혼자서 하실 거라면... 좀 말리고 싶지만...
데이터베이스 서버 말고 웹서비스(REST API)를 제공해 줄 수 있는 서버쪽 기술을 배우셔야 합니다. (Java+SpringBoot, .NET, PHP, NodeJS, Python 등 많은 선택사항이 있습니다. 작은 사이즈의 앱이라면 NodeJS, PHP나 Python이 시작하시기가 좀 더 편하실 듯합니다. Java 백엔드로 SOAP이란걸 구축하실 거면 배우시면 도움이 되긴하는데, 그 외에는 별도로 배우실 필요는 없어요. 개발하시다 보면 필요한 사항은 자연스럽게 알게 됩니다.
파이어베이스는 작은 규모의 앱이라면 사용해 볼 수 있는 옵션 중의 하나입니다. 하지만 지원하는 기능이 좀 제약적이므로 먼저 본인이 원하는 기능을 충족하는지 살펴보시길 권장합니다. Firestore같은 경우 1GB까지는 무료였는데, 지금은 정확하게는 모르겠네요. 데이터의 사이즈가 금방 그정도 이상이 될 것 같으시면, 파이어베이스 대신에 다른 옵션을 살펴보실 필요가 있을 겁니다. (유료가 되면 안쌉니다)
파이어베이스를 사용할 경우 본인 서버가 필요 없구요. 파이이베이스는 직접 가셔서 어떤 서비스가 있는지 확인하시길 추천드려요. 간단하게 요약해드리면
- FireStore: 실시간 Database(JSON Tree). 같은 종류의 서비스로 Firebase Realtime Database가 있는데, FireStore가 향상된 버전임. 데이터 쿼리도 가능하나 상당히 제약적이고, 데이터 구조 설계하는 부분도 많이 다름.
- FireStorage: 저장공간 서비스(Amazon S3와 비슷한 개념)
- Firebase Auth: 사용자 로그인, 등록, 인증 서비스
- Firebase Analytics: 앱 통계
- Firebase Crashlytics: 앱 크래시 리포트
- Firebase Push Notification: 푸시 알림
- Firebase Function: 서버사이드 애플리케이션
_ Firebase Hosting: 웹페이지 호스팅 서비스(별도의 도메인 네임 서버는 제공해야 함)
- Firebase Remote Config: 앱 설정 서비스 (세팅값을 저장해 놓고 간편하게 사용할 수 있음)
이 외에도 다양한 서비스를 제공합니다. 파이이베이스가 프로토타입이나 간단한 앱을 만들 때는 상당히 편리하긴 합니다.