Philosophy — Kivy 2.3.0 documentation (2024)

Table Of Contents

  • Philosophy
    • Why bother?
      • Fresh
      • Fast
      • Flexible
      • Focused
      • Funded
      • Free

In case you are wondering what Kivy is all about and what sets it apart fromother solutions, this document is for you.

Why bother?

Why would you want to use Kivy? After all, there are many great toolkits(or frameworks, or platforms) available out there – for free. You have Qt andFlash, to name just two good choices for application development. Many ofthese numerous solutions already support Multi-Touch, so what is it that makesKivy special and worth using?

Fresh

Kivy is made for today and tomorrow. Novel input methods such as Multi-Touchhave become increasingly important. We created Kivy from scratch, specificallyfor this kind of interaction. That means we were able to rethink many things interms of human computer interaction, whereas older (not to mean ‘outdated’,rather ‘well-established’) toolkits carry their legacy, which is often a burden.We’re not trying to force this new approach to using a computer into the corsetof existing models (say single-pointer mouse interaction).We want to let it flourish and let you explore the possibilities.This is what really sets Kivy apart.

Fast

Kivy is fast. This applies to both application development and applicationexecution speeds. We have optimized Kivy in many ways. We implementtime-critical functionality on the C level to leverage the power of existingcompilers. More importantly, we also use intelligent algorithms to minimizecostly operations. We also use the GPU wherever it makes sense in ourcontext. The computational power of today’s graphics cards surpasses that oftoday’s CPUs by far for some tasks and algorithms, especially drawing. That’swhy we try to let the GPU do as much of the work as possible, thus increasingperformance considerably.

Flexible

Kivy is flexible. This means it can be run on a variety of different devices,including iOS and Android powered smartphones and tablets. We support all majoroperating systems (Windows, Linux, macOS, BSD). Being flexible also means thatKivy’s fast-paced development allows it to *adapt to new technologies quickly.More than once have we added support for new external devices and softwareprotocols, sometimes even before they were released. Lastly, Kivy is alsoflexible in that it is possible to use it in combination with a great number ofdifferent third-party solutions. For example, on Windows we support WM_TOUCH,which means that any device that has Windows 7 Pen & Touch drivers will justwork with Kivy. On macOS you can use Apple’s Multi-Touch capable devices, suchas trackpads and mice. On Linux and *BSD, you can use HID kernel input events.In addition to that, we support TUIO (Tangible User Interface Objects) and anumber of other input sources.

Focused

Kivy is focused. You can write a simple application with a few lines of code.Kivy programs are created using the Python programming language, which isincredibly versatile and powerful, yet easy to use. In addition, we created ourown description language, the Kivy Language, for creating sophisticated userinterfaces. This language allows you to set up, connect and arrange yourapplication elements quickly. We feel that allowing you to focus on theessence of your application is more important than forcing you to fiddle withcompiler settings. We took that burden off your shoulders.

Funded

Kivy is actively developed by professionals in their field. Kivy is acommunity-influenced, professionally developed and commercially backedsolution. Some of our core developers develop Kivy for a living.Kivy is here to stay. It’s not a small, vanishing student project.

Free

Kivy is free to use. You don’t have to pay for it. You don’t even have to payfor it if you’re making money out of selling an application that uses Kivy.

Philosophy — Kivy 2.3.0 documentation (2024)
Top Articles
Latest Posts
Article information

Author: Velia Krajcik

Last Updated:

Views: 6187

Rating: 4.3 / 5 (74 voted)

Reviews: 89% of readers found this page helpful

Author information

Name: Velia Krajcik

Birthday: 1996-07-27

Address: 520 Balistreri Mount, South Armand, OR 60528

Phone: +466880739437

Job: Future Retail Associate

Hobby: Polo, Scouting, Worldbuilding, Cosplaying, Photography, Rowing, Nordic skating

Introduction: My name is Velia Krajcik, I am a handsome, clean, lucky, gleaming, magnificent, proud, glorious person who loves writing and wants to share my knowledge and understanding with you.