» Danta Overview
» What it is?
Danta is a multi platform scripting engine that separates presentation and business logic, specially created for clients who build applications for Digital Marketing and eCommerce platforms. Danta ensures quality, accelerates delivery, and reduces the total cost of ownership for your eBusiness platforms, including AEM, Jahia and elasticpath (EP).
Danta is 100% compatible with anything else developed in AEM, regardless of the language used. This means that Danta components can be used with templates and components written in JSP, Sightly, ECMAScript, or any other language supported by AEM. In addition to AEM, Danta is compatible with Jahia CMS, having a specialised bundle that handles core interactions with specific functionalities of Jahia.
Danta provides the following business benefits:
- Accelerates implementation time
- Lowers development costs
- Better and consistent quality to lower maintenance costs
- Maximizes object re-use
- Lower Total Cost of Ownership
- Multiplatform compatibility
» Philosophical justification
Danta offers true separation of concerns between presentation and business logic. In all of the cases, the concept that each layer must be treated as an isolated domain of skills, knowledge, and processes is confused with simply removing inline scripting. They assume that the solution is to merely prevent any way to mix large chunks of back-end code (e.g. Java) with the front-end presentation (e.g. HTML), and end up completely missing the point.
Danta never requires a developer specializing in one domain to worry about intrusion from unrelated domains. For the presentation layer, Danta leverages the semantics of Handlebars, a language well known to front-end developers and widely adopted across the industry (including within parts of AEM). The back-end layer provides a simple Java interface to implement, and never exposes the option to breach another domain.
So we can say that, it allows front-end developers to focus on producing the best HTML, and back-end developers to concentrate on producing the best Java.
» Intentional lack of extensibility
Danta, is intentionally designed with no way to modify or extend the directives available to the presentation. This means that it's impossible for back-end functionality to intrude into presentation, so there's no need to constantly build complex tests for every code update.
Even more important, no modification of either the presentation or back-end logic will ever expose an exception or any other kind of failure to end users. The worst that could happen is addressing a nonexistent value returns a blank result.