You're viewing help content for version:

Best Practices for Developers - Getting Started

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:

Additional Best Practices Information

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 touch-optimized UI.

Touch-optimized UI: Concepts

Touch-optimized UI: Structure

These documents provide an overview of the concepts, and structure, of the touch-optimized UI.
Touch-optimized UI: Customizing consoles  Customizing touch-optimized UI consoles This document describes the best way to extend the consoles for the touch-optimized UI.
Touch-optimized UI: Customizing page authoring Customizing touch-optimized UI page authoring Describes how to extend page authoring for the touch-optimized 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

This work is licensed under a Creative Commons Attribution-Noncommercial-Share Alike 3.0 Unported License  Twitter™ and Facebook posts are not covered under the terms of Creative Commons.

Legal Notices   |   Online Privacy Policy