我的应用程序具有基于html的前端,并在后端使用python逻辑。此应用程序需要脱机运行,而不是连接到Internet,因此这里的“后端”不是指服务器远程运行,而是与浏览器/html在同一应用程序中并排运行的python逻辑引擎。对于Windows或Mac桌面应用程序,我构建一个Chromium Embedded Framework应用程序,然后启动一个子进程,该子进程运行使用py2exe(或py2app)构建的CherryPy python应用程序。然后,客户端和服务器使用普通的http进行通信。

我想在iOS和Android上实现相同的目标。我已经研究了几种替代方法,但是似乎没有什么能完全满足我的需要。

Kivy已经很接近了,但是据我所知它并不提供浏览器/html前端,而是在OpenGL之上提供了自己的布局引擎。它具有扩展机制,但这似乎更多地是在扩展python端,而不是前端端。

另一方面,我可以从PhoneGap开始,然后添加一个python库作为扩展(可能使用Kivy的python移动库构建)。或为此,我可以编写一个嵌入浏览器并使用python库构建的常规C++应用程序。

第三方面,我一直在使用各种python-to-javascript转换器将后端逻辑转换为可以直接与PhoneGap一起使用的东西,但是鉴于我拥有的所有python逻辑,这种方法变得非常困难-其中有些只是转换起来不那么容易。

您是否知道在同一应用程序中显示html并运行python逻辑的应用程序?

最佳答案

您可以做一个非常简单的kivy应用程序,该应用程序将在main.py中启动服务(在该应用程序中,您将使用诸如flask或bottle的小型引擎来做“服务器”端,但是我想cherryPy也应该起作用)。的“kivy”应用程序,请不要导入kivy,只需导入webbrowser并启动浏览器窗口至localhost:您的端口即可。这将使用android浏览器。

编辑:哦,服务目前仅是android,显然ios 7也支持它们,但是kivy-ios尚未更新以使用它们。

关于android - 在移动应用中结合html前端和python "back-end",我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/18884259/

10-11 15:47
查看更多