Progressive Web Apps have quite some advantages. The biggest one being a web-product with a native-like feeling. But it is also fast and mobile first, or rather should be. This is the untold story about PWA, impacting your conversion.
Covering in this article:
JavaScript's role within PWA
With the above in mind, we know that JavaScript is the main bottleneck of building CSR (as well as SSR) solutions, such as Progressive Web Apps. There are some risks I often coin, when doing building CSR as most of the codebase will be JavaScript driven.
Moving from server side to client side
One of the risks is that all the work we used to do on the server side, is now being done on the client side, hence Client Side Rendered or CSR. This means, work (building the HTML / DOM) is now done on the device of your users. You, as an agency, are no longer in control of factors influencing the user experience spectrum.
Using frameworks
Most client side rendering solutions are build on top of frameworks like Angular, React of Vue. Such frameworks are adding more weight to the already needed amount of JavaScript, bringing down your First Meaningful Paint metric and extending the Time to Interactive metric due to longer boot-up time. As a result, it may impact main thread blocking and thus user experience. Paul Lewis -a Googler working on ChromeDevTools and co-created of Lighthouse- once wrote a (by now sometimes out-dated) article with a SSR versus CSR comparison of a handful of frameworks (as well as vanilla JS).
Locking the main thread is unthinkable to native developers, because it negatively impacts the user experience so much.
Paul Lewis
Also be aware of framework updates, not only forcing you to update your own codebase, but will also increase the total package-size and thus download-, parsing- and blocking-time.
Third party impact
If that's not enough reason to introduce performance budgets, there is always another big culprit, being third party scripts. Rather see real use cases in video? You can hear more about third party widgets not being your webshop's best friend, within this presentation about third party performance impact from minute 26.
The primary downside to Client-Side Rendering is that the amount of JavaScript required tends to grow as an application grows
developers.google.com
New e-commerce features
Beside the framework you use or third party widgets you include, your shops' features will grow over time. As you will have to deploy them on top of your JavaScript codebase, your codebase and thus earlier mentioned times and metrics will increase as well, impact main thread blocking or janky behaviour and thus user experience.
Read more about User experience implications of PWA on the next page.