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 seen put out on the subject. The first book, Kivy – Interactive Applications in Python by Roberto Ulloa came out last year from Packt Publishing. This year, we have Dusty Phillips’ work, Creating Apps in Kivy from O’Reilly. I will be reviewing the PDF version of the book.
- Why I picked it up:I picked this book up because I like the author’s previous work, Python 3 Object Oriented Programming
- Why I finished it: The book is pretty short and it’s interesting
- I’d give it to: Someone who already knows Python
You can get this book in paperback, epub, mobi, or PDF.
This book is actually only about creating one application. It is 9 chapters and 132 pages in length.
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 last Kivy book I read. While the title is a bit misleading, you will still learn a LOT about Kivy and its internals. I saw a few typos here and there, but I also had an early release copy of the book, so I’m guessing my version hadn’t been completely edited yet. 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.
Creating Apps in Kivy
by Dusty Phillips
Other Book Reviews
- Kivy – Interactive Applications in Python
- Instant Flask Web Development by Ron DuPlain
- Real Python by Fletcher Heisler
- Python 3 Object Oriented Programming
Additional information about Kivy