progressive-web-appsweb-architecture

PWA - Progressive Web Applications Architectures


I been look into things about PWA (link: https://www.youtube.com/watch?v=LaS_5jUeh_0) and it does mention something called "App Shell Architecture",

My Uncertainties:

  1. Can Progressive Web Applications support other Architectures such as MVC? or in order to implement PWA feature we need to change our Legacy Architecture to the Architecture that design for PWA?

  2. Is it possible for us to continue use the Architecture that we are comfortable (in my case: MVC architecture) to implement PWA?


Solution

  • I'm migrating an MVC, Razor heavy app to be more PWA like, ultimately I want it full PWA with offline capability but there are a lot of things I need to change before I get there however hardly any of it requires changes to the existing MVC code!

    The key factor, to answer your question, is building in MVC will not prevent you building a PWA and if you're happy with that architecture then carry on using it.

    What matters more is how your pages are rendered (particularly if you want to go full offline) a heavy Razor based site for example will I think make life a lot more tricky, especially if you have dynamic elements on the page that rely on callbacks to the server.

    So the first thing I'm doing is moving a lot of my functionality into the Javascript and uploading all the page data up front as JSON. Then I can have things happen dynamically with a lot less reliance on the sever.

    Obviously saving and updating data still relies on the server and I've not got to that point yet, in terms of how to handle things in offline mode.

    If it helps my starting point was to reduce callbacks to the server to the bare minimum required, once I get there then I'll know what I have left to deal with, including all the Razor pages!