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.
- 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.
- 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.
- Kivy Tutorial
- Hello World in Kivy
- Python | PageLayout in Kivy
- Python | Animation in Kivy
- Python | Canvas in kivy
- Python | StackLayout in Kivy
- Python | Kivy .kv File
- Python | Scatter in kivy
- GridLayouts in Kivy | Python
- Disable Kivy Button
- Use image as a button in kivy
- Python | RecycleView in Kivy
- Python | Bubble in kivy
- Python | Accordion in kivy
- Python| AnchorLayout in Kivy
- Python - Add audio files in kivy
- Python | AnchorLayout in Kivy using .kv file
- Python | Set Background Template in kivy
- Add image button using .kv file in kivy
- Change button Color in Kivy
If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to firstname.lastname@example.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.