亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

Kivy是如何做到跨平臺兼容的?

Kivy是如何做到跨平臺兼容的?

Smart貓小萌 2023-06-20 13:22:47
是什么讓 Kivy 能夠跨平臺兼容?換句話說,同一個Kivy源代碼如何在桌面、iOS、Android等多種硬件平臺上生成應用程序?
查看完整描述

1 回答

?
MMMHUHU

TA貢獻1834條經驗 獲得超8個贊

我想實現跨平臺兼容性有兩個關鍵的極端:

  1. 通過在每個平臺上以不同的方式實現事物,以便 Kivy 在每個平臺上運行不同的代碼,但通過使輸出看起來相同來向用戶隱藏這種差異。

  2. 通過使用所有不同平臺支持的外部 API,Kivy 自己的代碼基本相同,平臺自己負責使其工作。

Kivy 兩者都有,但特別是所有繪圖都使用第二種類型的 OpenGL ES 2:Kivy 的所有繪圖邏輯在所有支持的平臺上幾乎相同。當然還有其他類型,例如,在計算像素密度等顯示指標時,Kivy 在每個平臺上使用不同的方法,但不會向用戶公開任何細節。

當然,當從整體上考慮事情時,事情要微妙得多。例如,Kivy 使用 SDL2 作為創建窗口、設置其大小/pos 處理暫停/恢復等的庫,因此 Kivy 的代碼在這里屬于第二種類型,因為它在每個平臺上都以相同的方式調用 SDL2。然而,SDL2 本身并不是平臺原生的,而是第一種類型,在不同的平臺上以不同的方式實現其 API,但在每個平臺上向 Kivy 公開相同的 API。


查看完整回答
反對 回復 2023-06-20
  • 1 回答
  • 0 關注
  • 212 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號