Kivy is a framework designed to create rich natural user interfaces for your Python code on all the main platforms available today including Android and iOS. A big feat considering the difficulty in getting basic Python code to run consistently on Windows and UNIX-based systems such as MacOS and Linux. The promise of a framework where a developer can code once and distribute functional applications to all the major platforms seems unbelievable but worthy of investigation. It is with this mind set that I approach this new book — informed, doubting but willing to be educated.
The author, Dusty Phillips, is well known in Kivy circles with Gabriel Pettier, a core Kivy developer, sprooking Dusty’s contribution to the project. Having read the book and his comments on common traps, it is indead obvious that Dusty is very familiar with Kivy. A major omission in the introduction however is a summary of Dusty’s experience in the creation and deployment of an App or Apps using Kivy to design the user interface.
The book’s title ‘Creating Apps in Kivy’ is a misnomer. The book works you through the creation of a single weather app from inception through to a very brief discussion on the deployment on Android and iOS. I think Dusty’s working title ‘Creating an Application in Kivy’ would have been a better representation of what the book is about.
In the introduction the author identifies his target audience as fairly new programmers or programmers that have not worked with Python and want to utilise the Kivy interface. Personally I don’t believe either of these groups would feel empowered to develop and deploy their own application after reading this book alone. Readers are able to follow the text verbatim but would not walk away with an understanding of what is going on and how Python and Kivy are interacting.
I thought the presentation of the book was adequate but after many sequential code snippets you feel a little overwhelmed. Potential readers have the choice of reading the book from cover-to-cover or jumping to relevant sections as needed: The former is laborious and the latter of little value when developing a different type of application.
I also believe that more detail is needed on deployment. This chapter, arguably the most important in illustrating the value of Kivy over other GUI frameworks, only points you to various external resources and does not step you through the process as other chapters had attempted. I think the lack of images of the weather app working on an iOS and Android device is a serious omission that should be corrected in future editions.
In conclusion, I would rate this book 2 out of 5. I see the value in documenting the creation of a single App but feel a little disappointed that I read the entire book and still feel the need to search elsewhere for answers to basic questions regarding programming and deployment of apps developed using the Kivy framework.