Show Menu
TOPICS×

HTL Use-API

HTL encourages separation of concerns by not allowing business logic to mix with markup. Business logic can be implemented through the Use-API.
The following table gives an overview of the advantages and disadvantages of each API.
Java Use-API
JavaScript Use-API
Advantages
  • Faster
  • Can be inspected with a debugger
  • Easy to unit-test
  • Can be modified by front-end developers
  • Is located within the component, keeping the view logic of a component close to its corresponding template
Disadvantages
  • Cannot be modified by front-end developers
  • Slower
  • No debugger (yet)
  • Harder to unit-test
For page components, it is recommended to use a mixed model, where all model logic is located in Java, providing clear APIs that are agnostic to anything that happens in the view (i.e. within the components). AEM comes with great default models like the Page or the Resource API that should be able to cover most cases.
All view logic that is specific to a component should be placed within that component as JavaScript, because it belongs to that component.