Introductie van het KUUROORD en Analyse spa-introduction-and-walkthrough
Toepassingen van één pagina (SPAs) kunnen dwingende ervaringen voor websitegebruikers aanbieden. De ontwikkelaars willen plaatsen kunnen bouwen gebruikend het kader van het KUUROORD en de auteurs willen de inhoud binnen AEM voor een plaats foutloos uitgeven die gebruikend dergelijke kaders wordt gebouwd.
De redacteur van het KUUROORD biedt een uitvoerige oplossing voor het steunen van SPAs binnen AEM aan. Dit artikel loopt door het gebruiken van een basistoepassing van het KUUROORD voor creatie en toont hoe het op de onderliggende Redacteur van AEM SPA betrekking heeft.
- de Universele Redacteurvoor visueel het uitgeven van hoofdloze inhoud.
- de Redacteur van het Fragment van de Inhoudvoor op vorm-gebaseerde het uitgeven van hoofdloze inhoud.
Inleiding introduction
Artikel article-objective
Dit artikel introduceert de basisconcepten SPAs alvorens de lezer door een analyse van de redacteur van het KUUROORD door een eenvoudige toepassing van het KUUROORD te gebruiken om basisinhoud het uitgeven aan te tonen. Het duikt dan neer in de bouw van de pagina en hoe de toepassing van het KUUROORD op en met de Redacteur van AEM SPA betrekking heeft.
Het doel van deze inleiding en analyse is aan een ontwikkelaar van AEM aan te tonen waarom SPAs relevant zijn, hoe zij over het algemeen werken, hoe een KUUROORD door de Redacteur van AEM SPA wordt behandeld, en hoe het van een standaardtoepassing van AEM verschillend is.
Vereisten requirements
De analyse is gebaseerd op de standaardfunctionaliteit van AEM en de steekproefWKND SPA Project app. Om samen met deze analyse te volgen, moet u het volgende beschikbaar hebben.
-
- U moet beheerdersrechten voor het systeem hebben.
-
de steekproefWKND app van het Project van het KUUROORD beschikbaar op GitHub
- Download de recentste versie van React app. De naam van de URL is vergelijkbaar met die van
wknd-spa-react.all.classic-X.Y.Z-SNAPSHOT.zip
. - Download de recentste steekproefbeeldenvoor app. Deze krijgt een naam die lijkt op
wknd-spa-sample-images-X.Y.Z.zip
. - het pakketmanager van het Gebruikom de pakketten te installeren zoals u een ander pakket in AEM.
- Voor deze analyse hoeft de app niet te worden geïnstalleerd met Maven.
- Download de recentste versie van React app. De naam van de URL is vergelijkbaar met die van
Wat is een SPA? what-is-a-spa
Een single-page toepassing (SPA) verschilt van een conventionele pagina in die zin dat het cliënt-kant wordt teruggegeven en hoofdzakelijk JavaScript-gedreven, die op Ajax vraag baseert om gegevens te laden en dynamisch de pagina bij te werken. De meeste of alle inhoud wordt één keer opgehaald in één pagina die wordt geladen met extra bronnen die asynchroon worden geladen, afhankelijk van gebruikersinteractie met de pagina.
Hierdoor is het minder nodig pagina's te vernieuwen en wordt de gebruiker een ervaring geboden die naadloos, snel is en meer lijkt op een native app-ervaring.
De redacteur van AEM SPA staat front-end ontwikkelaars toe om SPAs tot stand te brengen die in een plaats van AEM kan worden geïntegreerd, toestaand de inhoudsauteurs om de inhoud van het KUUROORD zo gemakkelijk als om het even welke andere inhoud van AEM uit te geven.
Waarom een SPA? why-a-spa
Door sneller, dynamisch, en meer als een inheemse toepassing te zijn, wordt een SPA een zeer aantrekkelijke ervaring niet alleen voor de bezoeker van de webpagina, maar ook voor marketers en ontwikkelaars toe te schrijven aan de aard van hoe SPAs werkt.
Bezoekers
- Bezoekers willen native ervaringen als ze met inhoud werken.
- Er zijn duidelijke gegevens dat hoe sneller een pagina, hoe waarschijnlijker een conversie zal plaatsvinden.
Marketers
- Marketers willen rijke, native ervaringen bieden om bezoekers te dwingen om zich volledig met inhoud bezig te houden.
- Personalization kan deze ervaringen nog aantrekkelijker maken.
Ontwikkelaars
- Ontwikkelaars willen een duidelijke scheiding tussen inhoud en presentatie.
- Schone scheiding maakt het systeem meer uitbreidbaar en maakt een onafhankelijke ontwikkeling aan de voorzijde mogelijk.
Hoe werkt een SPA? how-does-a-spa-work
Het primaire idee achter een KUUROORD is dat de vraag en de afhankelijkheid van een server worden verminderd om vertragingen te minimaliseren die door servervraag worden veroorzaakt zodat SPA de ontvankelijkheid van een inheemse toepassing benadert.
In een traditionele, opeenvolgende webpagina worden alleen de gegevens geladen die nodig zijn voor de directe pagina. Dit betekent dat wanneer de bezoeker naar een andere pagina gaat, de server om de extra bronnen wordt gevraagd. Aanvullende aanroepen kunnen nodig zijn omdat de bezoeker werkt met elementen op de pagina. Deze veelvoudige vraag kan een gevoel van vertraging of vertraging geven aangezien de pagina met de verzoeken van de bezoeker moet inhalen.
Voor een vloeiender ervaring, die nadert wat een bezoeker van mobiele, inheemse apps verwacht, laadt een SPA alle noodzakelijke gegevens voor de bezoeker op de eerste lading. Hoewel dit een beetje langer kan duren, elimineert het dan de behoefte aan extra servervraag.
Door het pagina-element op de client weer te geven, reageert het pagina-element sneller en zijn de interactie met de pagina door de bezoeker direct. Eventuele aanvullende gegevens worden asynchroon aangeroepen om de snelheid van de pagina te maximaliseren.
Ervaring voor het bewerken van inhoud met SPA content-editing-experience-with-spa
Wanneer een SPA wordt gebouwd om de Redacteur van AEM SPA te gebruiken, merkt de inhoudauteur geen verschil wanneer het uitgeven en het creëren van inhoud. Er is algemene AEM-functionaliteit beschikbaar en er zijn geen wijzigingen in de workflow van de auteur vereist.
-
Bewerk de WKND SPA Project-app in AEM.
http://<host>:<port>/editor.html/content/wknd-spa-react/us/en/home.html
-
Selecteer een koptekstcomponent. Een werkbalk ziet er net zo uit als een andere component. Selecteer uitgeven.
-
Bewerk de inhoud als normaal in AEM. De wijzigingen blijven bestaan.
note note NOTE Zie het Overzicht van de Redacteur van het KUUROORDvoor verdere informatie over op zijn plaats tekstredacteur en SPAs. -
Met de Assets-browser kunt u een nieuwe afbeelding naar een afbeeldingscomponent slepen en neerzetten.
-
De wijziging wordt doorgevoerd.
Aanvullende ontwerpgereedschappen, zoals slepen en neerzetten van aanvullende componenten op de pagina, het opnieuw rangschikken van componenten en het wijzigen van de layout, worden ondersteund zoals in elke niet-SPA-toepassing.
SPA Apps en de Redacteur van AEM SPA spa-apps-and-the-aem-spa-editor
Ervarend hoe een KUUROORD zich voor het eind gedraagt en dan het inspecteren van de pagina van het KUUROORD helpt om beter te begrijpen hoe een SAP app met de Redacteur van het KUUROORD in AEM werkt.
Een SPA-toepassing gebruiken using-an-spa-application
-
Laad de toepassing van het Project WKND SPA of op publiceer server of gebruikend de optie Mening zoals Gepubliceerd van het menu van de Informatie van de Pagina in de paginaredacteur.
http://<host>:<port>/content/wknd-spa-react/us/en/home.html
Neem nota van de paginastructuur met inbegrip van navigatie aan kindpagina's, weer widget, en artikelen.
-
Navigeer naar een onderliggende pagina met behulp van het menu en controleer of de pagina direct wordt geladen zonder dat een pagina moet worden vernieuwd.
-
Open de ingebouwde ontwikkelaarsgereedschappen van uw browser en controleer de netwerkactiviteit terwijl u door de onderliggende pagina's navigeert.
Er is erg weinig verkeer wanneer u van pagina naar pagina gaat in de app. De pagina wordt niet opnieuw geladen en alleen de nieuwe afbeeldingen worden aangevraagd.
Het KUUROORD beheert de inhoud en het verpletteren volledig op de cliëntkant.
Dus als de pagina niet opnieuw wordt geladen wanneer u door de onderliggende pagina's navigeert, hoe wordt deze geladen?
De volgende sectie, die een Toepassing van het KUUROORD laadt,graaft dieper in de mechanica van het laden van het KUUROORD en hoe de inhoud synchroon en asynchroon kan worden geladen.
Een SPA-toepassing laden loading-an-spa-application
-
Als niet reeds geladen, laad app van het Project van het KND SPA of op de publicatieserver of gebruikend de optie Mening zoals Gepubliceerd van het menu van de Informatie van de Pagina in de paginaredacteur.
http://<host>:<port>/content/wknd-spa-react/us/en/home.html
-
Gebruik het ingebouwde gereedschap van uw browser om de bron van de pagina weer te geven.
-
De inhoud van de bron is uiterst beperkt.
- De pagina heeft geen inhoud in de hoofdtekst. Het bestaat voornamelijk uit stijlpagina's en een aanroep naar verschillende scripts, zoals
clientlib-react.min.js
. - Deze scripts vormen de belangrijkste stuurprogramma's voor deze toepassing en zijn verantwoordelijk voor het renderen van alle inhoud.
- De pagina heeft geen inhoud in de hoofdtekst. Het bestaat voornamelijk uit stijlpagina's en een aanroep naar verschillende scripts, zoals
-
Gebruik de ingebouwde gereedschappen van uw browser om de pagina te inspecteren. Zie de inhoud van de DOM volledig geladen.
-
Schakelaar aan het lusje van het Netwerk van de ontwikkelaarshulpmiddelen en laad de pagina opnieuw.
Afbeeldingsverzoeken worden genegeerd. De primaire bronnen die voor de pagina worden geladen, zijn de pagina zelf, CSS, de React JavaScript, de afhankelijkheden en JSON-gegevens voor de pagina.
-
Laad de
react.model.json
op een nieuw tabblad.http://<host>:<port>/content/wknd-spa-react/us/en/home.model.json
De redacteur van AEM SPA gebruikt de Diensten van de Inhoud van AEMom de volledige inhoud van de pagina als model te leveren JSON.
Door specifieke interfaces uit te voeren, verstrekken de Modellen van het Sling de informatie noodzakelijk aan SPA. De levering van de JSON-gegevens wordt omlaag gedelegeerd aan elke component (van pagina, alinea, component, enzovoort).
Elke component kiest wat het blootstelt en hoe het (server-kant met HTML of cliënt-kant met React) wordt teruggegeven. Dit artikel richt zich op client-side rendering met React.
-
Het model kan pagina's ook groeperen zodat ze synchroon worden geladen, waardoor het aantal pagina's dat opnieuw moet worden geladen, afneemt.
In het voorbeeld van de WKND SPA Project-app worden de pagina's
home
,page-1
,page-2
enpage-3
synchroon geladen, aangezien bezoekers doorgaans alle pagina's bezoeken.Dit gedrag is niet verplicht en is volledig definieerbaar.
-
Om dit verschil in gedrag te bekijken, laad de pagina opnieuw en ontruim de netwerkactiviteit van de ontwikkelaarshulpmiddelen. Navigeer naar
page-1
in het paginamenu en controleer of de enige netwerkactiviteit een aanvraag is voor de afbeelding vanpage-1
.page-1
zelf hoeft niet te worden geladen.
Interactie met de Redacteur van het KUUROORD interaction-with-the-spa-editor
Gebruikend de steekproeftoepassing van het Project van WKND SPA, is het duidelijk hoe app zich gedraagt en wanneer gepubliceerd wordt geladen, gebruikend inhoudsdiensten voor JSON inhoudslevering en asynchrone lading van middelen.
Bovendien, voor de inhoudauteur, is de inhoudsverwezenlijking die een redacteur van het KUUROORD gebruikt naadloos binnen AEM.
In de volgende sectie zullen wij het contract onderzoeken dat de Redacteur van het KUUROORD toestaat om componenten binnen het KUUROORD met de componenten van AEM te relateren en deze naadloze het uitgeven ervaring te bereiken.
-
Laad de toepassing van het Project WKND SPA in de redacteur en schakelaar aan wijze van de Voorproef.
http://<host>:<port>/editor.html/content/wknd-spa-react/us/en/home.html
-
Controleer de inhoud van de pagina met de ingebouwde ontwikkelaarsgereedschappen van uw browser. Selecteer met het selectiegereedschap een bewerkbare component op de pagina en bekijk de details van het element.
De component heeft een nieuw gegevenskenmerk
data-cq-data-path
.Bijvoorbeeld
data-cq-data-path="/content/wknd-spa-react/us/en/home/jcr:content/root/responsivegrid/text
Met dit pad kunt u het contextconfiguratieobject van elke component ophalen en koppelen.
Dit is het enige prijsverhogingsattribuut dat voor de redacteur wordt vereist om dit als editable component binnen het KUUROORD te erkennen. Gebaseerd op dit attribuut, zal de Redacteur van het KUUROORD bepalen welke editable configuratie met de component wordt geassocieerd, zodat het correcte kader, de toolbar, etc., wordt geladen.
Bepaalde specifieke klassenamen worden ook toegevoegd voor het markeren van plaatsaanduidingen en voor het slepen en neerzetten van elementen.
note note NOTE Dit is een gedragswijziging van gerenderde pagina's aan de serverzijde in AEM, waar een cq
-element is ingevoegd voor elke bewerkbare component.Deze benadering in KUUROORD verwijdert de behoefte om douaneelementen te injecteren, die slechts een extra gegevensattribuut verlaten, makend de prijsverhoging voor de frontend ontwikkelaar eenvoudiger.
Volgende stappen next-steps
Nu u het uitgeven van het KUUROORD ervaring in AEM begrijpt en hoe een KUUROORD op de Redacteur van het KUUROORD betrekking heeft, neem een diepere duik in het begrip hoe een KUUROORD wordt gebouwd.
- Begonnen het Worden met SPAs in AEMtoont hoe een basisKUUROORD wordt gebouwd om met de Redacteur van het KUUROORD in AEM te werken
- het Overzicht van de Redacteur van het KUUROORDgaat in meer diepte in het communicatie model tussen AEM en het KUUROORD.
- het ontwikkelen SPAs voor AEMbeschrijft hoe te om front-end ontwikkelaars in dienst te nemen om een KUUROORD voor AEM te ontwikkelen en hoe SPAs met de architectuur van AEM in wisselwerking staat.