API Preference Guidelines
AEM is built on the following four primary Java API sets in descending order of preference.
Priority | API | Description |
---|---|---|
1 | Adobe Experience Manager as a Cloud Service | Product abstractions such as pages, assets, workflows, and so on. |
2 | Apache Sling | REST and resource-based abstractions such as resources, value maps, and HTTP requests. |
3 | Apache Jackrabbit Oak | Data and content abstractions such as node, properties and sessions. |
4 | Apache Felix | OSGi application container abstractions such as services and (OSGi) components. |
If an API is provided by AEM, prefer it over Sling, JCR, and OSGi. If AEM doesn’t provide an API, then prefer Sling over JCR and OSGi.
For details of these guidelines, see the document Understand Java API Best Practices.
AEM Delivery and Content Management Services and APIs
AEM offers customizable components and content delivery options.
Feature | Description |
---|---|
The Core Components | Standardized Web Content Management (WCM) components for AEM to speed up development time and reduce maintenance cost of your websites |
JSON Exporter | Deliver the contents of any AEM page in JSON data model format |
Enabling JSON Export for a Component | Generate JSON export of component content based on a modeler framework |
Content Fragment and Content Fragment Model OpenAPIs | Content Fragment and Content Fragment Model OpenAPIs |
AEM REST OpenAPI for Content Fragment Delivery | A HTTP REST API on AEM Edge Delivery Services, designed to deliver structured content from Content Fragments in JSON format. |
Content Fragment GraphQL API | Enable the efficient delivery of Content Fragments to JavaScript clients in headless CMS implementations |
Assets API | Allows for create-read-update-delete (CRUD) operations on assets, including binary, metadata, renditions, and comments. See AEM Assets HTTP API |
Content Fragments HTTP API | Access Content Fragment content directly over the HTTP API via CRUD operations |
Content Fragments Assets HTTP API | Exact format of supported HTTP asset requests |
See AEM APIs for Structured Content Delivery and Management for an overview of the various APIs available and comparison of some of the concepts involved.
SPA-Specific APIs
AEM Single-Page Application (SPA) Editor SDK framework provides specific JavaScript API references.
API | Description |
---|---|
Component Mapping | Provides a way for the Single Page Application to map front-end components to Adobe Experience Manager resource types (AEM Components) |
Page Model Manager | An interpreter between Adobe Experience Manager Editor and the Adobe Experience Manager Single Page Application (SPA) Editor |
React Editable Components | Provides the React components and integration layer to get you started with the Adobe Experience Manager Site Editor |
Angular Editable Components | Provides the Angular components and integration layer to get you started with the Adobe Experience Manager Site Editor |
Check out the SPA Introduction and Walkthrough for more information on single-page applications.
recommendation-more-help