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

标签 reactjs angular vue.js electron single-page-application

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

最佳答案

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

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

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

关于reactjs - 为什么将 Electron 与 SPA 框架结合使用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63025088/

相关文章:

javascript - 使用 Enzyme Jest 查找 HTML 元素测试 React 组件

reactjs - 发现错误 : This method is only meant to be run on single node. 0

javascript - React 中输入小数的数字?

css - VS Code - Angular 2 Typescript - 如何删除/修复 css Shadow Piercing 错误?

angular - 元素访问表达式应该有一个参数

javascript - 如何让 Bootstrap 的 Javascript 在 Vue (Gridsome) 中工作?

javascript - React UseState - 使用先前的状态与不使用先前的状态

angular - Angular 谷歌地图上缺少卫星 View 切换

javascript - v-if 不在模板上工作

javascript - 通过 Vue Computed 调用 Vue Method 的问题