我想使用 Electron 构建一个桌面应用程序。
我知道 Electron 同时处理服务器和接口(interface)部分,我正在考虑以这样一种方式构建应用程序,使这两个部分明确分隔。
我 future 想做的是建一个网站,最有可能使用 React 并使用 Electron 应用程序作为服务器。
由于 Electron 基于 NodeJs,我不明白为什么这是不可能的。我计划公开一些 API 和 Web 应用程序以使用它们。因此,桌面应用程序的一部分也将成为 Web 应用程序的服务器。
我的问题是:
实现这一目标有多容易?
这种方法在安全问题方面如何?
最佳答案
How easy is it to achieve this?
通常,很容易。您需要做的就是创建一个 Electron 文件,在端口 X 上启动您的 Node.js 服务器,打开一个
BrowserWindow
, 并指示 BrowserWindow
加载服务器 url:http://127.0.0.1:X
.但是,传统的 Web 服务器通常具有与 Electron 应用后端不同的架构。 Web 服务器通常连接到包含所有用户数据的中央数据库,而 Electron 后端只管理一个用户的数据。这有几个含义:
后端可能会保留有关其所有用户的数据数据库。
写文件时,Web 应用程序可能必须使用
数据库,或者使用类似的沙盒文件系统
Filesystem API .
一个后端。可以仅使用带有某些内容的静态文件来创建 Web 应用程序
喜欢 Gatsby , 作为网络可能会更好
页面比 Electron 应用程序。
And how does this approach stands in terms of security concerns?
可以将您的服务器设置为监听
localhost
, 或 127.0.0.1
.这表示您的数据仅通过设备而不是通过网络流动,这可以防止外部人员拦截它,除非他们已经破坏了设备。
关于node.js - 如何将 Web 界面添加到 Electron 应用程序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62413965/