为什么将 Electron 与 SPA 框架结合使用?

nig*_*ift 2 single-page-application reactjs vue.js electron angular

因为我想开发一个Electron应用程序,所以我搜索了相当多的Electron教程。大多数教程都将 Electron 与 React 或 Vue.js(或少数 Angular)结合使用。我很好奇为什么 SPA 框架对于 Electron 应用程序开发几乎是必不可少的。

Dai*_*Dai 6

  • 如果您不将应用程序建模为 SPA,那么唯一的选择是当您的用户导航到应用程序中的不同“区域”时,使内置 Chromium 浏览器引擎重新加载单独的 HTML 文档。

    • 甚至不要考虑使用<frameset>
  • 重新加载单独的 HTML 文档会让用户感到不舒服,因为:

    • 它会重置页面状态,因此您需要在必要时重新初始化页面的 JavaScript 和 DOM 状态 - 如果页面之间的状态不会改变(例如用户信息),那么这就是浪费精力。
    • 重新加载 HTML 会导致大量的重新布局操作,从而导致几帧出现令人眼花缭乱的白光闪烁,如果用户处于深色模式或类似模式,这会令人不快。
    • 而且整个 UI 重新加载并不是典型桌面应用程序用户体验的一部分:应用程序 UI 并不是 HTML 最初设计的“文档”。
  • 也就是说,您不需要使用特定的 SPA 框架 - 您始终可以只使用自己的代码,但 HTML 和 JavaScript 没有内置的 UI 平台、框架和小部件集(相对较新的“Web 组件”) “规范更多地是 UI 平台的基础,而不是其本身的框架 - 而且 HTML 只有一组非常贫乏的内置小部件(<select><input />等) - 所以你最终会重新发明轮子。