seong_hye, the developer

Swift) Firebase에 대해서 알아보기 본문

IOS

Swift) Firebase에 대해서 알아보기

seong_hye 2022. 10. 10.

📘 Firebase

Google에서 제공하는 모바일 및 웹 애플리케이션 개발 플랫폼

앱 개발에 필요한 다양한 백엔드 기능을 빠르게 구현할 수 있도록 도와줌

서버를 직접 구축하지 않고도 인증, 데이터베이스, 알림, 분석 등을 활용할 수 있어

스타트업, 개인 개발자, 프로토타입에 자주 사용됨

 

Firebase = 서버 없이 앱의 백엔드 기능을 클라우드에서 처리할 수 있게 해주는 플랫폼


🔹 주요 기능

기능 설명
Authentication 이메일/ 비밀번호, SNS, Apple, Anonymous 로그인 지원
Firestore / Realtime Database 클라우드 기반 NoSQL 데이터베이스
Cloud Storage 이미지 / 동영상 등 파일 저장
Cloud Messaging (FCM) 푸시 알림 서비스
Analytics 사용자 행동 분석, 사용자 세분화
Cloud Functions 서버리스 백엔드 로직 실행 (Node.js 기반)
Crashlytics 실시간 크래시 리포트 수집
A/B Testing 실험을 통해 기능 최적화 가능
ML Kit 머신러닝 도구 (OCR, 텍스트 인식 등) 제공

🔹 사용 방법

✅ 1. Firebase 콘솔 프로젝트 생성

  https://console.firebase.google.com

- 새 프로젝트 만들기

- iOS 앱 등록 (Bundle ID 입력)

- GoogleService-Info.plist 다운로드

 

✅ 2. Xcode 설정

- GoogleService-Info.plist -> XCode 프로젝트에 추가 (Target 포함 체크)

 

- Swift Package Manager(SPM)으로 Firebase 설치

URL : https://github.com/firebase/firebase-ios-sdk

 

또는 CocoaPods로 Podfile에 프로젝트 추가

pod 'Firebase'

 

✅ 3. AppDelegate에 Firebase 초기화

import FirebaseCore

@main
struct TestApp: App {
	init() {
    	FirebaseApp.configure()
    }
    
    var body: some Scene {
    	WindowGroup {
        	ContentView()
        }
    }
}

⚠️ 사용하는 기능에 따라 더 추가해야 할 코드가 있으니 확인하고 작성해야 함


🔹 Firebase의 장점

장점 설명
빠른 개발 로그인, DB, 알림 등 빠르게 붙일 수 있음
실시간 기능 실시간 채팅 / 데이터 처리에 유리
클라우드 기반 서버 없이 운영 가능
무료 사용 가능 개인 / 스타트업에게 매우 유용
멀티 플랫폼 지원 iOS, Android, Web 모두 지원

🔹 Firebase의 단점

단점 설명
벤더 락인 (Vendor lock - in) Firebase에 종속되기 쉬움
복잡한 커스터마이징 제한 자체 서버만큼 자유도는 없음
Firestore 요금제 주의 실시간 트래픽 많을 경우 비용 발생 가능

🔹 사용하는 경우

프로젝트 유형 Firebase 적합도
MVP/프로토타입 매우 적합
실시간 채팅 앱 적합 (Realtime DB or Firestore)
인증 필요한 앱 Firebase Auth
소규모 서비스 운영 부담 적음
대형 커스텀 서버 구축 제한적 ( 자체 백엔드 필요)

Comments