Imagine for a moment, that you have all been assigned to a new team within our company. We have assembled this team to take on an important web development project for our biggest customer. We recommended Adobe Experience Manager 6 (AEM 6) as the development framework for this project.
The customer, realizing the many benefits, embraces the idea. Excitement is felt by all, as we embark on this new project with Adobe’s AEM 6 platform at our side.
The project architecture is laid out by carefully structuring the business data types/models, and meticulously designing the user interface (UI) and experience. However, only about half of our team is experienced in AEM 6. The other half of the team consists of web developers experienced in front-end client side technologies. The journey begins peacefully, AEM 6 developers working on the back-end business logic and the front end web developers working on the user experience.
We have agreed on a tight deadline, and the customer wants to start seeing the server side data and user experience come together. As we begin to tie our backend data and server-side logic to our components, we are met with the inevitable. Those experienced in AEM 6 will now have to decide what logic and control must be moved, implemented, or added to the component JSPs to bind the back-end business models/data to our user experience. With every step, our JSPs become more unreadable, our components less modular, security less maintainable, and testing more unbearable. What started out as beautiful markup, backed by incredibly efficient data objects and server-side logic, is now a confusing web of embedded scriptlets, anchored to the now splintered business logic. There must be a better solution.
Welcome Adobe’s new AEM 6 Sightly framework! Sightly is Adobe’s new HTML templating engine, meant to replace JSP and ESP, as the predominate templating engine for AEM 6. Adobe’s goal with Sightly was to produce more readable, maintainable, and secure code while distinctly separating the logic and markup. In this post, we will be covering Sightly and some of the key reason why you might want to consider Sightly for your next AEM project.
If the above scenario or your own experience is not reason enough, why would you choose to start using Sightly? In a presentation from Gabriel Walt, Adobe AEM Product Manager, Adobe is approximating a 25% reduction of cost to production. The main focus is aimed at improving efficiency with component development time to production and costs. The diagram below shows where Adobe finds AEM development suffers the most. Here we see after the design of HTML/CSS/JS we have to convert it to a JSP, edit and hack it together to fit the JS and CSS, and then implementing the server-side calls and logic in the JSP. Though not every AEM component development process follows this paradigm, for most it can increase component design time and cost significantly. Given this paradigm, the workflow is a three-step process.
What if there were only two design processes? That would certainly cut down on development time and cost. With Sightly, that is now possible. Sightly is valid HTML5 markup. It is implemented through data attributes and parsed HTML text. This allows the business logic and simple UI logic or control to be elegantly separated. Shown below is a simple code snippet comparing JSP and Sightly with the same functionality.
Now, with the development split clearly into the Component front-end design and the Business server-side logic, development time and costs can be reduced. This allows your developers to focus on what they’re good at and become more efficient in their day-to-day work. When you allow the developers to focus on what they’re good at and what they enjoy, it carries across the organization and the project is completed quickly and efficiently. This allows the team to complete that tight deadline they originally agreed to at the start of the project.
Check out Part 2 of our Sightly series for more information.
If you’re in the process of optimizing or implementing your AEM solution, we can help. Reach out to our team today.