프로그레시브 웹 앱의 사용자 흐름, 라이프사이클 상태, 권한 프롬프트, 오프라인 동작 및 플랫폼별 엣지 케이스를 정의합니다. 환경별 한계를 구성 가능하게 유지하면서 채택 경계와 관찰 가능한 실패 증거를 고정합니다.
패키지 상태: 참조 컨텍스트가 인간 검토를 위해 준비됨. 계약과 테스트 시나리오는 완성되었으나, 채택된 구현이 이를 통과했다는 주장은 하지 않습니다.
결정
프로그레시브 웹 앱에 대해 명시적 네이티브 어댑터가 포함된 플랫폼 중립 도메인 계약을 채택합니다. 가시적 상태, 가능한 경우 되돌릴 수 있는 선택, 보존된 입력 및 접근 가능한 복구가 있는 결정론적 사용자 여정을 정의합니다. 이 패키지는 참조 계약이며, 채택 팀은 자체 환경의 증거를 바탕으로 수치 한계, 공급자, 관할 구역 및 운영 소유자를 선택해야 합니다.
범위
- 이 UX 블록에서 설명하는 프로그레시브 웹 앱 행위자, 입력, 출력, 상태, 정책 또는 스키마 버전 및 외부에 보이는 결과.
- 기본 및 대체 인터페이스, 백그라운드 작업, 캐시, 통합, 지원 경로 및 동일 경계를 실행할 수 있는 증거.
- 참조를 안전하게 적용하는 데 필요한 채택별 구성, 롤아웃, 복구 및 검증 책임.
이 블록 외부
- 모든 채택자에 대해 보편적인 공급자, 프레임워크, 관할 구역, 수치 임계값, 보존 기간 또는 서비스 수준 목표를 선택하는 것.
- 패키지된 시나리오가 하위 구현에서 실행되었거나 이 참조가 법적, 보안 또는 접근성 인증을 부여한다고 주장하는 것.
계약
- 기능이 의존하는 경우 포그라운드, 백그라운드, 종료, 오프라인, 복원, 로그아웃 및 권한 거부 상태를 모델링합니다.
- 운영 체제 콜백과 외부 링크를 신뢰할 수 없는 입력으로 처리하고 결과 도메인 작업을 재승인합니다.
- 민감한 키는 플랫폼 보호 시설을 통해서만 저장하고 알림, 로그, 백업 및 클립보드에 복사되는 값을 최소화합니다.
- 경과 시간 가정 대신 내구성 버전 또는 작업 식별자를 사용하여 동기화 작업을 멱등하게 만듭니다.
- 실제 작업이 대기 중일 때만 진행 상황을 표시하고 사용자의 확정된 의도를 숨기지 않고 중복 활성화를 방지합니다.
- 검증, 권한, 연결성, 충돌 및 최종 실패를 구분하는 평이하고 작업별 메시지를 사용합니다.
- 설치 적격성, 매니페스트 ID, 범위, 내비게이션 대체, 오프라인 기능, 서비스 워커 소유권, 캐시 클래스, 업데이트 활성화 및 미지원 브라우저 동작을 정의합니다.
- 자격 증명이나 민감한 응답을 광범위하게 캐시하지 않고, 내구성 ID로 오프라인 쓰기를 조정하며, 혼합 앱 버전을 방지하고, 첫 로드, 다시 로드, 업그레이드, 퇴거, 할당량 및 네트워크 전환을 테스트합니다.
구현 지침
- 행복 경로 레이아웃을 확정하기 전에 가장 길고, 비어있고, 느리고, 오프라인이며, 거부되고, 보조 기술 경로를 프로토타입합니다.
- 프레임워크나 공급자 세부 정보를 선택하기 전에 프로그레시브 웹 앱 입력, 출력, 행위자, 상태, 불변 조건, 부작용 및 증거를 모델링합니다.
- 적용 가능한 프로그레시브 웹 앱 계약 또는 정책 버전을 물질 상태와 함께 저장하여 마이그레이션, 재생 및 지원 결정이 추적 가능하도록 합니다.
- 통제된 롤아웃 뒤에 경로를 도입하고 예상 결과와 관찰된 결과를 비교하며 채택 증거가 완성될 때까지 테스트된 복구 경로를 유지합니다.
실패 처리 및 안전장치
- 중단된 네이티브 작업은 내구성 체크포인트에서 재개되거나 부작용을 중복하지 않고 안전한 가시 상태로 돌아갑니다.
- 잘못되었거나 모순된 프로그레시브 웹 앱 상태는 거부되거나 격리되며, 구현은 권한을 확장하거나 효과를 중복하는 값을 추측하지 않습니다.
- 재시도는 한계가 있으며 내구성 ID를 사용합니다; 소진 후 작업은 책임 있는 소유자가 있는 검사 가능한 최종 상태에 도달합니다.
검증 및 운영
- 키보드, 터치, 화면 판독기, 좁은 뷰포트, 지연된 네트워크 및 복구 가능한 서버 오류로 여정을 완료합니다.
- 민감한 페이로드 차원 없이 계약 버전별로 프로그레시브 웹 앱 성공, 거부, 검증 실패, 종속성 실패, 재시도 소진 및 복구를 모니터링합니다.
- 정책, 스키마, 종속성, 마이그레이션 또는 경계 변경 후 쌍으로 된 긍정 및 부정 픽스처를 다시 실행하고 결과 증거를 보존합니다.
채택 가정
- 예제의 이름과 값은 구체적인 픽스처이며 보편적 기본값이 아니므로 채택자는 문서화된 증거와 소유권을 통해 이를 교체합니다.
- 채택 시스템은 인증된 ID, 내구성 작업 또는 기록 버전, 한정된 텔레메트리 및 변경을 위한 통제된 경로를 제공할 수 있습니다.
이 패키지의 실행 가능한 예제는 픽스처 및 수용 계약입니다.
구조와 메타데이터를 확인하려면 컬렉션 검증기를 실행한 후, 대상 저장소에서 시나리오를 번역하고 실행하여 구현 증거를 기록하십시오.