Closed JstrzAtW2M closed 5 years ago
Hi @JstrzAtW2M
This topic is a general summary fro a PWA application shell.
For PWA Studio storefronts, the app shell is served from a service layer that sits between the application and a Magento backend. PWA Studio provides the specs for an UPWARD server that functions as this middle tier.
You can also look through the code in the venia-concept
package to see an example of a Magento storefront built using PWA Studio tools.
Does this answer your question?
Kind of. New to pwas and this is confusing a bit to me so, trying to wrap my head around this all. You have the web app(PWA), then we need to configure the UPWARD server, then we need to create the magento backend webserver? The UPWARD server handles the app-shell although the docs say UPWARD receives requests from the app-shell. So, who is handling webrequests to the PWA, node.js server? Does this mean we'll have to have two urls, the pwa URL and the magneto backend URL.
Lets say I have a site www.mysite.com and its a magento store When a customer goes to this mysite.com are they going to just see the regular magento store? Do I have to setup another server to handle the request for mysitepwa.com? I think we'd want mysite.com to send back the app-shell requests. This sounds like we'll have to manage the website and the pwa separately, and the PWA server is managed with node.js?
In your example, www.mysite.com url would point to the UPWARD server. The UPWARD server provides the initial PWA app shell and all other requests coming from the PWA.
Most of these requests will be passed on to a Magento backend with the UPWARD server acting as a proxy. In this way the UPWARD server acts as the backend for the frontend and Magento as a headless service.
The upward-js
reference implementation is an example of an UPWARD-compliant server written in JavaScript.
However, you can write your own UPWARD server in any language as long as it conforms to the specification outlined in the upward-spec
package.
If you have any more questions, you should join our community slack channel. Our community members are always happy to answer questions like these.
I'm really not sure how you get passed development stage. All you're showing is the dev PWA url. I don't understand where the app shell is being served? I think you're suppose to create a regular Magento theme and put the app shell in there but I don't see this in the docs. Is that correct?