💸
Shopify
  • Modular Shopify Storefront
  • Supported Features
  • Architecture
    • Modularity
    • Extensibility
    • Structure
    • Framework
    • Documentation
    • Typings
  • Solutions
    • SortedMap & SortedRenderMap
    • Query Controller
  • Packages
    • @scandipwa/shopify-checkout
      • Internal Structure
    • @scandipwa/shopify-checkout-line-items
      • Internal Structure
    • @scandipwa/shopify-checkout-web
      • Internal Structure
    • @scandipwa/shopify-collections
      • Internal Structure
    • @scandipwa/shopify-collections-products
      • Internal Structure
    • @scandipwa/shopify-customer
      • Internal Structure
    • @scandipwa/shopify-product-tags
      • Internal Structure
    • @scandipwa/shopify-product-variants
      • Internal Structure
    • @scandipwa/shopify-products
      • Internal Structure
    • @scandipwa/shopify-shop
      • Internal Structure
Powered by GitBook
On this page

Was this helpful?

  1. Architecture

Framework

PreviousStructureNextDocumentation

Last updated 4 years ago

Was this helpful?

The has been chosen as a framework to build on-top-of for this project. The toolchain (a subject to change) was used to achieve the extensibility and modularity required. The breakdown of this decision is as follows:

  • An application does not have support SSR (Server Side Rendering) implementation - thus the pre-renderers like must be used. This affects SEO and Google synthetic audit metrics - which can lead to lower rankings.

  • An application uses react-router-dom for routing. The package @scandipwa/router contains Router and Switch components declarations, which other modules can inject into.

  • To inject different types of providers and application wrappers (i.e. Router, Global Context). The package @scandipwa/framework contains App Component declaration and react-dom rendering logic.

Heads up!

The framework is subject to change. To circumvent the lack of SSR this project is in the progress of migration to framework.

CRA (Create React App)
CSA (Create ScandiPWA App)
prender.io
NextJS