Saleor Plugin vs App 비교
구조적 차이
| 항목 | Plugin (레거시) | App (권장) |
|---|---|---|
| 실행 위치 | Core 프로세스 내부 | 외부 HTTP 서버 |
| 배포 | Core 코드에 직접 등록 | Dashboard에서 manifest URL로 설치 |
| 격리성 | 없음 (Core와 동반 장애) | 완전 격리, 독립 배포 |
| 상태 관리 | PluginConfiguration DB | App 자체 DB |
| 인증 | 신뢰된 코드 (인증 없음) | App token + Webhook signature |
| 채널 | CONFIGURATION_PER_CHANNEL 설정 | Webhook 단위 채널 바인딩 |
Plugin이 아직 필수인 경우
- 외부 인증 통합 —
external_authentication_url,external_obtain_access_tokens등 App으로 대체 불가 - 레거시 Payment Gateway — 이미 구현된 플러그인 유지보수
마이그레이션 방향
Saleor 팀의 공식 방향은 모든 이벤트 기반 hook을 Webhook으로 이전하는 것이다. Plugin은 다음 두 영역만 남기고 단계적 제거 예정:
- 세금 계산 (Sync Webhook
CHECKOUT_CALCULATE_TAXES로 대체 가능) - 외부 인증 (아직 App 대체 불가)
결론: 신규 기능은 반드시 App + Webhook으로 구현. 포크 시 Plugin 의존을 최소화해야 upstream 동기화 부담이 줄어든다.