Python 和 Angular 的离线桌面 Web 应用程序(或 Django 或其他)

Offline Desktop Web Application with Python and Angular (or Django or something else)

我的背景:

我刚开始学习后端开发,只创建和部署了 1 django 个后端。我在游戏开发、架构、算法以及各种技术和语言方面拥有丰富的经验。

设置:

我有一个 python 脚本(称之为 solver),它 运行 是一些数据的复杂计算。我不能修改计算脚本;我只能修改它们的调用方式。目前它通过在终端中输入 solver.py "params" 来工作,returns 计算结果在一个文件中。我修改了它,通过调用一个方法 execute() 来工作,该方法 returns 解决方案作为字符串(或 json/yaml 对象)。

任务:

我需要创建一个非常简单的桌面离线应用程序来调用solver并输出解决方案。 OS 在这个阶段是未知的(可能是 Windows)。不应该有任何对远程服务器的请求(否则这将是一项简单的任务)并且应用程序应该是来自单个文件的 运行(例如 solver.exe)。

想法和问题:

  1. 我的第一个想法是创建一个简单的 django/flask 本地服务器和一个 Angular 前端。我知道用 electron 构建 angular 应用程序很简单,但我不知道如何包含 django/flask 本地服务器,如何为此在本地创建一个以及如何将它们捆绑在一起。如果你认为这是最简单的方法,你能给我指出一些我可以遵循或使用的 tutorial/video/library/framework 吗?

  2. 第二个想法是只使用 django 创建所有内容,它也具有前端功能。在这种情况下,是否有任何软件包可以帮助我构建离线和桌面应用程序?

  3. 第三个想法(如果可能的话我会喜欢它)是创建一个 Angular 应用程序,它调用 execute() 方法(或 运行 s 带有参数的文件)并使用 electron 构建它。如果可能的话,我可以在一天内构建应用程序,这会让客户非常高兴。根据我的研究,我找不到一种方法来完成这项工作。有什么建议么?

您是否已经调查过 ngx-electron? 您可以通过 angular 访问电子,然后调用 ChildProcess on NodeJS to spawn/execute 您的命令。

将您的脚本包含到包中,使用上面链接中提供的信息从命令中调用它。