Czy można używać języka Python do pisania aplikacji wieloplatformowych na systemy iOS i Android?

84

Czy można używać Pythona do pisania aplikacji wieloplatformowych zarówno na iOS, jak i na Androida

user1404932
źródło
1
duplikować?
keyser
@keyser nie przekonuje mnie wybrana odpowiedź na to pytanie, myślę, że można ją wykorzystać i aby potwierdzić to pytanie
zadałem
Czy to się w ogóle zmieniło?
johnny
Czy używanie pyside , pyqtdeploy jest realną opcją w 2018 roku?
desertSniper87

Odpowiedzi:

28

W przypadku Androida Google udostępnia coś, co nazywa się ASE (Android Scripting Environment), które umożliwia uruchamianie języków skryptowych (w tym Pythona) w systemie Android. Więcej szczegółów tutaj

W przypadku iOS może to być nieco bardziej skomplikowane (i radziłbym sprawdzić najnowszą wersję umowy SDK iOS, aby sprawdzić aktualny stan prawny - Apple ma tendencję do okresowego zezwalania i blokowania takich aplikacji). W części technicznej może być konieczne połączenie Pythona i Objective C, a także wykonanie pewnych kreacji, aby statycznie połączyć wszystkie biblioteki wymagane przez Python; pełne szczegóły dostępne są tutaj . Innym podejściem do programowania w języku Python w systemie iOS byłoby osadzenie interpretera języka Python w aplikacji i rozpowszechnianie wraz z nim skryptu języka Python (aby dobrze bawić się regułami Apple). W tym przypadku Twoja aplikacja Pythona byłaby interpretera Pythona, który jest dołączony do twojego skryptu i uruchamia go automatycznie.

Drugą opcją jest użycie frameworka Kivy (kivy.org) - jest to framework do pisania przyjaznych dla dotyku aplikacji w Pythonie i pakowania ich na różne platformy. Od jakiegoś czasu obsługuje Androida, a ostatnio dodano obsługę iOS

Raheel
źródło
31
również to jest właśnie celem Kivy ( kivy.org ) - jest to framework do pisania przyjaznych dla dotyku aplikacji w Pythonie i pakowania ich na różne platformy. Od jakiegoś czasu obsługuje Androida, a ostatnio dodano obsługę iOS
Raheel
Python 3.3+ na iOS nie jest jeszcze obsługiwany przez Kivy.
Iorek
78

Opcją jest kivy : fajny, wieloplatformowy framework Pythona, który działa na Androida, Win7, Linux, MacOSX i iOS.

Aktualizacja: projekt kivy rośnie codziennie, teraz obsługuje również Raspberry Pi

piertoni
źródło
4

Do napisania aplikacji z GUI możesz skorzystać z biblioteki Toga , a następnie spakować ją wraz z teczką do aplikacji na Androida i / lub iOS (lub Windows, Linux, macOS itp).

Uwaga: projekt jest nadal w stanie alfa, ale szybko się rozwija.

ocupe
źródło
2

Możesz spróbować połączyć i . Brython wiki opisuje, jak napisać aplikację na Androida za pomocą Brython , która może dostarczyć niezbędnych informacji do zrobienia tego również za pomocą Cordova. Nie testowałem tego jeszcze, ale brzmi obiecująco. Należy jednak mieć świadomość, że ze względu na swój charakter Brython nie może obsługiwać pakietów skompilowanych x86, takich jak OpenCV (patrz np. Tutaj ). Z drugiej strony, jeśli wiesz trochę o JavaScript / HTML5, możesz skorzystać z natywnych funkcji WebView, np . Http://www.brython.info/gallery/three.html .

Tobias Kienzler
źródło
1

Jak wspomniał @piertoni, BeeWare umożliwia pisanie natywnych aplikacji na iOS i Androida w Pythonie.

Michael
źródło