电子新手需要一点点推动

时间:2016-12-20 19:18:04

标签: javascript html node.js electron

我正在尝试评估电子(http://electron.atom.io/)以满足我们的需求,如下所示:

  • OS X和Windows桌面平台支持
  • 启动本地外部可执行文件(我们的安装程序)的能力
  • 支持丰富的UI,至少支持图像背景,图像按钮,视网膜显示等。 结果应该是我们的安装程序的 nice 包装器(它将以静默模式运行)。

所以,第一个问题: 电子是否是支持上述最低要求的正确技术?

如果是,我在哪里可以找到如何运行本地可执行文件的示例?我找不到一个......

我如何打包应用程序以获得单个.exe for Win或.app for Mac?我查看了电子分发文档,但无法达到预期的效果。

谢谢!

3 个答案:

答案 0 :(得分:1)

你没有沿着正确的轴思考。 Electron和其他跨平台用户界面(例如wxWidgets,GTK或QT)都能满足您的要求。

更多相关差异:

  • Electron使用HTML,CSS和Javascript。如果您熟悉这些技术,您的开发过程将更快。使用通常的现代开发人员技能,替代方案难以使用。

  • 电子比替代品更重,更慢。这意味着在低端机器上下载量更大,性能更差。对于小型安装程序,它可能有点过分。

关于您的第二个问题,您可以使用ElectronPackager捆绑您的申请。

答案 1 :(得分:1)

这个问题似乎确实需要一个意见。本着这种精神,我提供了这个。我也对电子进行了评估,发现它很容易使用。如你所知,它确实夸耀了跨平台,主要是因为它为桌面运行Chrome版本的性质。

根据您的要求,我会给电子一个好看的样子。如果您了解基本的Web开发,那么学习电子并不会太困难。

我学习更多关于电子的方法之一就是从GitHub克隆一个电子项目。该项目称为mongotron,可以从Here克隆。

在这个项目中,开发人员使用gulp来构建代码。他使用gulp和电子打包器来构建各种输出。例如,要构建OS-X版本,命令将是:

gulp.task('release-osx', ['pre-release'], (next) => {
  electronPackager(_.extend(RELEASE_SETTINGS, {
    platform: 'darwin',
    arch: 'x64',
    icon: RELEASE_OSX_IMAGE_ICON,
  }), next);
});

Windows构建任务可能如下所示:

gulp.task('release-win', ['pre-release'], (next) => {
    electronPackager(_.extend(RELEASE_SETTINGS, {
        platform: 'win32',
        arch: 'all',
        icon: RELEASE_WIN_IMAGE_ICON,
    }), next);
});

我绝不是电子专家。我只是提供了我在尝试学习时所学到的见解。

我希望你找到这个有用的

答案 2 :(得分:1)

为mac创建exe文件的命令:

electron-packager <sourcedir> <appname> --platform=darwin

对于Windows:

  electron-packager <sourcedir> <appname> --platform=win32

只需在源目录外的CMD上运行此命令。