第二章 编程理念
你想知道Kivy到底是什么,什么使它与其他解决方案不同,以下篇章将阐述这些内容。
2.1 为什么使用Kivy?
为什么使用Kivy呢?毕竟现在有很多现有的免费工具集(框架或者平台等)可以使用。例如Qt和Flash,这两个解决方案现在是被广泛作为应用开发的选择。这些众多的解决方案已经支持了多点触控。那到底是什么造就了Kivy呢?
2.1.1 新颖
Kivy是为了今天和明天而诞生的。日新月异的人机交互方式正在不断的发展。对于多点触控,开发工具对其的支持变得尤为重要。特意为了这种新的交互方式,我们从底层开始重新架构Kivy。相对于以往看起来“建立良好”但带着沉重历史负担的旧开发工具,这样意味着我们能够在人机交互方面能够考虑更加的全面。我们并不打算让计算机处于现有模型的束缚(比如单指针鼠标鼠标交互)。相反,我们想让你探索其中的可能性,这才是Kivy与众不同之处。
2.1.2 高效
Kivy 是高效的。这适用于应用程序的开发速度,也适用于应用程序的执行速度。我们已经使用很多方法去优化Kivy。例如通过充分利用现有编译器的能力,在C语言层级上实现对执行时间非常敏感的功能。更重要的是,我们采用了更加明智的算法去尽可能降低开销。在某些任务和算法的地方,我们也使用GPU,今天的图形显卡的计算能力已经远远超过今天的CPU,这就是为什么我们试图让GPU尽可能的工作,从而大大提高性能。
2.1.3 敏捷灵活
Kivy是灵活的。这样意味着它可以在各种不同的设备上运行,包括Android支持的智能手机或者平板电脑。我们已经支持了主流的操作系统(Window,Linux,OSX)。“敏捷”也说明Kivy的快节奏发展使它能够很快适应新技术。不止一次,我们添加了对新外部设备和软件协议的支持。有时候甚至这些设备还没有正式发布的。Kivy还可以与大量不同的第三方解决方案结合使用。例如在Window系统上,我们支持WM_TOUCH多点触摸,这样意味着任何具有window 7 笔和触摸驱动程序的设备都可以与Kivy一起工作。在苹果OSX系统上,你可以使用苹果的多点触摸设备,比如触控板和鼠标。在Linux系统上,可以使用HID内核输入事件。除此以外,我们还支持了TUIO和一些其他的输入源。
2.1.4 专注
Kivy是专注的。你可以通过几行代码就能实现一个简单的应用程序。Kivy框架使用的是Python语言,而Python是一门通用性强,功能强大,易于使用的编程语言。另外,我们创建了一种新的描述语言——Kivy语言。它用于定义复杂的用户界面。这门语言可以让你快速设置,连接,排列你应用程序的每个元素。我们认为让你专心于应用程序本质功能的实现更甚于聚焦其他繁琐沉重的事情。
2.1.5 资金支持
Kivy是由专业的人员踊跃参与开发的。它是由一个社区和商业支持开发的解决方案,是有资金支持的。我们一些核心人员以开发Kivy作为生计的。Kivy可以说,它不是由一个业余的人员开发的小型实验性项目,它可是认真的。
2.1.6 免费
Kivy可以免费使用。你不必为此付出代价。如果你卖一个使用Kiy框架的应用程序赚钱,你也不必要付出一毛钱。
网友评论