What is Kivy?

Kivy is an opensource multi-platform GUI development library for Python and can run on iOS, Android, Windows, OS X, and GNU/Linux. It helps develop applications that make use of innovative, multi-touch UI. The fundamental idea behind Kivy is to enable the developer to build an app once and use it across all devices, making the code reusable and deployable, allowing for quick and easy interaction design and rapid prototyping.

This easy to use framework contains all the elements for building an application such as:

  • Extensive input support for input devices such as mouse, keyboard, TUIO, and OS-specific multi-touch events
  • A graphic library using only OpenGL ES 2
  • A wide range of widgets built with multi-touch support
  • An intermediate language Kv language, used to design custom widgets easily

So does this mean you should learn Kivy?

Let’s create a list of advantages and disadvantages and see what Kivy can do and what it can not and then you can decide for yourself, whether it’s worth your time or not.
 

Advantages

  • Based on Python, which is the extremely powerful given it’s library rich nature.
  • Write code once and use it across all devices.
  • Easy to use widgets built with multi-touch support.
  • Performs better than HTML5 cross-platform alternatives.

Disadvantages

  • Non-native looking User Interface.
  • Bigger package size (because Python interpreter needs to be included).
  • Lack of community support (Kivy Community isn’t particularly large).
  • Lack of good examples and documentation.
  • Better and more community rich alternates available if only focusing on Mobile Cross-platform devices i.e React Native.
My Personal Notes arrow_drop_up

Check out this Author's contributed articles.

If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to contribute@geeksforgeeks.org. See your article appearing on the GeeksforGeeks main page and help other Geeks.

Please Improve this article if you find anything incorrect by clicking on the "Improve Article" button below.