首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Kivy是如何实现跨平台兼容性的?

Kivy是如何实现跨平台兼容性的?
EN

Stack Overflow用户
提问于 2020-08-23 21:04:05
回答 1查看 113关注 0票数 3

什么允许Kivy跨平台兼容?

换句话说,相同的Kivy源代码如何在多种硬件平台(如桌面、iOS和安卓)上生成应用程序?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-08-23 23:30:19

我认为实现跨平台兼容性有两个关键的极端:

通过在每个平台上以不同的方式实现

  1. ,使Kivy在每个平台上运行不同的代码,但通过使输出显示相同的方式向用户隐藏这种差异。
  2. 通过使用所有不同平台支持的外部API来实现,这样Kivy自己的代码基本上是相同的,而平台本身则负责使其工作。

Kivy有这两个方面的一点,但特别是所有的绘图都使用了OpenGL ES 2,这是第二种类型:所有Kivy的绘图逻辑在所有受支持的平台上几乎是相同的。当然,还有其他类型,例如,在计算像素密度之类的显示度量时,Kivy在每个平台上使用不同的方法,但不向用户公开任何细节。

当然,当把事情作为一个整体来考虑时,事情会更加微妙。例如,Kivy使用SDL2作为创建窗口的库,设置窗口的大小/pos处理暂停/恢复等,因此Kivy的代码是第二种类型,因为它在每个平台上都以相同的方式调用SDL2。然而,SDL2本身并不是平台--它是第一类的,在不同的平台上实现它的API是不同的,但是在每个平台上向Kivy公开相同的API。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/63551976

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档