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. 동작 흐름

  1. 사용자가 앱 또는 웹에 접속
  2. Firebase에서 기기별 FCM 토큰 발급
  3. 서버에서 토큰 저장
  4. 이벤트 발생 시 서버 → FCM 서버로 메시지 요청
  5. 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

조합으로 설계하는 것이 합리적이라고 판단한다.

results matching ""

    No results matching ""