Python中跨平台Kivy和Toga(Beeware项目)的区别

2024-05-17 02:34:51 发布

您现在位置:Python中文网/ 问答频道 /正文

我知道在Python中构建跨平台的唯一方法是Kivy,但是我最近听说了Beeware项目和这个叫做Toga的工具。据我所知,它仍处于早期阶段,很多人对此并不熟悉,但网站上有一些基本教程。它看起来很有前途,但我不知道它的未来以及如果我开始研究它可能会面临的问题,因为它现在可能有很多bug。我在文档中读到,Toga让你构建原生的跨平台应用,Kivy应用不是原生的吗?它们是否像混合应用程序,比如你在Phonegap上构建的应用程序?谢谢


Tags: 工具项目方法文档应用程序网站toga跨平台
1条回答
网友
1楼 · 发布于 2024-05-17 02:34:51

Toga通过将togaapi映射到不同系统上的本地平台小部件来实现其gui。这意味着这些应用程序将自动看起来和该系统中的其他“本机”应用程序一样。相反,Kivy使用opengl进行绘图,使用自己的widget工具箱。这意味着默认情况下,它在所有不同平台上的外观和行为都完全相同。你可以定制它,但在实践中很难得到真正像另一个框架一样的东西。在

这两种方法各有利弊。Kivy非常灵活和可移植,因为您几乎可以在任何地方使用opengl,而更困难的部分可能是编译Kivy和Python本身。另一方面,Toga的方法是获得真正像本地应用程序一样的东西的唯一方法,也可能避免一些奇怪的问题,比如在Android上启动相对缓慢。也就是说,与Kivy的绘图API相比,我不确定是否需要显式地包装不同的widget意味着它可能不够灵活,因为Kivy的drawing API可以在没有特殊平台支持的情况下实现任何功能。在

相关问题 更多 >