Vue.js、Vuex、Vue-Router SPA 和扩展应用程序客户端与服务器端

Vue.js, Vuex, Vue-Router SPA and scaling the app client side vs server side

  1. 我正在重写一个非常非常大且复杂的应用程序
  2. 我正在使用 Vue/Vuex/Vue 路由器
  3. 它是一个单页应用程序,具有类似桌面的持久性 UI。
  4. 它有超过 150 个 'forms' 对应于大约那么多对象。
  5. 我们必须定期添加新表格。
  6. 假设我将以模式显示这些表单中的每一个(我不会,但很容易想象)
  7. 该应用程序已经有大约 15mb。

关于这些表单,在选择在服务器上呈现它们并将它们加载到模式中,还是在应用程序中包含组件并保持客户端和服务器之间的责任分离之间进行选择时,我应该考虑什么?

我的意思是,要么我们支付不时重新下载的成本,要么我们支付分离客户端和服务器之间的责任以及随之而来的服务器负载的成本。我迫切希望将应用程序和后端分开,因为目前后端只是一个 api。但我担心应用程序的大小会增加,以至于我们拒绝发布新表单(功能)。

不幸的是,没有在 Vue 中创建这种规模的东西的经验,我无法预测(即使我已经尝试过)我是在谈论常规的 20mb 更新还是 200mb 更新...

感谢您的想法。

谢谢

共有三种选择:

  • 1 - 在服务器上呈现它们,例如 Laravel/blade 或类似的东西,然后将它们呈现在 vue 应用程序中。
  • 2 - 在 vue 中将它们呈现在服务器上。
  • 3 - 将它们合并到应用程序中。

决策标准是:

  • 1 - 封装:保留应用程序与 api 的分离或破坏它。
  • 2 - 体验:以提供新功能(api 服务)时更频繁的下载为代价来保持水疗体验。或者相反。

尽管大小增加了,但我们还是选择增加下载频率,以保持 UI 和 API 的分离以及用户体验。此外,它维护了我们相对简单的构建和部署流程。