javascript - 在 Python 应用程序中使用 Electron
问题描述
我正在尝试制作一个基于 Python 的跨平台桌面应用程序。
我一直在寻找 Python GUI 框架,例如 PyQT、wxPython、tkinter 和 kivy。但是,除了 PyQT 之外,它们都不能为桌面 GUI 提供良好的外观和感觉,但是 PyQT 的商业用途相当广泛,我不想打开我的源代码。除此之外,让 python GUI 可安装似乎非常困难,以至于我多次未能制作可安装程序。所以我现在正在寻找其他东西是电子。
我发现 Electron 的 NodeJS 可以使用 python-shell 运行 python 应用程序。另外,Electron 用的很好,有很多著名的产品,所以我认为它是一个不错的选择。
我担心的是,以这种方式开发跨平台桌面应用程序是否是一种好方法?虽然我熟悉 Html、CSS 和一些 JS,但我不熟悉 NodeJS。但由于这是一种解决方法,我担心这可能会产生大量开销或造成糟糕的用户体验。
我的 python 应用程序包含很多数学任务。不是超级重,但使用许多回归仍然有点重。也将 SQLite 用于内部数据库。
当然,最好的解决方案可能是使用 NodeJs 而不是在 NodeJs 中运行 Python,但考虑到在 NodeJS 中重新开发所有东西的时间,我认为这可能更实用。如果这种方法显着减慢了程序,也许我必须找到另一种方法。
所以总而言之,
使用 Electron 和 Python 制作高质量的跨平台商业应用程序是个好主意吗?
它是否会显着影响应用程序的性能?
如果这是一个坏主意,是否有任何替代方案或建议?
解决方案
推荐阅读
- apache-kafka - 同步Kafka生产者是否有任何例外
- jersey - 类型 javax.ws.rs.core.Form 的 Resteasy 抛出错误 RESTEASY003215
- azure-active-directory - 测试 - Azure AD 是否支持 ABAC(基于属性的访问控制)?
- rust - 关联类型的等式约束的替代方法
- r - 在ggplot中循环时获取X轴的变量名称?
- python - 使用 tkinter 创建一个变量来存储其他帧的输入框信息
- swift - 在 Vapor 4 中的文件流之后运行操作
- c++ - 指定初始化器不适用于 char 数组
- ios - 用于对话的 twilio iOS SDK 不会向代理显示错误
- python - AttributeError: 'NoneType' 对象在导入 ktrain 时没有属性 'thread'