Author: Dusty Phillips
Reviwed by Mike Driscoll
What is Kivy? Does this book help you?
Kivy is a neat package that allows Python developers to create user interfaces on mobile devices. You can also deploy the applications to desktops too. This is the second book I’ve reviewed on the subject, the first being Kivy – Interactive Applications in Python by Roberto Ulloa which came out last year from Packt Publishing.
The first chapter is an introduction to Kivy and KV language. The KV language is kind of like a powerful version CSS for GUIs. You will learn how to create basic widgets in this chapter and dig a little into KV too as well as start the overarching project of the book. The second chapter jumps into how Kivy’s event system works and how to access properties in KV-defined widgets.
Chapter 3 digs into how to manipulate the widgets. What this means is that you’ll learn how to swap widgets and entire forms. Chapter 4 talks about the concept of “iterative development” and goes through and example of how the author attacked a problem from different angles.
You also learn how to retrieve data from the internet using Kivy. In Chapter 5 we learn about Kivy’s graphics (i.e. drawing / animation) to make the UI more attractive. It also discusses adding icons to your application.
Chapter 6 is all about persistence in Kivy world. How do you save your settings? You’ll find out in this chapter.
You’ll also learn about the default settings that all Kivy applications have and how to modify them. In Chapter 7, we learn about gestures. How to record gestures, touch events, firing events based on gestures, etc.
Chapter 8 is about Kivy’s advanced widgets. You will learn about the Carousel widget (which allows swiping between multiple widgets), the ModalView and Popup widgets (used for displaying widgets on top of other widgets), and an ActionBar. There is also an example of refactoring the code in this chapter. The 9th chapter covers how to release your application to Android and iOS using the custom deployment tool, buildozer.
I found this book to be a step above the previous Kivy book I read. While the title is a bit misleading, you will still learn a LOT about Kivy and its internals. I will say I had a bit of trouble following along in the graphics chapter and ended up just reading the examples instead of trying them. I enjoyed learning a lot of the neat little hints about how to use Kivy and how to mix in KV code with your Python appropriately.
While I would have liked to have seen other application examples in the book, this text covers all the highlights one would need to know to get started using Kivy. I think if you combine this book with the Kivy documentation and example snippets, you will be well on your way to mastering Kivy.