Prácticas recomendadas best-practices
La creación de una aplicación de AEM Mobile On-demand Services es diferente a la creación de una aplicación que se ejecuta directamente en el shell de Cordova (o PhoneGap). Los desarrolladores deben estar familiarizados con lo siguiente:
- Los complementos compatibles de serie, así como los complementos específicos de AEM Mobile.
-
Las plantillas que utilizan la funcionalidad de complemento deben escribirse de forma que puedan seguir utilizándose en el explorador, sin que el puente del complemento esté presente.
- Por ejemplo, asegúrese de esperar a que deviceready antes de intentar acceder a la API de un complemento.
Directrices para desarrolladores de AEM guidelines-for-aem-developers
Las siguientes directrices ayudarán a los desarrolladores experimentados de AEM para sitios que deseen crear plantillas y componentes de aplicaciones móviles:
Estructura AEM plantillas de sitios para fomentar la reutilización y la extensibilidad
-
Preferir varios archivos de script de componente sobre uno solo y monolítico
- Se proporcionan varios puntos de extensión vacíos, como customheaderlibs.html y customfooterlibs.html, que permiten al desarrollador cambiar la plantilla de página duplicando el menor código principal posible
- Las plantillas se pueden ampliar y personalizar mediante Sling sling:resourceSuperType mecanismo
-
Preferir Sightly/HTL sobre JSP como idioma de plantilla
- El uso de esto fomenta una separación del código del marcado, ofrece una protección XSS integrada y tiene una sintaxis más familiar
Optimizar para el rendimiento en dispositivos
- La secuencia de comandos específica del artículo y las hojas de estilo deben incluirse en la carga útil del artículo, utilizando la plantilla contentsync dps-article
- Las hojas de estilo y el script compartidos por más de un artículo deben incluirse en los recursos compartidos, a través de la plantilla dps-HTMLResources contentsync
- No haga referencia a ninguna secuencia de comandos externa que sea un bloqueo de procesamiento
Prefiera las bibliotecas JS y CSS específicas de la aplicación sobre las específicas de la web
- Para evitar sobrecargas en bibliotecas como jQuery Mobile para gestionar una gran variedad de dispositivos y navegadores
- Cuando una plantilla se ejecuta en la vista web de una aplicación, usted tiene control sobre las plataformas y versiones que la aplicación va a admitir, así como también el conocimiento de que estará presente el soporte de JavaScript. Por ejemplo, prefiera Ionic (quizá solo el CSS) sobre la interfaz de usuario de jQuery Mobile y Onsen en lugar del Bootstrap.
Preferir microbibliotecas sobre pilas completas
- El tiempo que tarda en poner el contenido en la copa del dispositivo se verá ralentizado por cada biblioteca de la que dependan sus artículos. Esta ralentización se agrava cuando se utiliza una nueva vista web para procesar cada artículo, por lo que cada biblioteca debe volver a inicializarse desde cero
- Si los artículos no se crean como SPA (aplicaciones de una sola página), probablemente no necesite incluir una biblioteca de pila completa como Angular
- Prefiera bibliotecas de un solo propósito más pequeñas para ayudar a agregar la interactividad que requiere su página, como Fastclick o Velocity.js
Minimizar el tamaño de la carga útil del artículo
- Utilice los recursos más pequeños posibles que puedan cubrir eficazmente la ventanilla más grande que admita, con una resolución razonable
- Utilice una herramienta como ImageOptim en las imágenes para eliminar cualquier exceso de metadatos
Cómo avanzar getting-ahead
Para obtener más información sobre las otras dos funciones y responsabilidades, consulte los recursos siguientes: