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.