요구 사항 및 사전 요구 사항
AEM에서 SPA로 작업을 시작하기 전에 알아 두어야 할 여러 요구 사항이 있습니다.
지식
- React 또는 Angular 프레임워크를 통해 SPA를 만드는 개발 경험
- 콘텐츠 조각을 만들고 편집기를 사용하는 기본 AEM 기술
- 다양한 SPA 통합 수준을 이해하려면 AEM Headful 및 Headless 문서를 검토해야 합니다.
도구
- 콘텐츠 배포 테스트를 위한 샌드박스 액세스
- 데이터 모델링 및 테스트에 대한 로컬 개발 인스턴스
- 기존 외부 SPA (선택한 통합 모델에 따라 선택할 수 있음)
- AEM Project Archetype
SPA란 무엇입니까?
단일 페이지 애플리케이션(SPA)은 데이터를 로드하여 페이지를 동적으로 업데이트하는 Ajax 호출을 통해 클라이언트측에서 렌더링되고 주로 JavaScript를 기반으로 하는 기존 페이지와 다릅니다. 페이지와의 사용자 상호 작용을 기반으로 필요에 따라 대부분의 콘텐츠나 모든 콘텐츠를 추가 리소스가 비동기적으로 로드된 단일 페이지 로드에서 한 번 검색합니다.
이 기능을 사용하면 페이지 새로 고침의 필요성이 줄어들고 사용자에게 원활하고 빠르며 기본 앱 환경과 같은 경험을 제공할 수 있습니다.
AEM SPA 편집기를 통해 프론트엔드 개발자가 AEM 사이트에 통합할 수 있는 SPA를 만들게 되면 콘텐츠 작성자는 다른 AEM 콘텐츠와 같이 SPA 콘텐츠를 손쉽게 편집할 수 있습니다.
왜 SPA입니까?
더 빠르고 유동적이며 기본 애플리케이션과 매우 유사한 SPA는 매력적인 경험입니다. SPA 작동 방식의 특성으로 인해 웹 페이지 방문자뿐만 아니라 마케터와 개발자에게도 매우 유용합니다.
SPA와 SPA를 사용하는 이유에 대한 전체 내용은 보다 심층적인 설명서 링크를 위한 추가 리소스 섹션을 참조하십시오.
AEM을 통해 SPA를 처리하는 방법
AEM을 통해 단일 페이지 애플리케이션을 개발하면 프론트엔드 개발자가 SPA를 제작하는 도중 표준 모범 사례를 준수하는 것으로 간주됩니다. 프론트엔드 개발자가 해당 일반 모범 사례 및 몇 가지 AEM 특정 원칙을 준수하면 SPA는 AEM 및 콘텐츠 작성 기능과 함께 작동합니다.
- 이동성 - 모든 구성 요소와 마찬가지로 SPA 구성 요소는 최대한 이동할 수 있도록 빌드해야 합니다. SPA는 이동 및 재사용할 수 있는 구성 요소로 빌드해야 합니다.
- AEM 실행 사이트 구조 - 프론트엔드 개발자는 구성 요소를 만들고 내부 구조를 가지고 있지만, AEM을 사용하여 사이트의 콘텐츠 구조를 정의할 수 있습니다.
- 동적 렌더링 - 모든 렌더링은 동적이어야 합니다.
- 동적 라우팅 - SPA는 라우팅을 담당하고 이에 따라 AEM은 라우팅을 수신하고 가져옵니다. 모든 라우팅 또한 동적이어야 합니다.
AEM을 통해 SPA를 처리하는 방법에 대한 전체 내용은 보다 심층적인 설명서 링크를 위한 추가 리소스 섹션을 참조하십시오.
AEM SPA 편집기
React 및 Angular와 같은 일반적인 SPA 프레임워크를 사용하여 빌드한 사이트는 동적 JSON을 통해 콘텐츠를 로드합니다. AEM 페이지 편집기에서 편집 컨트롤을 배치하는 데 필요한 HTML 구조를 제공하지 않습니다.
AEM 내에서 SPA 편집 기능을 활성화하려면 SPA의 JSON 출력 및 AEM 저장소의 콘텐츠 모델 간에 매핑을 사용하여 콘텐츠에 대한 변경 사항을 저장해야 합니다.
AEM의 SPA 지원을 통해 페이지 편집기에 로드하는 경우, SPA JavaScript 코드와 상호 작용하는 얇은 JavaScript 레이어를 도입하여 이벤트를 전송할 수 있습니다. 편집 컨트롤 위치를 활성화하여 상황에 맞게 편집할 수 있습니다. 콘텐츠 서비스를 통해 SPA 콘텐츠를 로드해야 하므로 이 기능이 콘텐츠 서비스 API 엔드포인트 개념에 빌드됩니다.
AEM SPA 편집기에 대한 전체 내용은 보다 심층적인 설명서 링크를 위한 추가 리소스 섹션을 참조하십시오.
기존 SPA 수용
기존 SPA가 있는 경우, AEM 편집기의 콘텐츠 작성자에게 표시되도록 AEM은 SPA를 AEM에 임베드하는 것을 지원합니다. 이러한 기능은 사용할 수 있는 최종 애플리케이션의 컨텍스트에서 콘텐츠 조각으로 제작되는 콘텐츠를 확인하는 데 매우 유용합니다.
약간의 변경만으로도 AEM 편집기에서 외부 SPA에 대한 특정 편집 기능을 활성화할 수 있습니다.
RemotePage 구성 요소를 사용하여 AEM에서 외부 SPA를 렌더링할 수 있습니다.
AEM에서 편집 가능한 외부 SPA를 만드는 방법에 대한 전체 내용은 보다 심층적인 설명서 링크를 위한 추가 리소스 섹션을 참조하십시오.
다음 단계
AEM용 SPA 개발을 시작하려면 다음 문서를 검토합니다.
AEM에 사용할 기존 SPA를 조정해야 하는 경우, 다음 문서를 검토합니다.
AEM에서 SPA 주제에 대해 자세히 살펴볼 수 있는 추가 리소스는 아래를 참조하십시오.
추가 리소스
다음은 이 문서에서 언급한 몇 가지 개념에 대해 자세히 설명하는 몇 가지 추가 리소스입니다.
- AEM Headful 및 Headless - AEM에 제공되는 다른 게재 모델에 대한 설명
- SPA 소개 및 워크스루 - AEM의 SPA에 대한 소개
- AEM용 SPA 개발 - AEM용 SPA를 개발하는 방법에 대한 지침
- SPA 편집기 개요 - SPA 편집기의 작동 방식에 대한 세부 정보
- SPA 참조 문서 - 오픈 소스 AEM SPA GitHub 프로젝트에 대한 JavaScript API 참조 및 링크
- 콘텐츠 조각 - 콘텐츠 조각을 만드는 방법
- AEM Project Archetype - Adobe Experience Manager(AEM) 프로젝트를 웹 사이트 시작 지점으로 만드는 최소한의 모범 사례 기반 Maven 템플릿