Book Image

Mastering Adobe Commerce Frontend

By : Jakub Winkler
Book Image

Mastering Adobe Commerce Frontend

By: Jakub Winkler

Overview of this book

Navigating the frontend realm of the Adobe Commerce platform can often feel like a labyrinth, given its multifaceted systems and intricate layering. This book demystifies Adobe Commerce frontend development, guiding you through its paths with clarity and precision. You'll learn how to set up your local environment, paving the way for a smooth development experience and navigate the platform's theming ecosystem, exploring layout XML systems and the power of templates. As you progress through the book, you'll leverage an array of JavaScript libraries and frameworks that Adobe Commerce boasts of, with special emphasis on RequireJS, jQuery, Knockout.JS, and UI Components. Additionally, you'll gain an understanding of the intricacies of Adobe Commerce CMS, explore frontend-related configurations in the admin panel, and unlock the secrets of frontend optimization. Practical exercises provided in the book will enable you to create top-notch Adobe Commerce sites that are functional, optimized, user-centric, and a step ahead in the ever-evolving frontend landscape.
Table of Contents (18 chapters)

A quick introduction to LESS files

LESS is one of two popular ways of creating CSS files for web pages. The other one is SASS. They have different strengths and characteristics. The AC core team picked LESS files with Grunt (and PHP) as the tool for compilation when the platform was created. The following are the main benefits of using LESS files over CSS files:

  • Nested syntax
  • Variables
  • Mixins
  • Modularity
  • Functions and operations
  • Compilation

Let’s look at each of these in a bit more detail.

Nested syntax

Let me start with the one that makes the code clear and easy to read. Let us look at the CSS first:

@media print {
    div.main .container .left-column {
        width: 20%;
    }
    div.main .container .left-column .product-wishlist {
        border: 1px solid silver;
    &...