WWDC 2025 - Declarative Web Push 요약
카테고리
프로그래밍/소프트웨어 개발
서브카테고리
웹 개발
대상자
- 웹 애플리케이션 개발자, 특히 Safari 및 iOS 플랫폼에서 알림 기능을 구현하는 분야의 개발자
- 네이티브 iOS 알림 시스템 경험자에게 유용
- 난이도: 중간 (기존 Web Push 경험자에게는 이해가 용이)
핵심 요약
- JavaScript 의존성 감소 : 기본 알림 표시 시 Service Worker 및 JavaScript 실행이 필요하지 않음
- 성능 향상 :
web_push
:"8030"
이라는 마법 키를 통해 JSON 파싱으로 알림 처리 가능 - 배터리 효율성 :
RFC 8030
표준 준수로 JavaScript 실행 제거 → 배터리 소모 감소
섹션별 세부 요약
1. **기존 Web Push의 한계**
- Service Worker 의존성 : 모든 알림 처리에 Service Worker 필요
- 성능 부하 : 단순 알림 표시에도 JavaScript 실행 필요
- 보안 문제 : Intelligent Tracking Prevention으로 인한 JavaScript 실행 시간 제한
2. **Declarative Web Push의 핵심 기능**
- JSON 기반 알림 처리 :
{"web_push":"8030"}
마법 키로 알림 구조 자동 인식 - Service Worker 제거 :
PushManager
가window
객체에 직접 제공됨 - 자동 처리 기능 : 브라우저가 알림 표시 및 배지 업데이트를 자동 처리
3. **알림 처리 흐름**
- JSON 파싱 : 메시지가 JSON인지 확인
- 마법 키 검증 :
"web_push": "8030"
존재 여부 확인 - 알림 구조 검증 :
NotificationOptions
와 W3C 표준 대응 - Service Worker 대체 : 불일치 시 기존 Web Push로 대체
- 유효성 검증 실패 시 무시
4. **실무 적용 전략**
- 메시지 포맷 리팩토링 : 커스텀 JSON을
web_push
:"8030"
기준으로 표준화 - Service Worker 간소화 : 예외 처리만 남기고 JavaScript 코드 축소
- 성능 테스트 : 배터리 효율성 개선 확인
결론
- "web_push": "8030" 마법 키를 사용해 JSON 기반 알림 처리 → JavaScript 실행 제거
- Safari 18.5+에서 지원되며, iOS 18.4+ 홈 화면 웹 앱에 적용 가능
- 기존 Web Push와의 백워드 호환성 유지 → 점진적 도입 가능
- 알림 처리 단순화와 배터리 효율성 향상으로 웹 앱의 네이티브 알림 기능 접근성 확대