Yireo - Developer training

Open main menu

PWA Studio

A proper outline of Venia, Peregrine, UPWARD and much much more

A proper outline of Venia, Peregrine, UPWARD and much much more

Adobe PWA Studio is alive and kicking: It is not a one-click solution though. But that's not its goal either: It serves as a framework for React developers to build their own GraphQL-driven frontend for Magento, using the libraries within PWA Studio as a jumping point. This training guides you into working with PWA Studio and its elements.

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, partner of ExtDN, trainer and author. Since 2017, Jisse has been developing in React, building various smallish React apps, working with Magento PWA Studio, building the Yireo courseware portal in React and many other things. He is your man when it comes to exploring the possibilities of React.

Pick the learning method that fits you best

Because everyone has different needs


On Demand

  • Full access to this course with 63 lessons with 9+ hours of video
  • Student notes (351+ 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

Introducing PWAfree18m 05s
Other PWA providersfree10m 46s
PWA Studio and extensibilityfree12m 14s
Status of Magento GraphQLfree08m 50s
Architectural choicesfree16m 43s
Hybrid React solutions   12m 08s
Introduction to PWA Studiofree16m 32s
React essentialsfree09m 49s
Redux essentialsfree10m 51s
Introducing Apollo client   08m 56s
Getting started with Apollo Client   16m 10s
Making Apollo callsfree12m 12s
Including GraphQL files   15m 32s
Apollo Client v3   n/a
Minimum requirementsfree08m 59s
Development tools   05m 31s
Prepare your Magento instance   11m 43s
Installing PWA Studio   16m 27s
First look at PWA Studio   11m 38s
Configuring PWA Studio   13m 40s
Reviewing the .env file   07m 19s
Upgrading PWA Studio   15m 03s
Overview of Buildpack   08m 48s
Introducing Veniafree18m 35s
Extending Veniafree27m 04s
Overriding components with the Fooman resolver   11m 23s
Changing the logo   11m 16s
Using prices   02m 58s
mergeClasses   08m 08s
Adding a new route   07m 07s
Working with the Mask component   17m 19s
Toasting   04m 54s
Best practices with Venia   n/a
Checkout in Venia   14m 40s
css-strategies   n/a
Adding a custom Store View   n/a
Page Builder integration   n/a
Peregrine overview   04m 43s
App or RootComponent?   n/a
Talons of Peregrine   09m 59s
Example with product talon   07m 51s
Routing in PWA Studio   05m 46s
Context within PWA Studio   13m 36s
Redux within PWA Studio   11m 17s
Build it without Venia   11m 04s
Implementing Venia and Peregrine partially   09m 40s
Target interception   05m 06s
Creating a target interceptorfree08m 16s
Trusted vendors   n/a
Venia targets   09m 02s
Peregrine targets   09m 09s
Buildpack targets   09m 19s
Targetables   11m 08s
Declaring custom targets   n/a
PWA Studio extensions   n/a
Overview of UPWARDfree09m 46s
Running UPWARDfree12m 06s
UPWARD YAML configuration   09m 57s
Automatic image optimizationfree09m 29s
Running Venia without UPWARDfree12m 39s
In production   09m 43s
Server Side Rendering   16m 03s
Conclusion   01m 59s

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.

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

  • Introducing PWA
  • Other PWA providers
  • PWA Studio and extensibility
  • Status of Magento GraphQL
  • Architectural choices
  • Hybrid React solutions
  • Introduction to PWA Studio
  • React essentials
  • Redux essentials
  • Introducing Apollo client
  • Getting started with Apollo Client
  • Making Apollo calls
  • Including GraphQL files
  • Apollo Client v3
  • Minimum requirements
  • Development tools
  • Prepare your Magento instance
  • Installing PWA Studio
  • First look at PWA Studio
  • Configuring PWA Studio
  • Reviewing the .env file
  • Upgrading PWA Studio
  • Overview of Buildpack
  • Introducing Venia
  • Extending Venia
  • Overriding components with the Fooman resolver
  • Changing the logo
  • Using prices
  • mergeClasses
  • Adding a new route
  • Working with the Mask component
  • Toasting
  • Best practices with Venia
  • Checkout in Venia
  • css-strategies
  • Adding a custom Store View
  • Page Builder integration
  • Peregrine overview
  • App or RootComponent?
  • Talons of Peregrine
  • Example with product talon
  • Routing in PWA Studio
  • Context within PWA Studio
  • Redux within PWA Studio
  • Build it without Venia
  • Implementing Venia and Peregrine partially
  • Target interception
  • Creating a target interceptor
  • Trusted vendors
  • Venia targets
  • Peregrine targets
  • Buildpack targets
  • Targetables
  • Declaring custom targets
  • PWA Studio extensions
  • Overview of UPWARD
  • Running UPWARD
  • UPWARD YAML configuration
  • Automatic image optimization
  • Running Venia without UPWARD
  • In production
  • Server Side Rendering
  • Conclusion


Frontend developers


Skilled in HTML, CSS and JavaScript
Skilled with React (props, local state, hooks, routing, life-cycle)
Skilled in ES6 syntax (arrow functions, destructors, let/const)
Ability to run React on your local environment
Some knowledge of Redux, Apollo Client and GraphQL is recommended

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.