The language on the far side of every page the author ships on AEM: Sling and OSGi under HTL, a JCR under that. Earlier it was the front line — JSP, JSTL, and JSF views, then Camel middleware in Java and Groovy. The recurring lesson is the same one AEM teaches: the Java is where the governance lives, and the front end's job is to reach across to it as little as possible.