【问题标题】:Properly using Electron正确使用电子
【发布时间】:2017-11-29 16:36:39
【问题描述】:

我想进入 Electron,我已经开始学习它,但是我认为我不太了解我应该如何使用它。根据我收集到的信息,使用 Electron 我能够使用 HTML、CSS 和 Javascript 创建跨桌面应用程序 (Chromium) 并在后台执行任务 (NodeJS ).

让我困惑的是:

  • 我应该如何在我的服务器上使用它?

例如,我构建了一个简单的 NodeJS 应用程序,它使用 Passport 和一些其他模块来创建登录/注册系统(使用 MongoDB)。它有用于登录和注册的 HTML 文件。

我不确定如何在我的 Electron 应用程序中使用它,事实上,我不太了解如何实际使用 Electron。我应该将所有登录/注册应用程序代码移至 Electron 应用程序,还是应该使用 Electron 以某种方式连接到我的登录/注册应用程序并加载网站?

  • 如果我将代码移动到我的 Electron 应用程序中,会导致安全问题吗?

【问题讨论】:

  • 你能分享你的代码吗?帮助会更容易!
  • 我的问题并不是针对特定代码,我只是举了一个我想做的例子。如果真的需要,这是代码(来自我正在关注的教程):github.com/bradtraversy/loginapp 这是一个登录/注册应用程序,我现在不确定如何处理 Electron,因此,这个线程:)

标签: javascript node.js mongodb electron


【解决方案1】:

我应该如何在我的服务器上使用它?

您需要考虑将应用程序分离为独立的桌面应用程序(充当客户端应用程序)与由云提供商托管的 API 和后端逻辑服务器。

通过这样做,您可以专注于分离桌面(电子)应用程序的关注点,并确保服务器(例如 API、身份验证和其他后端逻辑)得到很好的优化并充当自己的多个工作人员。

如果我将我的代码移动到我的 Electron 应用程序中,会导致安全问题吗?

如果您不定期更新您的 Node 版本(例如内存缓冲区溢出攻击),则 Electron 应用程序开发存在一些安全问题。

另一个需要考虑的问题是 Electron 社区如何服务和解决客户端应用程序的权限问题以及用户安装您的应用程序时授予的常规文件权限问题。

作为开发人员,您有责任确保第三方库不会损坏用户的计算机。 (想象一下安装一个库依赖,其目的是恶意删除整个文件系统)。

我构建了一个简单的 NodeJS 应用程序,它使用 Passport 和其他一些模块来创建登录/注册系统

对于身份验证,您可以根据您提供给身份验证服务的客户端请求/帖子提供来自 API 的响应。您不一定必须在您的 Electron 应用程序中提供/安装身份验证服务器,因为这对于用户更新可能有些麻烦,并且它会将您的身份验证服务暴露给其他人进行逆向工程/破解。

【讨论】:

  • 非常感谢您的详细解答!我会听从您的建议,为桌面创建一个独立的应用程序,以及一个处理登录、注册等请求的应用程序。另外,感谢您提供可能的安全问题的示例! :)
  • 如果您觉得它的答案很好,您可以将其验证为已接受的答案。祝你好运@GrimReaper
【解决方案2】:

您可以简单地使用 Basic 应用程序开始您的 Electron Journey,该应用程序允许您使用它。

electron 最好的部分是 - 您可以在任何地方(Mac、Windows 和 Linux)运行它

结账

git 克隆https://github.com/geek4teck/electron-quick-start

将您当前的工作目录更改为 electron-quick-start

cd 电子快速启动

然后你可以运行

npm 安装

(确保已安装 nodejs)

然后你可以运行

npm 开始

它应该启动一个基本的浏览器窗口,并应该显示你当前的节点、npm 版本等。

希望对你有帮助

【讨论】:

    【解决方案3】:

    当然,我见过的有关 electronjs 的最佳教程是 The Electron API Demos app 这是电子的官方教程,完全免费:)

    只需从GitHub下载名为“ElectronAPIDemosSetup.exe”的主教程应用程序(当然您可以下载“Electron API Demos-win32-ia32”和“electron-api-demos-2.0.2”查看和播放带有源代码)然后运行它并享受......

    作为附加提示,我在此处附上了应用程序的屏幕截图:

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2022-01-03
      • 2011-09-17
      • 1970-01-01
      • 1970-01-01
      • 2015-10-22
      • 2014-06-05
      • 2020-04-22
      • 2015-02-08
      相关资源
      最近更新 更多