2026-01-13
FCM 서버 / PWA / Electron 정리
웹 서비스 확장과 알림 시스템을 이해하기 위해
FCM 서버, PWA, Electron 개념을 함께 정리한다.
1. FCM 서버 (Firebase Cloud Messaging)
1-1. FCM 서버란?
FCM(Firebase Cloud Messaging)은
서버에서 사용자 기기(모바일 앱, 웹, 데스크톱 앱)로
푸시 알림을 전송하기 위한 메시징 서비스이다.
애플리케이션 서버는
Firebase에 메시지 전송을 요청하고,
실제 알림 전달은 FCM 서버가 담당한다.
1-2. 왜 필요한가?
- 앱이 종료된 상태에서도 알림 전송 필요
- 웹(PWA)에서도 실시간 알림 제공
- 모바일 / 웹을 하나의 알림 시스템으로 관리
1-3. 동작 흐름
- 사용자가 앱 또는 웹에 접속
- Firebase에서 기기별 FCM 토큰 발급
- 서버에서 토큰 저장
- 이벤트 발생 시 서버 → FCM 서버로 메시지 요청
- FCM 서버가 기기로 알림 전달
1-4. 핵심 개념
- FCM 토큰: 기기 식별용 고유 값
- Notification 메시지: 화면 표시용 알림
- Data 메시지: 앱 내부 로직 처리용 데이터
- 플랫폼 독립 지원
2. PWA (Progressive Web App)
2-1. PWA란?
PWA는
웹 기술로 개발하지만
앱처럼 설치·실행·오프라인 사용·푸시 알림이 가능한
웹 애플리케이션이다.
2-2. 왜 필요한가?
- 앱 설치 장벽 완화
- 웹과 모바일을 하나의 코드로 관리
- 앱 수준의 사용자 경험 제공
2-3. PWA의 핵심 구성 요소
Service Worker
- 백그라운드 실행
- 캐싱 및 오프라인 지원
- 푸시 알림 수신 담당
Web App Manifest
- 앱 이름, 아이콘, 실행 방식 정의
- 홈 화면 설치 가능
HTTPS
- 보안 필수 조건
2-4. PWA로 가능한 기능
- 홈 화면 설치
- 전체 화면 실행
- 오프라인 동작
- 자동 업데이트
- 웹 푸시 알림
3. Electron
3-1. Electron이란?
Electron은
HTML, CSS, JavaScript를 사용해
Windows, macOS, Linux 데스크톱 애플리케이션을 만들 수 있는
프레임워크이다.
3-2. 왜 필요한가?
- 웹 서비스와 동일한 UI를 데스크톱 앱으로 제공
- OS별 앱 개발 부담 감소
- 웹 개발 스택 재사용
3-3. Electron 구조
- Chromium: UI 렌더링
- Node.js: 파일 시스템, OS 기능 접근
- 두 환경을 하나의 앱으로 패키징
3-4. 특징
장점
- 멀티 OS 지원
- 웹 개발자 친화적
- OS 기능 접근 가능
단점
- 앱 용량 큼
- 메모리 사용량 높음
- 모바일 앱 개발 불가
4. 개념 한 줄 정리
- FCM 서버: 푸시 알림을 전달하는 메시징 서버
- PWA: 웹을 앱처럼 확장하는 기술
- Electron: 웹으로 데스크톱 앱을 만드는 기술
5. 개인 정리
웹 서비스 하나를
모바일 앱, 웹, 데스크톱까지 확장하려면
- 알림은 FCM
- 웹 기반 앱 경험은 PWA
- 데스크톱 앱은 Electron
조합으로 설계하는 것이 합리적이라고 판단한다.