Kiedy sam Kivy nie wystarczy
Autor: Idego Group

Ten wpis na blogu bada Kivy – wieloplatformową bibliotekę Python przydatną do szybkiego tworzenia aplikacji z innowacyjnymi interfejsami użytkownika, szczególnie gier i aplikacji wielodotykowych. Jej wydajność dorównuje natywnym alternatywom mobilnym, a przetwarzanie grafiki wykorzystuje akcelerację GPU poprzez implementacje Cython.
Aplikacje Kivy działają na Mac, Windows, Linux, iOS, Android i Raspberry Pi przy minimalnych modyfikacjach. Jednak ta wieloplatformowa zdolność wiąże się z ograniczeniami – programiści mogą korzystać tylko z podstawowych funkcji obsługiwanych powszechnie we wszystkich systemach. Framework natywnie obsługuje grafikę z akceleracją sprzętową, wejście dotykowe, odtwarzanie dźwięku i sieciowanie, ale brakuje mu bezpośredniego dostępu do funkcji specyficznych dla urządzenia, takich jak aparaty, mikrofony, GPS, Bluetooth i biometryczne zabezpieczenia.
Dodatkowe biblioteki rozszerzają funkcjonalność Kivy: Pyjnius umożliwia bezpośredni dostęp do klas Java z Pythona, Audiostream zarządza streamingiem audio, a Plyer zapewnia dostęp do funkcji sprzętowych.
W przypadku funkcjonalności specyficznej dla Androida Pyjnius pozwala na korzystanie z natywnego API Androida. Konkretne przykłady użycia klas Java MediaRecorder i MediaPlayer demonstrują możliwości nagrywania dźwięku.
Buildozer automatyzuje proces pakowania dla aplikacji Android, zarządzając zależnościami i wymaganiami kompilacji automatycznie.