You have seen different ways to interact with jExperience either:
- Purely from a client-side perspective using the jCustomer REST API but requiring authentication to do so, using a combination of client-side code and jCustomer plugins
- Using the personalization API
If you are building a web client, our recommended approach is the first approach since it makes for a much simpler client and avoid "leaking" the jCustomer authentication details to Jahia modules. This approach also reduces the number of roundtrip with the server and affords you greater control over what you want to accomplish.
If you are building a custom application, such as a desktop, mobile native application or an integration with a complex external web site, the personalization API is also very useful since it enables you to integrate personalized content without needing a strong integration with Jahia or jCustomer.