Adobe Experience Manager (AEM) is a Java based and the code we build (components, backend) is a combination of Java(majority), Javascript and HTML.
And like any other web applications, we build components in similar way (maybe a few differences) and with the exception of Java being used for backend code.
For .NET developers, if they are working with C#, then some of syntax will be familiar.
A quick summary for a .NET web application developer (not including learning the AEM platform):
- Assuming they should have knowledge on:
- HTML, CSS
- Javascript, JQuery, Ajax
- RESTful architecture, Creating and consuming REST services
- Using Github/VCS, IDE’s, project builds, deploy, Test driven development..
- Learning curve:
- Java core programming language concepts
- Thorough in Java Servlets
- Using Maven builds
- Processing JSON, Using Java Annotations, 3d party libraries like Apache Commons, several others etc.
- AEM Specific:
- Using HTL
- Apache Sling Framework
- Learning the AEM platform
- Adobe has a great collection of documentation to get started on AEM