首页 > 解决方案 > 为什么将 Electron 与 SPA 框架一起使用?

问题描述

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

标签: reactjsangularvue.jselectronsingle-page-application

解决方案


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

    • 甚至不要考虑使用<frameset>
  • 重新加载单独的 HTML 文档对用户来说很不愉快,因为:

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


推荐阅读