我知道,在Python中为跨平台构建的唯一方法是Kivy,但我最近听说Beeware Project和该工具称为Toga。据我所知,它仍然处于早期阶段,很多人也不熟悉它,但是网站上有几个基本教程。它看起来非常有前途,但我不知道它的未来以及如果我开始研究它可能会面临的问题,因为到目前为止它可能有很多错误。我在文档上阅读了toga允许您构建本机跨平台应用程序的文档,Kivy应用程序不是本机吗?它们是否喜欢混合应用程序,就像您在PhoneGap上构建的应用程序一样?谢谢
toga通过将toga api映射到不同系统上的本机平台小部件来实现其GUI。这意味着这些应用程序将自动看起来和表现,就像该系统中的其他"本机"应用程序一样。相比之下,Kivy使用其自己的小部件工具包使用OpenGL进行绘图。这意味着默认情况下它在所有不同平台上看起来和行为完全相同。您可以自定义它,但是实际上很难获得像另一个框架一样真正起作用的东西。
两种方法都有优势和缺点。Kivy非常灵活和便携,因为您几乎可以在任何地方使用OpenGL,而且较难的部分可能是在编译Kivy和Python本身。另一方面,Toga的方法是获得真正起作用类似于本机应用程序的唯一方法,并且可能会避开一些Kivy问题,例如Android上的启动相对较慢。也就是说,与Kivy的Drawing API相比,我不确定是否需要明确包装不同的小部件,这可能会降低灵活性,而Kivy的Drawing API基本上可以实现没有特殊平台支持的任何东西。