Day 00 - AEM Developer Series

Hello everyone 👋! Welcome to the AEM developer series.

This series of blog posts aim to explain the concepts and working of Adobe Experience Manager as a content management system (CMS).

Great! But you may be asking why should I bother learning AEM in the first place? You’re absolutely right. Before we take on something, we must ask ourselves why we are doing this, and what we will get from this? Having a clear goal in mind helps us maintain our focus and doesn’t let our mind wander off.

Let’s start answering this question first.

What is AEM, and why should we give a damn?

We can all see the revolution of Digital Marketing today. Today if you ask any company what is the more important thing for them than the digital presence of their company, their answer would most likely be — NOTHING!!!

Here, we are not only talking about the big giants but also about small scale and medium scale organizations. Everyone wants to be a part of this digital revolution. And why not? It’s cool.

Legendary economist Adam Smith has explained the concept of Demand and Supply in his epic work The Wealth of Nations. According to this concept, if there is a demand, it has to be met with the supply.

Since companies wanted to have a digital marketing solution, leaders in the technology domain obliged. These technology companies started creating different digital marketing solutions. In that process, Adobe acquired Day Software for one of their niche product — Communiqué (CQ) which they later renamed as — Adobe Experience Manager (AEM).

Today Adobe is far ahead in the Digital Marketing game than its competitors.

Why this developer series?

Since AEM is in huge demand, people who know how to develop on AEM are also in huge demand. But developing on AEM is not easy because it comprises various open-source technologies such as Apache Felix (OSGi), Apache Sling, Apache Oak and Adobe’s in house technologies like Granite, HTL etc. Learning all these technologies in conjunction can be confusing and frustrating 😫.

When I first started learning AEM in 2016, I was dumbfounded to see that there is so much going on under the hood. I then spent months to gather all the resources (mostly Adobe’s official documentation) to learn about the fundamentals but to be honest it was overwhelming 😕.

Therefore, I have decided to create a series of blog posts which can help a newbie to learn this amazing product. This series is a result of my learning experience to get the knack of AEM Development. I have tried to put the posts in a logical order in which they should be learned, but you are free to start from anywhere (If you are a beginner, I’d recommend following this order).

This tutorial is compatible with AEM 6.5, but it should work without issues with AEM 6.3 and AEM 6.4 also. The only prerequisite for following this tutorial is the basic understanding of Java and JavaScript.

So what are we waiting for? Let’s dive in 😎.

Note 🏷

There is an older version of this tutorial here → AEM Developer Series. It is NOT outdated and works well with the latest versions of AEM.

Actually this was my original attempt to write this series. However, the current version is more detailed and fine-tuned.

Happy learning and Namaste 🙏.

AEM Developer Series Index

  1. Day 00 — AEM Developer Series
  2. Day 01 — Introduction To AEM
  3. Day 02 — AEM Building Blocks
  4. Day 03 — AEM Installation and Consoles
  5. Day 04 — Setup AEM Development Environment
  6. Day 05 — Develop AEM Components and Templates
  7. Day 06 — HTL and Clientlibs basics
  8. Day 07 — Sling Models
  9. Day 08 — OSGi Components and Services
  10. Day 09 — Sling Servlets Part I
  11. Day 10 — Sling Servlets Part II
  12. Day 11 — Custom OSGi Configuration
  13. Day 12 — AEM Workflows Part I
  14. Day 13 — AEM Workflows Part II
  15. Day 14 — AEM Workflows Part III
  16. Day 15 — Eventing In AEM
  17. Day 16 — Schedulers In AEM
  18. Day 17 — Granite Datasources (Dynamic Dropdown)
  19. Day 18 — Sling Jobs
  20. Day 19 — Queries In AEM Part I
  21. Day 20 — Queries In AEM Part II

Created and maintained by@Anirudh Sharma
I love to learn and share. Hence, this site has no ads, no affiliation links, or any BS. If you like what you see, give me a thumbs up.

GitHub iconMedium iconTwitter iconFacebook iconLinkedIn iconStackoverflow icon