【问题标题】:Offline Desktop Web Application with Python and Angular (or Django or something else)使用 Python 和 Angular(或 Django 或其他)的离线桌面 Web 应用程序
【发布时间】:2019-01-17 22:49:13
【问题描述】:

我的背景:

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

设置:

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

任务:

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

想法和问题:

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

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

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

【问题讨论】:

  • 用电子创建应用程序应该是可行的。你可以用它打包 python 脚本并在需要时执行它。我相信你需要安装python。不知道为什么在这种情况下你仍然需要 django/flask。
  • 只是让您知道,根据 Agash Thamo。的建议,我安装了ngx-childprocess 而不是ngx-electron。执行文件可以很好地处理它。

标签: python django angular desktop-application offline


【解决方案1】:

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

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

【讨论】:

  • 感谢您的评论。我相信在这种情况下用户应该安装了python,对吧?也许我可以构建解算器的 Windows 可执行文件并使用 node 用参数调用它(根据你的想法)!这行得通吗?
  • 是的,在这种情况下,用户需要安装 python,就像在命令行中一样执行它python solver.py "params"
  • 附带说明,如果目标计算机是 macOS,则预装了 python。如果是 Windows,您可以使用 py2exe (py2exe.org) 并将其编译为可执行文件,您可以按原样使用,而无需在目标计算机上安装 python。
猜你喜欢
  • 2012-11-03
  • 2012-01-24
  • 2020-01-05
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-08-22
  • 1970-01-01
相关资源
最近更新 更多