Yireo - Developer training

Open main menu

Hyvä Themes

Push the Magento fronteer

Push the Magento fronteer

Hyvä Themes is quickly gaining ground in the Magento community and for a logical reason: The Luma theme with its bad performance, huge complexity and outdated libraries is replaced with a fresh stack of AlpineJS and TailwindCSS. With our training, you get the perfect kickstart so you can get the max out of your new Hyvä projects.

Jisse Reitsma

Your teacher will be Jisse Reitsma

This training will be held with Jisse Reitsma as your guide. Jisse is the founder of Yireo, three times Magento Master, member of ExtDN, trainer and author. Jisse has been in the Magento ecosystem since the beginning (v0.99) and has created numerous Magento extensions. He also has been pushing better coding practices, like CI/CD, clean coding, coding standards and testing.

Pick the learning method that fits you best

Because everyone has different needs


On Demand

  • Full access to this course with 81 lessons with 10+ hours of video
  • Student notes (324+ pages)
  • Learn at your own pace
for 1 year
per individual


  • On-Demand package of this course
  • Teacher support via email & slack
  • Prioritized requests for new lessons
  • Get the personalized help that you need
for 1 year
per individual


  • On-Demand package of this course
  • Economical for groups of 5 and more
  • Freely debate company-specific topics
  • Online or on-site at your company

Custom price

per training day
per agency

There are no scheduled live trainings available

At this moment, there are no trainings scheduled in our agenda. However, we are always busy with planning more, so make sure to check out our online agenda. Alternatively, checkout our on-demand content or feel free to contact us for a custom in-company training.

Current video lessons in one single view

We are constantly updating our courseware, but the following is a real-life snapshot

Introduction to Hyvä Themesfree12m 37s
Overview of Hyvä theme packagesfree16m 39s
Overview of Hyvä modulesfree06m 01s
Hyvä adminfree05m 41s
Assignment: Install Hyva Admin   n/a
Project kickstart   10m 41s
Requirements for Hyväfree06m 32s
Assignment: Prepare your Magento environment for Hyva   n/a
Development tools for Hyvä   06m 41s
Assignment: Install of the relevant development tools   n/a
Installation of Hyvä packages   12m 00s
Assignment: Install Hyva   n/a
Assignment: Remove the demo content   n/a
Creating a new Hyva theme   13m 16s
Assignment: Create a new Hyva theme   n/a
Extending the `Hyva/default` themefree20m 31s
Discovering the theme   15m 20s
Using browser syncingfree06m 52s
Introducing Tailwind CSS   19m 00s
Quick start without Hyva   23m 49s
Assignment: Kickstart a simple non-Magento app using Tailwind   n/a
Using Windy for Tailwind CSS developmentfree03m 00s
Hyvä build modesfree06m 12s
Tailwind configuration filefree10m 03s
Configuring breakpoints   12m 49s
Configuring colors   17m 17s
Tailwind and PostCSS   06m 54s
Optimizing CSS classes   22m 16s
Purging Magento modules   n/a
Configuring fontsfree13m 36s
Tailwind plugins   05m 49s
Using the prose plugin   11m 23s
Assignment: Make sure your WYSIWYG output displays properly   n/a
Using apply   04m 49s
Tips and tricks   n/a
Just-In-Time compilation   14m 17s
Hyva_CmsTailwindJit modulefree13m 46s
Tailwind 3 upgrade   n/a
Using PHPStorm for Tailwind development   04m 14s
Using ViewModels   14m 13s
Creating a ViewModel for Hyva   10m 14s
Assignment: Create a ViewModel   n/a
Working with icons   n/a
Introducing AlpineJSfree04m 35s
Basic syntaxfree17m 08s
`x-model` directive   05m 21s
Magics   01m 54s
The `$el` magic   01m 31s
The `$nextTick` magic   05m 13s
`x-ref` directive   06m 26s
Watching variables   03m 49s
`x-cloak` directive   03m 50s
`x-spread` directive   04m 14s
Nested data   n/a
State management in AlpineJS   03m 47s
Copying a slider from alptail   19m 45s
Events in AlpineJS   09m 39s
Hyva private content   27m 27s
Depending on `window.hyva`   04m 00s
Mixing AJAX call with events   n/a
Loading a CMS Block via GraphQL   34m 59s
Checkout optionsfree11m 35s
Hyvä React checkoutfree06m 50s
Customizing the React checkout   11m 08s
Fixing the cart ID   04m 11s
Fix duplicate React versions   03m 14s
Fix the vendor folder   03m 55s
Overriding components   06m 11s
React or Preact developer tools   06m 08s
React checkout architecture   24m 15s
Using context in the React checkout   n/a
Using the React checkout in production   n/a
Dealing with CORS issues   n/a
Compatibility modules   07m 50s
Rewriting Luma scripts to Alpine   07m 23s
Using compatibility modules   08m 05s
Creating a custom compatibility module   24m 07s
Converting an Example Widget module   20m 06s
Introduction to Hyvä widgets   n/a
Performance tuning   n/a
Setting equal heights   n/a

These videos are available as an On-Demand video training (with notes). See the pricing for details.

These are the options we give you:

At your place or ours?

Everyone learns at her/his own pace. We provide both in-house training and public training throughout Europe - whatever suits your team best. When 3 or more developers are attending, a custom training is often more economical. Contact us for more details.

You'll get courseware

Every workshop is accompanied with official Yireo coursematerial. Attendees are sent a digital version of this material after the training. It contains slides, comments and references. Additionally, our GitHub repos contain numerous more code samples.

Online classrooms

Online trainings are also our training: Via Zoom or Google Hangout sessions, our teacher is able to connect with your team. The benefit here is that the team is able to connect from various places itself as well, timeframes are more flexible. Afterwards, a video recording will be shared with all attendees for reference.

On-demand self-paced training

This training is also available as an On-Demand training: Via numerous video lessons, including accompanying student notes (equalling a book on their own), you'll learn about the topics in your own pace. And when you bump into questions, you can fall back to the teachers guidance.

This training is part of the following series

so that we'll be able to guide you all the way, step by step

Why Yireo?

  • Professional trainings at affordable prices
  • Active with numerous open source projects
  • Passionate, enthousiastic, knowledgable

We have trained 5000+ developers in numerous disciplines since 2005

Training topics

  • Introduction to Hyvä Themes
  • Overview of Hyvä theme packages
  • Overview of Hyvä modules
  • Hyvä admin
  • Assignment: Install Hyva Admin
  • Project kickstart
  • Requirements for Hyvä
  • Assignment: Prepare your Magento environment for Hyva
  • Development tools for Hyvä
  • Assignment: Install of the relevant development tools
  • Installation of Hyvä packages
  • Assignment: Install Hyva
  • Assignment: Remove the demo content
  • Creating a new Hyva theme
  • Assignment: Create a new Hyva theme
  • Extending the `Hyva/default` theme
  • Discovering the theme
  • Using browser syncing
  • Introducing Tailwind CSS
  • Quick start without Hyva
  • Assignment: Kickstart a simple non-Magento app using Tailwind
  • Using Windy for Tailwind CSS development
  • Hyvä build modes
  • Tailwind configuration file
  • Configuring breakpoints
  • Configuring colors
  • Tailwind and PostCSS
  • Optimizing CSS classes
  • Purging Magento modules
  • Configuring fonts
  • Tailwind plugins
  • Using the prose plugin
  • Assignment: Make sure your WYSIWYG output displays properly
  • Using apply
  • Tips and tricks
  • Just-In-Time compilation
  • Hyva_CmsTailwindJit module
  • Tailwind 3 upgrade
  • Using PHPStorm for Tailwind development
  • Using ViewModels
  • Creating a ViewModel for Hyva
  • Assignment: Create a ViewModel
  • Working with icons
  • Introducing AlpineJS
  • Basic syntax
  • `x-model` directive
  • Magics
  • The `$el` magic
  • The `$nextTick` magic
  • `x-ref` directive
  • Watching variables
  • `x-cloak` directive
  • `x-spread` directive
  • Nested data
  • State management in AlpineJS
  • Copying a slider from alptail
  • Events in AlpineJS
  • Hyva private content
  • Depending on `window.hyva`
  • Mixing AJAX call with events
  • Loading a CMS Block via GraphQL
  • Checkout options
  • Hyvä React checkout
  • Customizing the React checkout
  • Fixing the cart ID
  • Fix duplicate React versions
  • Fix the vendor folder
  • Overriding components
  • React or Preact developer tools
  • React checkout architecture
  • Using context in the React checkout
  • Using the React checkout in production
  • Dealing with CORS issues
  • Compatibility modules
  • Rewriting Luma scripts to Alpine
  • Using compatibility modules
  • Creating a custom compatibility module
  • Converting an Example Widget module
  • Introduction to Hyvä widgets
  • Performance tuning
  • Setting equal heights


Frontend developers


Skilled in HTML, CSS and JavaScript
Skilled in Magento XML layout and PHTML templating
Some basic knowledge of Tailwind CSS is a benefit

Frequently Asked Questions

There is a minimum number of attendees listed. What does this mean?

The training is only held when there is a number of attendees. This number is usually 4 but sometimes we bring this down to 2 or 3. This minimum number simply means that if a class is not "full", either you get a refund or your ticket is transferred to another date.

Jisse Reitsma

The teacher: Jisse Reitsma

Thus it came to be

When Jisse started with Magento, he already had years of experience programming in Joomla (back in the days when Joomla was actually the #1 CMS - believe it or not). Back then, open source cart solutions were lacking and Magento 1.0 brought a lot of hope.

Quickly Jisse dived into the new architecture: In 2009, he built his first extensions, among which the fundaments of a bridge between Joomla and Magento (MageBridge) and various project-specific extensions (among which payment providers and custom MVC/EAV modules).

A relieve

Over the years, he experienced what most Magento developers experienced with M1: A lot of power, but also frustration. After a couple of years, it no longer was cutting-edge and it barely adopted new developer standards. When the new Magento 2.0 alpha 1 came out, Jisse started playing with it. And he was relieved to see modern tools in its architecture: Composer, PHP namespacing, testability, CLI-driven management, proper design patterns.

Again, after building some modules and dummy projects, the first Magento 2 developer training was given in January 2017 (two months after the official release) and numerous M2 trainings have followed for both backend developers, frontend developers and devops.

Frontend sagas

Currently, with Magento 2 being several years old now, the fuzz is no longer about its backend architecture: It is the frontend that matters. Jisse has given numerous frontend development trainings, where people complain about LESS (and not SASS) being used, loading times to be slow (while in fact M2 allows for enough tuning to make it bloody fast), an archaic combo of Knockout/RequireJS (while they both serve their purpose in regards to backwards compatibility).

PWA is the new keyword. Jisse has dived into React, Redux & service workers in combination with GraphQL and NodeJS tools. He is currently working in various initiatives to help developers embrace the new frontend stack (ExtDN, Vue Storefront, DEITY). Also, he has added Docker and Kubernetes to his vocabulary.

As of yet, it is fair to say that Magento holds little surprises for Jisse. He is your guy to train you or your developers properly in both backend and frontend technology.