Early versions of Adobe Experience Manager have been limited as to the languages and frameworks that were compatible with out of the box. Now, AEM supports content authoring for Angular and React single-page applications. But what does this mean and how will you or your teams be impacted?
What is AEM SPA Support?
SPA support was first introduced as part of AEM 6.4 SP2 and was enhanced in AEM 6.5. On the Adobe Experience Manager product page, it is described as:
“Edit and manage single-page applications (SPAs) built on open-source frameworks like React and Angular with the same drag-and-drop editor you use for websites.”
At first glance, it sounds great. You have a single page application that you want to have a similar authoring experience as the rest of your AEM sites. Doing further research, you will see that Adobe/AEM has introduced a thin JS layer (AEM SPA Editor JS SDK) to allow the mapping of SPA components to AEM components.
With the addition of this JS layer to interpret SPA code, you still won't be able to natively build Angular and React applications within AEM. AEM is merely adding support for content authoring with drag and drop functionality for REACT and Angular frameworks.
If you interested in learning more about how the SPA Editor works, take a look at the Adobe’s SPA Editor Overview site.
The Good News
Adobe is acknowledging the popularity of SPAs and improving the AEM authoring experience for omnichannel content delivery with their Hybrid CMS strategy.
Once set up, it does work well and is seamless when compared to the traditional AEM authoring environment.
Challenges to Keep in Mind
Your SPA will still be paired with AEM. You will still be reliant on AEM developers to manage your projects and you will need to find skilled AEM developers who have React/Angular experience for a successful implementation, which could prove difficult.
If you are trying to enable authoring for an existing SPA your application will need to be modified/reworked to work with the AEM implementation, which could be a large unnecessary cost.
Since this feature is relativity new, documentation can a bit lacking. Adobe does a good job of providing some technical details and a demo but the information out in the community isn’t there yet.
Although I haven’t had a chance to use the SPA Editor in a real-world project, the challenges above would make me shy away from using it in production at this time.
It’s important to evaluate what tools are needed for a project, not just what’s the latest thing. If you're looking to provide content authoring for your SPA, AEM content fragments may be a good fit as it provides a nice authoring interface but does not require AEM integration aside from utilizing the Sling Model Exporter content service.
AEM’s SPA Support is something to keep an eye and I am eager to see what Adobe does with it in the future.