Working on Magento 2, customizing, developing and debugging can be really tedious. Let’s have a look at ScandiPWA that resolves most of these issues.

What is ScandiPWA?

With the release of Magento 2.3, PWA studio has become available. These features include support of GraphQl which is a real help in creating a progressive web application.

Having the privilege of working with Scandiweb in the past, I know there are many great developers and engineers. With that in mind I was not sceptical at all about installing their open source product ScandiPWA.

Yes, it is a brand new technology when it comes to Magento which comes with a different approach than standard Magento 2 development patterns. But nonetheless installation has been successful.

ScandiPWA is a new theme for Magento 2 which purpose is to load a React application which serves as M2 storefront. This means that you can use the logic of Magento 2 together with a PWA application without the need to have any middleware such as Node.js servers.

Awesome features

ScandiPWA brings awesome features to the development table and the first one is obvious: React. 

Try comparing React to Knockout.js in standard Magento 2 themes. Impossible, right? Using React as a storefront for Magento 2 is a great idea since React has the stability, maintainability and customization options ready to be served for top-notch Magento 2 websites.

Every part of the ScandiPWA can be customized and changed to serve anyones needs. Plus you can use a variety of React modules to enhance the application such as dynamic sliders, google maps, etc.

Is overriding a problem in Magento 2 theme?

Talking about standard Magento 2 themes, then the answer is a definite YES. A lot of files are changing a lot of different files, dependency injection and require in knockout.js. These are just examples on the top of my head which needs to be taken into consideration when customizing.

Changing anything in the ScandiPWA itself is pretty straightforward. You either extend a React module since everything is class based, or override the whole file with your functionality. The latter might be more demanding when performing update to newer ScandiPWA version since you have to go through the changelog and see what changed.

Hey, the customer needs some changes in the checkout!

These words have been a nightmare to any Magento 2 developer. Checkout is sacred and one ought not to touch it! Changes in checkout were always a pain and many prayers have been heard about changing a single line of code and not breaking the whole checkout process.

With ScandiPWA it is a different story. Everything is logically placed and all the files in checkout make sense. Adding even more complex functionality like store locator and store delivery is now a task for hours rather than days or weeks.

ScandiPWA is the way to go

Since we have implemented this masterpiece into our SaaS platform I have more than 3 months experience with ScandiPWA and every day using it I learn something new about the logic of the application and React.

Developing anything within the app is way more fun than changing stuff in knockout.js or even backend PHP. It just works!

If you are interested in new technologies, give ScandiPWA a try. There is documentation that is being regularly updated and if you find yourself lost, there is even a Slack channel where guys or the community (myself included) can help you start using this brilliant piece of software. See you there!