[英]How does Kivy achieve cross-platform compatibility?
是什么讓 Kivy 跨平台兼容?
換句話說,同一個 Kivy 源代碼如何在桌面、iOS 和 Android 等多種硬件平台上生成應用程序?
我認為實現跨平台兼容性有兩個關鍵的極端:
Kivy 有一點兩者,但特別是所有繪圖都使用 OpenGL ES 2,這是第二種類型:Kivy 的所有繪圖邏輯在所有支持的平台上都幾乎相同。 當然還有其他類型,例如,在計算像素密度等顯示指標時,Kivy 在每個平台上使用不同的方法,但不會向用戶公開任何細節。
當然,將事情作為一個整體考慮時,事情要微妙得多。 例如,Kivy 使用 SDL2 作為庫來創建窗口,設置其大小/位置處理暫停/恢復等,因此 Kivy 的代碼在這里屬於第二種類型,因為它在每個平台上以相同的方式調用 SDL2。 然而,SDL2 本身並不是平台原生的,而是第一種類型,在不同平台上以不同方式實現其 API,但在每個平台上向 Kivy 公開相同的 API。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.