We are considering following setup for one of our projects and I would like to poll the community on their learnings having implemented such a setup in their projects.
Our front end layer would be served by an independent application (say using Angular/ReactJS hosted on Tomcat). AEM would be used purely as a content authoring and storage medium. The Angular app (desktop and mobile) would “load/fetch” content from AEM servers (including Dispatcher in front to enable content caching).
This setup is different from what usually is seen in typical AEM deployments where the content, code and presentation layer all reside in AEM. The suggested approach is finalised for implementation and I’m aware there are projects there in the wild that use this approach. It would be great if the community could share their learnings from having implemented something similar.
- What was good or bad about this design choice?
- Are there any specific pitfalls with this approach?
- AEM would be used as a content storage and serving layer, any learnings that should be kept in mind (Authoring/end user experience)?
One challenge that immediately comes to mind is Author preview feature. How authors would be able to “preview” the pages in such a setup where the presentation layer is NOT available in AEM. Any other challenges and how did you go about solving this would be great insight.
The presentation layer is not yet finalised. It could be anything from Angular, ReactJS to any just about anyother framework. Since the choice of presentation framework could evolve to anything, we would like to focus on AEM acting as a content authoring, storage and delivery layer. There are other core systems (apart from AEM) which the app would need to talk to. And the fact that an entirely separate team would be owning the presentation stack. This decoupled architecture has benefits in that regard.
There already are AEM projects that use similar decoupled setup. I'm looking for any tradeoffs that would be made when going into such a design choice. Staying clear of any gotchas.