https://embed.notionlytics.com/wt/ZXlKd1lXZGxTV1FpT2lKbE9UTTVNR0U1T0dVNFltUTBPREE0WW1JeE5qZzVOR0psWmpOaE1tSXlOQ0lzSW5kdmNtdHpjR0ZqWlZSeVlXTnJaWEpKWkNJNklrbGpiM1pzV2pOcU1VUnBRM1ZUUm1WNFRtdHlJbjA9

ScandiPWA is a Client-Side-Rendered (CSR) Single Page Application (SPA) with Progressive Web Application (PWA) capabilities, built with React in Mosaic Architecture.

Untitled

How ScandiPWA interacts with Magento?

ScandiPWA is developed by Scandiweb as a replacement for Magento 2 SSR front-end. It implements a presentation for most features of Magento 2 and covering most entities (What are Magento entities?).

ScandiPWA can be used as both Magento 2 theme and a storefront. Here is what it looks like:

Untitled

As you may see, in storefront mode, ScandiPWA and Magento are hosted separately. This means that in storefront mode, ScandiPWA has SEO issues because URLs rewrites are not properly handled (What are URL rewrites?). The storefront mode is used for local development. It allows using remote Magento instances as a data source.

In Magento theme mode, the Magento is responsible for request routing. This means Magento Controllers (What is Controller?) and Magento URL rewrites (What are URL rewrites?) could be used. This allows the implementation of advanced SEO patterns.

<aside> ➡️ In production, most of the time, ScandiPWA is used in Magento theme mode.

</aside>

As a SPA (What is SPA?) ScandiPWA needs an API to retrieve the data. The GraphQl API is provided by Magento 2 (What is a GraphQL API?).