M K*_*atz 7 python plugins client-server cordova
短版:
有没有一种标准方法将Python"后端服务器"类型代码与phonegap客户端应用程序捆绑在一起?
长版:
我有很多应用程序,我正在考虑移植到phonegap.通常,应用程序是用Python编写的.其中一些有Web前端,其中一些是独立的Python应用程序,其接口基于wxpython.
所以每个应用程序都有一些客户端的东西,已经在html + javascript + css,或者我很乐意翻译成html + javascript + css.
对于服务器端,对于某些应用程序,可以将服务器代码保留在服务器上.但对于某些/大多数人来说,我想将服务器端逻辑打包到phonegap应用程序中,因此它可以是一个独立的应用程序.这个要求来自两个需求.一个是这些应用程序中的许多应用程序用于紧急响应,即使在无法使用手机信号塔和其他网络基础设施时也需要工作.另一个很简单,一些应用程序非常简单,并且不保证客户端/服务器架构 - 它们碰巧有很多用Python编写的"后端逻辑"类型代码.
现在,我知道我可以将所有后端Python逻辑移植到javascript,但我希望找到一个解决方案,其中这个相当大的代码库可以保留在Python中.
我的想法是,我可以编写一个实际上包含完整Python解释器的phonegap插件(至少足以处理我的代码库中的大部分内容).(也就是说,iOS和Android都允许本机C代码,所以我应该能够从源代码编译Python - 或者至少编译它 - 或者只是链接到其他人构建的iOS和Android Python库.)
所以在javascript代码中,我可以让客户端调用一些函数,如"InvokeBackEndMethod()".这很像ajax调用,但它不会在网络上调用,而是将查询/ url/message发送到Python插件.我的理解是,phonegap插件可以保持持久状态(例如,数据库插件允许您进行一次调用以打开数据库,然后调用从中读取并关闭它).因此,Python"服务器"代码可以像在真实服务器上一样维护其状态.事实上,Python代码可能正在运行像cherrpy这样的Web框架,因此它真的就像在同一个移动应用程序中运行客户端和服务器一样.
我的问题是:
(1)该计划听起来合理吗?
(2)有人已经解决了这个问题吗?我希望找到一个名为"phonegap server"的项目,它本质上是一个"通用"的PhoneGap扩展,从某种意义上来说它会接受来自客户端的任意调用,并会将这些调用发送给您选择的各种机制:Python,Java,单声道等(即,这种通用的phonegap扩展将被各种语言"插件""扩展",然后这些插件将被用户在给定的任何业务逻辑"扩展"语言).可能大多数人都不需要这样的项目,因为他们没有要求断开连接和/或他们没有"后端"逻辑的大代码库他们' 我想在一个独立的应用程序中部署,但保留原始语言.但似乎有些人必须要这样做,不是吗?
小智 2
您应该查看两个截然不同的举措: http: //omz-software.com/pythonista/ 允许导出到 Xcode 项目。
以及https://github.com/brython-dev/brython 使用 Python 而不是 Javascript 进行 HTML5 开发。