Adobe Engineering and Consulting teams have developed a comprehensive set of best practices for AEM developers. Adobe developer’s adhere to these best practices as they develop core AEM product updates and customer code for customer implementations.
Before you start your AEM development project, first review these best practices:
The following areas have documentation available specific to developing best practices:
Specific documents are described and linked to in the tables that follow.
For best practices on administering, deploying and maintaining, or authoring, see one of the following:
Managing and authoring your website content has some best practices outlined as follows:
|Some of the theory behind the standard, touch-enabled UI.||These documents provide an overview of the concepts, and structure, of the touch-enabled UI.|
|Touch-Enabled UI: Customizing consoles||Customizing touch-enabled UI consoles||This document describes the best way to extend the consoles for the touch-enabled UI.|
|Touch-enabled UI: Customizing page authoring||Customizing touch-enabled UI page authoring||Describes how to extend page authoring for the touch-enabled UI.|
|Workflows||Developing and Extending Workflows||
Workflows enable you to automate Adobe Experience Manager (AEM) activities and can represent a large amount of the processing that occurs in an AEM environment, so it is highly recommended to plan your workflows implementations carefully.
AEM Communities simplifies the creation and management of on-premise Communities.
Some best practices for Communities are described here:
|Best practices for working with user generated content (UGC)||Coding Guidelines||Guidelines for developing flexible, portable code for the social component framework (SCF).|
|Example usage of Communities components||Community Components Guide||An interactive development tool.|
HTML Template Language (HTL) is a new HTML templating system, introduced with AEM 6.0. It replaces JSP and ESP as the preferred templating system of AEM.
|HTL overview||HTL overview and syntax||This document describes what HTL is, how to move to HTL, a sample project, syntax, expressions, and statements|
|Using API in java||HTL Java Use-API||The HTL Java Use-API enables a HTL file to access helper methods in a custom Java class.|
Following multi-part tutorial might be of interest for the best practice to setup a new AEM project, detailing the Core Components, Editable Templates, Client Libraries and component development:
Getting Started with AEM Sites - WKND Tutorial