Writing platform-dependent code
Most of the projects in this book are inherently cross-platform, thanks to Kivy being extremely portable. This time, however, we're building an app that will be purposefully single-platform. This is certainly a severe limitation that reduces our potential user base; on the other hand, this gives us an opportunity to rely on platform-specific bindings that provide extended functionality.
The need for such bindings arises from the fact that Kivy strives to be as cross-platform as possible and delivers a similar user experience on every system it supports. This is a huge feature by itself; as a plus, we have the ability to write code once and run everywhere with little to no tweaks.
The downside of being cross-platform, however, is that you can only rely on the core functionality supported by every system. This "lowest common denominator" feature set includes rendering graphics on the screen, reproducing a sound if there is a sound card, accepting...