使用Python和Angular(或Django或其他工具)的脱机桌面Web应用程序

时间:2018-08-10 10:29:22

标签: python django angular desktop-application offline

我的背景

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

设置:

我有一个python脚本(称为solver),该脚本运行一些数据的复杂计算。我无法修改计算脚本;我只能修改它们的调用方式。当前,它可以通过在终端中键入solver.py "params"来工作,该终端将计算结果返回到文件中。我已经通过调用方法execute()修改了此方法,该方法将解决方案作为字符串(或json / yaml对象)返回。

任务:

我需要创建一个非常简单的桌面离线应用程序来调用solver并输出解决方案。 OS在此阶段未知(可能是Windows)。

无论如何,都不应有对远程服务器的请求(否则这将是一个简单的任务),并且应从单个文件(例如solver.exe)运行该应用程序。

思想和问题:

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

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

  3. 第三种想法(如果可能的话,我会喜欢的)只是创建一个Angular应用程序,该应用程序调用{​​{1}}方法(或使用参数运行文件)并进行构建execute()。如果可以的话,我可以在一天内构建应用程序,这会使客户感到非常满意。从我的研究中,我找不到实现此工作的方法。有什么建议么?

1 个答案:

答案 0 :(得分:1)

您是否已经研究过ngx-electron? 您可以通过角度访问电子,然后在NodeJS上调用ChildProcessspawn/execute您的命令。

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