2017-08-29 83 views
2

我知道在Python中構建跨平臺的唯一方法是Kivy,但我最近聽說過Beeware項目和此工具稱爲Toga。儘管我知道它仍處於早期階段,但很多人並不熟悉它,但網站上有幾個基本教程。它看起來非常有希望,但是我不知道它的未來以及如果我開始研究它可能面臨的問題,因爲它現在可能有很多錯誤。我閱讀了Toga允許您構建本機跨平臺應用程序的文檔,是否Kivy應用程序不是本機應用程序?他們是否喜歡Hybrid應用程序,就像您在Phonegap上構建的應用程序一樣?謝謝Python中的跨平臺的Kivy和Toga(Beeware項目)之間的區別

回答

5

Toga通過將Toga API映射到不同系統上的本機平臺小部件來實現其GUI。這意味着這些應用程序會自動查看和運行來自該系統的其他「原生」應用程序。相比之下,Kivy使用opengl進行繪圖,使用自己的小工具工具包。這意味着,默認情況下,它在所有不同的平臺上的外觀和行爲完全相同。你可以自定義它,但是在實踐中很難獲得真正像另一個框架那樣行事的東西。

兩種方法都有優點和缺點。 Kivy非常靈活和便攜,因爲你可以在任何地方使用opengl,而較難的部分可能是編譯Kivy和Python本身。另一方面,Toga的方法是獲得真正像本機應用一樣的東西的唯一方式,並且可能會迴避一些Kivy問題,例如Android上相對較慢的啓動。也就是說,我不確定是否需要明確包裝不同的小部件意味着它可能不那麼靈活,與Kivy的繪圖API相比,基本上可以實現任何功能,而無需特殊的平臺支持。

+0

感謝您的回答。你用過Toga嗎?編譯過程是否更簡單? –

+0

toga-android項目似乎由作者在GitHub上歸檔。這是否意味着它已被放棄,並且Android不再是Toga的受支持目標? – akaihola

+0

不,我認爲toga-android只是爲Android構建的一種特定方式,它已經通過voc轉換爲Java。 – inclement