이제 간단한 구성을 통해 콘텐츠 작성자는 AEM Sites에서 생성된 경험에 대해 점진적 웹 앱(PWA) 기능을 활성화할 수 있습니다.
이는 다음을 필요로 하는 고급 기능입니다.
이 기능을 사용하기 전에 개발 팀과 논의하여 이를 프로젝트에 활용할 수 있는 최적의 방법을 정의하는 것이 좋습니다.
점진적 웹 앱(PWA)은 AEM 사이트를 사용자의 컴퓨터에 로컬로 저장하고 오프라인으로도 액세스할 수 있도록 함으로써 앱과 유사한 몰입형 경험을 제공합니다. 사용자는 인터넷 연결이 끊어져도 언제든지 사이트를 탐색할 수 있습니다. PWA는 네트워크가 끊기거나 불안정한 경우에도 원활한 경험을 제공합니다.
콘텐츠 작성자는 사이트를 다시 코딩하는 대신 PWA 속성을 사이트의 페이지 속성에서 추가 탭으로 구성할 수 있습니다.
PWA를 사용하면 사이트의 로컬 사본이 제공되어 사용자는 인터넷 연결 없이도 앱과 유사한 경험을 누릴 수 있습니다.
점진적 웹 앱은 진화하는 기술이며, 로컬 앱 설치 및 기타 기능에 대한 지원은 사용 중인 브라우저에 따라 다릅니다.
사이트에 PWA 기능을 사용하려면 프로젝트 환경에 대한 2가지 요구 사항을 충족해야 합니다.
이는 작성자와 개발 팀의 조정이 필요한 기술적인 단계입니다. 이러한 단계는 사이트당 한 번만 필요합니다.
핵심 구성 요소 릴리스 2.15.0 이상 버전은 AEM 사이트의 PWA 기능을 완전히 지원합니다. AEMaaCS는 항상 핵심 구성 요소의 최신 버전을 포함하므로 PWA 기능을 즉시 활용할 수 있습니다. AEMaaCS 프로젝트는 이 요구 사항을 자동으로 충족합니다.
사용자 정의 구성 요소 또는 핵심 구성 요소에서 확장되지 않은 구성 요소에는 PWA 기능을 사용하지 않는 것이 좋습니다.
PWA 기능은 /content/<sitename>/manifest.webmanifest
파일을 생성하고 사용합니다. 기본적으로 Dispatcher는 이러한 파일들을 노출하지 않습니다. 이들 파일을 노출하려면 개발자는 사이트 프로젝트에 다음과 같은 구성을 추가해야 합니다.
File location: [project directory]/dispatcher/src/conf.dispatcher.d/filters/filters.any >
# Allow webmanifest files
/0102 { /type "allow" /extension "webmanifest" /path "/content/*/manifest" }
프로젝트에 따라 서로 다른 확장 프로그램 유형을 포함하여 규칙을 재작성할 수 있습니다. webmanifest
확장 프로그램은 요청을 숨기고 /content/<projectName>
으로 리디렉션하는 규칙을 도입할 때 재작성 조건에 포함하기에 유용할 수 있습니다.
RewriteCond %{REQUEST_URI} (.html|.jpe?g|.png|.svg|.webmanifest)$
사전 요구 사항을 충족하면 콘텐츠 작성자는 매우 간단하게 사이트에 대해 PWA 기능을 활성화할 수 있습니다. 다음은 이를 수행하는 방법에 대한 간략한 소개입니다. 개별 옵션은 상세 옵션 섹션에 자세히 기재되어 있습니다.
AEM에 로그인합니다.
메인 메뉴에서 탐색 -> 사이트를 탭하거나 클릭합니다.
사이트 프로젝트를 선택한 다음 속성을 탭 또는 클릭하거나 핫키 p
를 사용합니다.
점진적 웹 앱 탭을 선택한 다음 해당하는 속성을 구성합니다. 최소한 다음과 같은 작업을 수행해야 합니다.
PWA 활성화 옵션을 선택합니다.
시작 URL을 정의합니다.
512x512 png 아이콘을 DAM에 업로드한 다음 이를 앱 아이콘으로 참조합니다.
서비스 작업자가 오프라인으로 사용할 경로를 구성합니다. 대표적인 경로는 다음과 같습니다.
/content/<sitename>
/content/experiencefragements/<sitename>
/content/dam/<sitename>
/etc/clientlibs/<sitename>
저장 및 닫기를 탭하거나 클릭합니다.
이제 사이트가 구성되며 이를 로컬 앱으로 설치할 수 있습니다.
이제 PWA를 지원하도록 사이트를 구성했으므로 이를 직접 체험해 볼 수 있습니다.
다음 섹션은 PWA에 대해 사이트를 구성할 때 사용할 수 있는 옵션에 대한 세부 정보를 제공합니다.
이러한 설정을 사용하면 사이트를 방문자의 홈 화면에 설치하고 오프라인에서 사용할 수 있으므로 사이트가 기본 앱처럼 작동하도록 할 수 있습니다.
이 설정을 사용하면 이 사이트의 일부를 오프라인에서 사용하고 방문자의 디바이스에서 로컬로 사용할 수 있습니다. 이를 통해 웹 앱의 캐시를 제어하여 네트워크 요청을 최적화하고 오프라인 경험을 지원할 수 있습니다.
개발자 팀에서 오프라인 구성 설정 방법과 관련된 유용한 정보를 가지고 있을 수 있습니다.
일부 PWA 기능은 AEM Sites에 사용할 수 없습니다. 몇 가지 주목할 만한 제한 사항이 있습니다.
또한 Adobe는 PWA 구현 시 다음과 같은 권장 사항을 제공합니다.
사전 캐싱할 페이지의 수를 제한하는 것이 좋습니다.
클라이언트 라이브러리는 다음 패턴 lc-<checksumHash>-lc
를 관찰하는 캐시 선택기와 함께 제공됩니다. 라이브러리를 구성하는 파일(및 종속성) 중 하나가 변경될 때마다 이 선택기가 변경됩니다. 서비스 작업자가 사전 캐싱할 클라이언트 라이브러리를 나열했으며 새 버전을 참조하고자 하는 경우 항목을 수동으로 검색하여 업데이트합니다. 따라서 프로젝트 스크립트 및 스타일시트가 안정화된 다음 사이트를 PWA로 구성하는 것이 좋습니다.
AEM 핵심 구성 요소의 이미지 구성 요소는 프론트엔드에서 가져올 최적의 렌디션을 결정합니다. 이 메커니즘에는 해당 리소스의 마지막 수정 시간에 해당하는 타임스탬프도 포함됩니다. 이 메커니즘은 PWA 사전 캐싱 구성을 더욱 복잡하게 만듭니다.
사전 캐싱을 구성할 때 사용자는 가져올 수 있는 모든 경로 변형을 나열해야 합니다. 이러한 변형은 품질 및 너비와 같은 매개변수로 구성되어 있습니다. 이들 변형의 수를 최대 3개(작음, 중간, 큼)으로 줄이는 것이 좋습니다. 이러한 작업은 이미지 구성 요소의 콘텐츠 정책 대화 상자를 통해 수행할 수 있습니다.
신중하게 구성하지 않으면 메모리 및 네트워크 소모가 PWA 성능에 심각한 영향을 줄 수 있습니다. 또한 50개의 이미지를 사전 캐싱하고자 하고 이미지당 너비가 3개라고 가정하면 사이트를 관리하는 사용자는 페이지 속성의 PWA 사전 캐싱 섹션에서 최대 150개의 항목 목록을 관리해야 합니다.
이와 더불어 이미지의 프로젝트 사용이 안정화된 다음 사이트를 PWA로 구성하는 것이 좋습니다.