It has been more than 5 years since the release of the Magento 2 version, plus the introduction of Magento PWA Studio has changed the e-commerce market a lot.
This trend has caused the concept of a Magento 2 front-end developer to be completely refactored. If you are looking to enter the world of Magento front-end development, there is much more to you than simply submitting an application. You need a plan.
This article was written with the purpose of bringing you all the problems around “this world” that no one has told you about.
Let’s check it out!
I. What is a Magento 2 Front End Developer?
1.1. Magento 2 Front End Developer
Before learning about Magento 2 Front end developers, let’s clarify about front-end developers first.
In a nutshell, a front-end developer is a person who creates the “look” on the screen of websites and web applications. Everything that we can see, touch, and interact with on the web screen is the result of Front end developers.
It is so simple to understand, but it must be recognized that there have been too many changes within only a decade since Magento exploded. This directly affects the requirements as well as the way Magento Front end developers work, forcing them to constantly change and update in accordance with the wishes of employers.
1.2. Magento 2 front end developer job description
Basically, if a Front end developer is responsible for designing the external interfaces of a website, then the Magento 2 Front end developer will be responsible for the on-screen appearance of Magento stores.
Their main goal is to optimize the system, providing the best user experience without errors or downtime. Also, customize tools and platforms to adapt to real-world usage scenarios.
They will create and customize themes, layouts, templates, JS, CSS, etc to make things appear on the screen of web and mobile applications such as products, and product widgets. Besides, also coordinate with the Back-end and other departments to understand the product as well as build and design new functions to ensure the correct implementation of the project’s requirements.
II. Reasons To Become A Magento 2 Front End Developer
2.1. Magento 2 Front End Developer demand
The boom of Magento in recent years makes the demand for Magento developers also increase rapidly.
The consecutive appearance of Magento 2 and PWA caused a big upheaval in the entire Magento development industry. Especially for Magento front-end developers, all the previous concepts and understandings of Magento Front End are reset.
Therefore, finding a Magento 2 Front End Developer with solid knowledge, and keeping up with the trend of the times is more interested by companies than ever.
2.2. Magento 2 Front End Developer salary
Currently, there is no official figure that statistics the average salary of a Magento 2 Front end developer worldwide.
According to Indeed, the average salary for a Magento developer is $105,946 per year and $102,221 per year for a Front-end developer in the United States(updated on May 8, 2022).
As can be seen, the average salary of a Magento 2 Front end developer will be around $105 a year, an impressive number.
2.3. Challenges at work
As mentioned, the appearance of PWA has completely changed the concept and understanding of previous people about a Front end developer.
Being a Magento 2 front-end developer, you don’t just focus on styling page elements or implementing image series as before. Instead, you need to learn more about the entire user interface architecture of Magento – an ever-changing and innovative platform in the e-commerce industry.
This will help you to have constant challenges at work, and always have access to the latest knowledge not only about programming, about Magento but also about products and customer tastes for each type of item. that you will encounter during your work.
III. Magento 2 Frontend Development Workflow
3.1. NMP and Grunt
The reason is due to the rich Grunt ecosystem, a large number of plugins, and good support for automatic running of tasks, especially Compile LESS file with Grunt when CSS is not updated outside the front end.
Install NMP somehow ( for valet users on mac os you can do brew install NMP). After NMP install, you’ll be able to use Grunt.
In the root of your Magento store, You can follow these instructions to set up a front end workflow: Compile LESS using Grunt
3.2. A word about “client-side vs server-side” rendering
In the Magento application, there are 2 modes of compiling .less files to CSS are implemented:
- Server-side Less compilation.
This is the default compilation mode, the compilation is done on the server, using the Less PHP library.
- Client-side Less compilation.
This mode allows you to tell Magento to compile .less files in the browser using the native less.js library.
The client’s workflow is quite similar to the server’s. However, since the LESS files on the client are compiled after each page reload, it can generate too large JS files and degrade the store’s performance.
Compilation mode setup steps:
Step 1: Login to admin panel, go to Store > Settings > Configuration > ADVANCED > Developer.
Step 2: Open the Store View drop-down menu > Default configuration option.
Step 3: Expand Frontend development workflow section > Workflow Type field > select compile mode
Step 4: Save the changes.
Read more: https://devdocs.magento.com/guides/v2.4/frontend-dev-guide/css-topics/css-preprocess.html
3.3. Developer mode vs production mode.
3.3.1. Developer mode
This mode is usually used when you are extending or customizing Magento mode.
3.3.2. Production mode
This mode is typically used when it is deployed to a production server after optimizing the server environment.
Providing all required static files instead of forcing Magento to dynamically locate and copy static files as required at runtime improves performance significantly
Read more: https://devdocs.magento.com/guides/v2.4/config-guide/bootstrap/magento-odes.html
3.4. Grunt commands: exec, less, watch
First, configure your custom theme
- Grunt exec
- Grunt less
- Grunt watch
If you add or remove a file, or update an @import you must run these: Grunt exec, bin/magento cache: clear and run the watch (or less) command
And we will be using grunt commands when we are in the development mode, not in production mode.
@magento_import is a Magento-specific LESS directive. It is used to gather files with the same name from different locations or different modules. The @import directive includes a single file found under the static file fallback.
@magento_import can only be used in the theme’s source files.
Read more: https://devdocs.magento.com/guides/v2.4/frontend-dev-guide/css-topics/css-preprocess.html
3.6. Mobile-first and breakpoints.
Mobile-first means your mobile styles are written first, with no media query. Then you write tablet, desktop, whatever larger ones in min-width media queries.
In Magento 2 you should not use normal media queries. Magento splits mobile and desktop styles into 2 files l-styles.css and m-styles.css. So, you have to use the Magento media queries to make them show in the right files.
3.7. Adding tablet layout to a theme that extends from Luma or Blank.
Luma and blank only have breakpoints for desktop and mobile, so adding a tablet layout can be tricky. Because they switch from mobile to desktop. So, you want to make a custom mixin (less “function”) and add it to your responsive.less file inside of @media-target = ‘mobile’.
3.8. Magento media queries
The themes Blank and Luma are based on UI Magento libraries. This UI library uses CSS3 media queries, an extension of the @Media rule to adjust the layout with the width of the screen and compare it with the media query condition.
Read more: https://devdocs.magento.com/guides/v2.4/frontend-dev-guide/responsive-web-design/rwd_css.html
3.9. Extras:— Fontello.— SVG Icons vs font icons.
Fontello is an open community project that allows the Developer to use free fonts on their list. It allows you to choose from thousands of different icons and download them to create your own font package.
SVG icon vs font icon: which is better?
It is an ending question for the past decade. Simply say, creating ahead icons is great for developers and it has many advantages such as moving quickly and putting the icon on the website. But if you have like a big-budget and you want everything to be done perfectly, the SVG icon is the way to go.
In addition, you cannot upload SVG to Magento. It is like a security problem. Therefore, it must be made from the theme website or you have to add a module.
IV. Steps to becoming a Magento 2 Front End Developer
4.1. Steps to become a Magento 2 Front end developer
Becoming a Front end developer needs too much knowledge and skills. But let’s learn it in parallel with the following 3 steps:
Step 1: Master the core web languages.
Besides, they also need to learn about different applications, Web Frameworks, Version Control systems, and also server and client databases, … to integrate and develop front-end programming easier.
Step 2: Continuous learning
The world of front-end development is constantly changing and there are lots of updates. The more you understand and know about programs and applications, the more freedom you can create as you like.
You can learn from:
– Certificate exam
– Online courses
– Learn from the experts
– Open-source platform
Step 3: Practical application.
The easiest way to learn and check if you have memorized it or not is to work with it. You can join a company to learn an apprenticeship. In addition, you should join in talks, seminars as well as forums to discuss, practice, and express your thoughts more.
This will help you learn a lot of new things as well as review old knowledge
4.2. Advice from experts
Everyone has their own clock. You will not only read new knowledge but master a skill. The best way, of course: Practice.
However, this is not what you want to have real work for you to do.
Set yourself small daily goals like today will build a new module related to this extension. In addition to reading knowledge around that module: in terms of language, about Magento, … Find a big website that is doing that product, compare with the original code, read the comments, refer to the forums, …
Make sure that task is completed, split daily tasks:
– Add product utilities on the Magento store homepage.
– Add a static block on the sidebar of the product portfolio
– Create a custom tab on the product portfolio page
– Add a new page when ordering
– Automatically display mini windows when adding products to the cart.
Believe me, then one day you will see your knowledge and skills increase rapidly. At that time, boldly apply to the Agency Magento to fight. Magento Frontend Development World always welcomes you
V. Courses of Magento 2 front end development tutorial
As mentioned above, to become a Magento 2 Front end developer, you need to keep learning. You can learn from Online courses, Learn from the experts, or from Open-source platforms. So what are those sources specifically? This is a question that must be of interest to many people, especially those who are just starting to learn and want to become a Magento 2 Front end developer.
This article will show you some of the most reputable and quality sources:
5.1. Official Magento channel – Magento Dev docs
First, learn from the official Magento channel – Devdocs. Some knowledge beginners should not ignore such as:
– Magento Frontend Developer Guide: This document provides background information such as instructions for creating and installing Magento custom storefront themes, how to render content, as well as the system view layer for building topic building.
– UI Component Guide: This document will guide you to use the Magento_UI module to design and display the user interfaces in a simple and flexible way.
– Admin Pattern Library: This document teaches you how to use patterns, enhancing the customer experience through maintaining consistency and ease of use.
5.2. Online Courses of Magento 2 front end development tutorial
For online courses, I would recommend looking for courses on Magento, or because of your coding skills on this platform, it will be much more effective. Some courses about Magento such as:
- Magento U – Core theme principles: A place where you can find all the foundation to advanced knowledge related to Magento development
- Mage2TV: It will give you a detailed overview of Magento’s core files, from the checkout system to the UI components.
5.3. Community Network
You can find all of the things about Magento 2 Front-end Developer in Community Network. Some websites like:
5.4. Online workshop and training
- Follow some celebrities like Joseph Maxwell, Lukasz Bajsarowicz, or John Hughes.
- Agencies, and developers offering workshops: Integer.net, MageMastery or Magenticians
In addition, try to be more active on social networks like Linkedin and Twitter, you will be able to get more opportunities and unexpected relationships.
VI. Is the Magento 2 Front-end Certification essential?
The Magento 2 front end developer certification is sustainable evidence of expertise and meets all the requirements of using standard frameworks such as Knockout.js, JQuery, and Requi.js the developer.
This exam is for the developer of the Magento 2 user interface with at least 1.5 years of experience with Magento 2.
To achieve certificates, developers of Magento Frontend must pass a test to prove their professional knowledge about the theme component of Magento as well as the ability to develop and modify the user interface.
This certificate does not say it all. But it is also a tool, a piece of evidence that has been verified for your ability when applying for the recruitment. Therefore, owning a Magento 2 front end developer certification is absolutely necessary
VII. Last words
Becoming a Magento 2 Developer is not a simple thing. There are challenges, difficulties, and new horizons of knowledge waiting for you ahead.
Hope this article has provided you with objective views and tips so that you can clearly orient your path before entering the world of Magento 2 Front end developer.