我一直在研究有关 PWA 的事情(链接:https ://www.youtube.com/watch?v=LaS_5jUeh_0 ),它确实提到了一些叫做“App Shell 架构”的东西,
我的不确定性:
渐进式 Web 应用程序能否支持其他架构,例如 MVC?还是为了实现 PWA 功能,我们需要将旧架构更改为为 PWA 设计的架构?
我们是否有可能继续使用我们熟悉的架构(在我的例子中:MVC 架构)来实现 PWA?
我一直在研究有关 PWA 的事情(链接:https ://www.youtube.com/watch?v=LaS_5jUeh_0 ),它确实提到了一些叫做“App Shell 架构”的东西,
我的不确定性:
渐进式 Web 应用程序能否支持其他架构,例如 MVC?还是为了实现 PWA 功能,我们需要将旧架构更改为为 PWA 设计的架构?
我们是否有可能继续使用我们熟悉的架构(在我的例子中:MVC 架构)来实现 PWA?
您可以使用 MVC 构建 PWA。App shell 只不过是您用来加载内容的页面的骨架。这与你是否使用 MVC 无关。如果您将 SPA 用于 PWA,这是推荐且容易的,这使得应用程序外壳缓存变得容易。同样没有硬性规定。如果您遵循建议,它将使您的生活更轻松.. 提出建议是有原因的!
我正在迁移一个 MVC,Razor 重型应用程序更像 PWA,最终我希望它具有离线功能的完整 PWA,但是在我到达那里之前我需要更改很多东西但是几乎没有任何东西需要更改现有的MVC代码!
回答您的问题的关键因素是,在 MVC 中构建不会阻止您构建 PWA,如果您对该架构感到满意,请继续使用它。
更重要的是你的页面是如何呈现的(特别是如果你想完全离线),例如一个基于 Razor 的重型网站会让生活变得更加棘手,特别是如果你的页面上有依赖回调的动态元素服务器。
所以我要做的第一件事就是将我的很多功能转移到 Javascript 中,并将所有页面数据作为 JSON 预先上传。然后我可以让事情动态地发生,而对服务器的依赖要少得多。
显然,保存和更新数据仍然依赖于服务器,而我还没有达到这一点,就如何在离线模式下处理事情而言。
如果它有助于我的出发点是将对服务器的回调减少到所需的最低限度,那么一旦我到达那里,我就会知道我还有什么要处理的,包括所有的 Razor 页面!