Bästa praxis best-practices
Att skapa en AEM Mobile On-demand Services-app skiljer sig från att skapa en app som körs direkt i Cordova-skalet (eller PhoneGap-skalet). Utvecklarna bör känna till
- Plugin-program som kan användas direkt, liksom AEM Mobile-specifika plugin-program.
-
Mallar som använder plugin-funktioner bör skrivas på ett sådant sätt att de fortfarande är redigerbara i webbläsaren, utan att plugin-bron finns.
- Se till att vänta på avskild innan du försöker komma åt ett plugin-programs API.
Riktlinjer för AEM utvecklare guidelines-for-aem-developers
Följande riktlinjer är till hjälp för erfarna utvecklare AEM webbplatser som vill skapa mallar och komponenter för mobilappar:
Strukturera AEM webbplatsmallar för att uppmuntra återanvändning och utbyggbarhet
-
Föredra flera komponentskriptfiler framför en enda monolitisk fil
- Ett antal tomma tilläggspunkter anges, till exempel customheaderlibs.html och customfooterlibs.html som gör att utvecklaren kan ändra sidmallen samtidigt som så lite kärnkod som möjligt dupliceras
- Mallar kan sedan utökas och anpassas via Sling sling:resourceSuperType mekanism
-
Föredra Sightly/HTL framför JSP som mallspråk
- Om du använder det här förhindrar du att koden separeras från markeringar, erbjuder inbyggt XSS-skydd och har en mer välbekant syntax
Optimera för prestanda på enheter
- Artikelspecifika skript och formatmallar ska inkluderas i artikelns nyttolast med hjälp av innehållsmallen dps-article contentsync
- Skript och formatmallar som delas av mer än en artikel ska inkluderas i delade resurser via innehållsmallen dps-HTMLResources contentsync
- Referera inte till externa skript som är renderingsblockerande
Föredra programspecifika JS- och CSS-bibliotek i klientsidan framför webbspecifika
- För att undvika att dyka upp i bibliotek som jQuery Mobile för att hantera en enorm bredd av enheter och webbläsare
- När en mall körs i en apps webbvy har du kontroll över de plattformar och versioner som appen kommer att ha stöd för, samt kunskapen om att det finns stöd för JavaScript. Använd till exempel Ionic (kanske bara CSS) framför jQuery Mobile och Onsen i stället för Bootstrap.
Föredra mikrobibliotek framför högar
- Den tid det tar att lägga in materialet i enhetens glas kommer att sänkas för varje bibliotek som artikeln/artiklarna är beroende av. Den här nedgången förvärras när en ny webbvy används för att återge varje artikel, så varje bibliotek måste initieras igen från början
- Om artiklarna inte har skapats som SPA (appar för en sida) behöver du förmodligen inte inkludera ett fullständigt stackbibliotek som Angular
- Använd mindre bibliotek med ett enda syfte för att lägga till den interaktivitet sidan kräver, till exempel Snabbklickning eller Velocity.js
Minimera artikelnyttolastens storlek
- Använd minsta möjliga resurser som effektivt kan täcka den största visningsruta ni stöder, med en rimlig upplösning
- Använd ett verktyg som ImageOptime på bilderna för att ta bort överflödiga metadata
Komma framåt getting-ahead
Mer information om de två andra rollerna och ansvarsområdena finns i resurserna nedan: