在 Python 应用程序中使用 Electron

Hum*_*der 10 javascript python user-interface node.js electron

我正在尝试制作一个基于 Python 的跨平台桌面应用程序。

我一直在寻找 Python GUI 框架,例如 PyQT、wxPython、tkinter 和 kivy。然而,除了 PyQT 之外,它们都不能为桌面 GUI 提供良好的外观和感觉,但 PyQT 的商业用途非常广泛,我不想公开我的源代码。除此之外,使 python GUI 可安装似乎非常困难,以至于我多次无法制作可安装的程序。所以我现在正在寻找其他的东西,那就是 Electron。

我发现 Electron 的 NodeJS 可以使用 python-shell 运行 python 应用程序。另外,Electron 用得很好,有很多名牌,所以我认为它可以是一个不错的选择。

我担心的是,以这种方式开发跨平台桌面应用程序是一种好方法吗?虽然我熟悉 Html、CSS 和一些 JS,但我不熟悉 NodeJS。但由于这是一种解决方法,我担心这可能会产生大量开销或造成糟糕的用户体验。

我的 python 应用程序包含相当多的数学任务。不是超重,但使用许多回归仍然有点重。还使用 SQLite 作为内部数据库。

当然,最好的解决方案可能是使用 NodeJs 而不是在 NodeJs 中运行 Python,但是关于在 NodeJS 中再次开发所有东西的时间,我认为这可能更实用。如果这种方法显着减慢了程序的速度,也许我必须找到另一种方法。

所以总结一下,

  1. 使用 Electron 和 Python 制作具有质量的跨平台商业应用程序是个好主意吗?

  2. 它会显着影响应用程序的性能吗?

  3. 如果这是一个坏主意,是否有任何替代方案或建议?