5

我的应用程序有一个基于 html 的前端,并在后端使用 python 逻辑。这个应用程序需要离线运行,而不是连接到互联网,所以这里的“后端”并不是指远程运行的服务器,而是在与浏览器/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 逻辑的应用程序吗?

4

1 回答 1

3

你可以做一个非常简单的 kivy 应用程序,它会启动一个服务(在里面你会做你的“服务器”端,用一个像烧瓶或瓶子这样的小引擎,但我想cherryPy 也应该工作),并且在 main.py在“kivy”应用程序中,不要导入 kivy,只需导入 webbrowser 并启动浏览器窗口到 localhost:your port。这将使用安卓浏览器。

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

于 2013-09-19T10:58:42.153 回答