Build mobile apps efficiently with Kivy, the Python-powered graphical toolkit for creating natural user interfaces with elegant multitouch support. With this hands-on guide, you’ll learn step-by-step how to build and deploy a complete Kivy app for iOS and Android devices. If you’re just beginning to work with Python, but are reasonably familiar with its syntax, you’re ready to go.
Each chapter includes exercises, using examples that run on Python 3 and Python 2.7. Learn how Kivy simplifies mobile development with its cross-platform API and domain-specific Kv language, and why this free and open source toolkit is ideal for commercial products.
Design custom widgets with the Kv language
Delve into Kivy events, event handlers, and properties
Dynamically change which Kivy widgets are displayed
Understand and apply iterative development principles
Create basic animations, using Canvas and graphics primitives
Store local data with Kivy’s powerful key value store
Add basic gestures to switch between app views
Improve your app’s usability with Kivy’s built-in widgets
Deploy the app to your Android or iOS device, using Buildozer
Dusty Phillips is a Canadian software engineer and author. He holds a master's degree in computer science and is an active member of various open source communities, most notably Python, Arch Linux, and Gittip. He has written two previous books and won the 2010 Django Dash.
The animal on the cover of Creating Apps in Kivy is a kiang (Equus kiang). Native to the Tibetan plateau, the kiang is the largest of all wild asses and has never been domesticated. They bear a resemblance to donkeys and mules, although they are generally brown and tan as opposed to gray.
Adult kiangs can reach 13.3 hands (or 55 inches) tall at the shoulder and weigh around 900 pounds. They have large heads with convex muzzles and short, upright manes. A dark brown dorsal stripe reaches from the mane to the tail, a feature that can be found on many varieties of wild ass.
The kiang's Tibetan habitat is mostly alpine meadows and steppe country, where there is plenty of grass and shrubbery for grazing. The only predators the kiang faces, aside from humans, are wolves. The first response of a kiang is to flee from danger, but they will also use their powerful kick to deter an attacker if necessary.
Sometimes kiangs gather together in large herds, but most of the time they are separated into smaller groups. Older males have harems of females that can grow to almost 50 members. Each stallion controls an area of about two square miles, and vicious fights often occur when a younger male challenges a stallion’s supremacy.
Although population numbers have declined in recent years due to encroaching human territory and having to share grazing space with farmers' herds, the kiang is still considered a common sight and is not listed as threatened or endangered. In 1950, Thubten Jigme Norbu, the elder brother of the 14th Dalai Lama, was traveling through northern China and observed a herd of kiang moving across the plateau. He wrote, "They look wonderfully graceful and elegant when you see them darting across the steppes like arrows, heads stretched out and tails streaming away behind them in the wind."
Note: Reviewed as part of O'Reilly Media's Reviewer program. These comments were based on the Early Release eBook published in February 2014 but as the published version is essentially the same these comments are still relevant.
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.
Bottom Line No, I would not recommend this to a friend
The author is talented, no question about that. But there are few concerns that made me unable to give more than 2 stars.
1. The book title is misleading, it gives the impression that it is for intermediate to advanced level people who want to see various mobile app creation techniques in kivy. This book should have been named something like "Beginning kivy" or "Jump start kivy". But surely not "Creating apps in kivy" IMHO.
2. The entire book circles around one application only, and somehow the author decided that the best app for a mobile that would catch people's attention is of course... A weather app.. If this type of mobile applications is one of your favourites, then this book is for you..
3. The book content (if we take it as a beginner's book), does not provide much new information that is not already in the extensive complete documentation. The only plus is that the book is more readable than the documentation, it is written as a long connected tutorial so that you can follow it from start to end in a couple of hours and learn a couple of good things.
4. The book (at its current raw state), is too short (around 120 pages). You can pay 25 dollars and get it or just read the complete documentation for free on your e-reader, which is harder, but much more rewarding..
Having said that, I want to emphasis on the fact that the writer's writing style is unique, he does have the potential to create a bestseller if he ever decides to do that. I assume the time limits or his other projects might have affected his decisions while writing the book.
P.S: This is a re-post, the original post got stuck in a pending status in O'reilly's reviewing system without any response from Reader Reviews Support .
Thanks to Jon from O'reilly for quickly sorting this out and O'reilly twitter admins for recommending contacting Jon.
Bottom Line No, I would not recommend this to a friend
The book keeps it simple. The end-product is something you can use. The author writes engagingly, great sense of humour. I hope to see more examples, more complex products, more variety of product application... this is a great start!
Bottom Line Yes, I would recommend this to a friend