Best Practices best-practices
Das Erstellen einer AEM Mobile On-demand Services-App unterscheidet sich vom Erstellen einer App, die direkt in der Cordova- (oder PhoneGap-)Shell ausgeführt wird. Die Entwickler sollten mit folgenden Themen vertraut sein:
- Plug-ins, die standardmäßig unterstützt werden, sowie die AEM Mobile-spezifischen Plug-ins.
-
Vorlagen, die Plug-in-Funktionen verwenden, sollten so geschrieben werden, dass sie im Browser noch autorierbar sind, ohne dass die Plug-in-Verbindung vorhanden ist.
- Achten Sie beispielsweise darauf, auf die Abflussgetreide -Funktion, bevor versucht wird, auf die API eines Plug-ins zuzugreifen.
Richtlinien für AEM Entwickler guidelines-for-aem-developers
Die folgenden Richtlinien helfen erfahrenen AEM-Entwicklern für Sites, die mobile App-Vorlagen und -Komponenten erstellen möchten:
Strukturieren AEM Sites-Vorlagen zur Förderung der Wiederverwendung und Erweiterbarkeit
-
Mehrere Komponentenskriptdateien über eine einzige monolithische
- Es werden eine Reihe leerer Erweiterungspunkte bereitgestellt, z. B. customheaderlibs.html und customfooterlibs.html, die es dem Entwickler ermöglichen, die Seitenvorlage zu ändern und dabei möglichst wenig Kerncode zu duplizieren
- Vorlagen können dann über die von Sling sling:resourceSuperType Mechanismus
-
Sightly/HTL über JSP als Vorlagensprache bevorzugen
- Dadurch wird eine Trennung von Code und Markup gefördert, bietet integrierten XSS-Schutz und verfügt über eine vertrautere Syntax.
Optimieren der Leistung auf dem Gerät
- Artikelspezifische Skript- und Stylesheets sollten in die Artikelnutzlast aufgenommen werden, indem die Vorlage contentsync des Artikels dps-article verwendet wird.
- Skript- und Stylesheets, die von mehr als einem Artikel gemeinsam verwendet werden, sollten über die Vorlage "dps-HTMLResources contentsync"in freigegebenen Ressourcen enthalten sein
- Referenzieren Sie keine externen Skripte, die Render-Blocking sind
App-spezifische clientseitige JS- und CSS-Bibliotheken im Vergleich zu webspezifischen
- So vermeiden Sie Mehraufwand in Bibliotheken wie jQuery Mobile für die Verarbeitung einer großen Bandbreite von Geräten und Browsern
- Wenn eine Vorlage in der Webansicht einer App ausgeführt wird, haben Sie die Kontrolle über die Plattformen und Versionen, die von der App unterstützt werden, sowie über das Wissen, dass JavaScript-Unterstützung vorhanden sein wird. Nehmen wir beispielsweise an, dass Sie Ionic (vielleicht nur CSS) gegenüber jQuery Mobile und Onsen UI vorziehen.
Mikrobibliotheken über Vollstapel bevorzugen
- Die Zeit, die benötigt wird, um Ihren Inhalt auf das Glas des Geräts zu bringen, wird durch jede Bibliothek, von der Ihre Artikel abhängen, verlangsamt. Diese Verlangsamung wird verstärkt, wenn eine neue Webansicht zum Rendern jedes Artikels verwendet wird. Daher muss jede Bibliothek von Grund auf neu initialisiert werden
- Wenn Ihre Artikel nicht als SPA (Einzelseiten-Apps) erstellt wurden, müssen Sie wahrscheinlich keine vollständige Stapelbibliothek wie Angular einschließen.
- Verwenden Sie kleinere Bibliotheken mit einem Zweck, um die Interaktivität hinzuzufügen, die Ihre Seite benötigt, z. B. Fastclick oder Velocity.js
Minimieren der Artikelnutzlast
- Verwenden Sie die kleinstmöglichen Assets, die den größten von Ihnen unterstützten Viewport effektiv abdecken können, und zwar bei einer angemessenen Auflösung.
- Verwenden Sie ein Tool wie ImageOptim auf Ihren Bildern, um überschüssige Metadaten zu entfernen
Erste Schritte getting-ahead
Weitere Informationen zu den beiden anderen Rollen und Zuständigkeiten finden Sie in den folgenden Ressourcen: