ica*_*s74 24 python android sl4a kivy qpython
在SO上阅读了几个Q&A之后,我意识到有一个选项,即QPython和Kivy为Android做编程,但是,显然两者都采用不同的方法.我试图验证我的理解,看看我是否遗漏了一些关键信息.
总的来说,结果(上述观点)的观点似乎更倾向于Kivy.理解是否正确?我错过了任何关键点吗?这不是一个修辞问题,我只是在寻找事实答案.
inc*_*ent 15
QPython允许使用Kivy库来开发图形应用程序
是的,qpython是一个解释器+相关工具,并且有一些很好的kivy集成.你不能单独使用qpython + android将kivy代码编译为独立的apk.
QPython和Kivy都使用SL4A,而QPython通过添加一些NFC和类似功能扩展了标准SL4A(或它的Python绑定)
Kivy不使用SL4A.我们主要通过pyjnius实现android api集成,pyjnius是一个用python自动包装java类的库,它允许你直接调用java api.我们还使用plyer将一些标准内容抽象为pythonic接口.
(我后来看到你已经找到了这些)
QPython用于创建可以使用各种模块库的python脚本,但是它们需要安装QPython才能在目标设备上执行.没有办法将脚本打包到apk中.
我没有太多使用qpython,但我认为这是正确的,虽然在某些情况下可能会有一些工具将脚本转换为apks(例如,如果你有一个kivy接口你可以使用kivy的构建工具,或者sl4a可能有一些东西用于此).
Kivy OTOH允许开发人员使用他们的基于云的构建系统编写编译为apk的应用程序(替代方案 - 可以在Ubuntu Linux上设置本地构建系统)[但是,我注意到大多数使用Kivy的示例apk都非常大,在40MB范围内.我错过了什么吗?]
我们有一个基于云的基本构建系统,但现在没有其他类似的东西,几乎每个人都使用我们的android构建工具在自己的机器上构建apks.它们可以在linux或OSX上运行,如果需要,可以在虚拟机中轻松运行.
由于需要捆绑python解释器和许多模块,因此最小应用程序的大小约为7MB.
QPython apk有2个版本,一个用于Python-2.7,另一个用于Python-3.x.对于Kivy,我不确定它是哪个版本.
Kivy本身支持python3,但我们的android构建工具现在只支持python2.7.
让人觉得QPython和Kivy都是由一个开发者开发的(或者目前只有一个人真正活跃),而且还没有一个庞大的社区.[这是我最关心的问题]我注意到SO上有'qpython'标签有3-4个问题,'kivy'有超过千个问题!
Kivy的发展非常活跃,有几个常规贡献者加上更多的零星.您可以在github上查看最近的提交活动.它肯定比单个开发人员多得多!
与QPython相比,Kivy似乎试图扩展可能使用它编写的应用程序的本质.像plyer和pyjnius这样的API有助于扩展可能性.与QPython相比,可能非常重要.
我认为qpython包含pyjnius.关于plyer不确定.
QPython和Kivy似乎都在大力开发中.似乎在两组工具上都报告了程序(/ script)崩溃(/失败).
我不确定你在看什么,但任何非平凡的项目都会报告崩溃/失败/错误.我不认为kivy特别不稳定.
总的来说,结果(上述观点)的观点似乎更倾向于Kivy.
我会说qpython和kivy是完全不同的东西.Qpython允许您编写和运行脚本,而kivy是一个图形框架和相关工具,用于创建独立应用程序.与两者都可以实现的任务有一些重叠,但也有很多不适合的事情 - 例如,我认为qpython可能更方便快速制作没有gui的脚本,例如简单的自动化(I认为这是可能的),而我认为kivy是创建具有非平凡guis的独立应用程序的更好选择.当然,你可以在qpython中编写kivy代码,正如所讨论的那样,但对于任何非常重要的事情来说,这都不是一个很好的用户体验,无论如何你需要一个台式机/笔记本电脑来制作一个独立的apk.
| 归档时间: |
|
| 查看次数: |
27337 次 |
| 最近记录: |