Chciałbym opracować (raczej prostą) aplikację na Androida, która będzie rozpowszechniana w Sklepie Play. Chciałbym to zrobić całkowicie w Pythonie. Jednak badania online nie do końca mnie oświeciły: większość komentarzy jest albo nieaktualna (> 1 rok i wydaje mi się, że od tego czasu może być lepsza integracja Pythona) lub mówią o uruchomieniu Pythona na Androidzie (np. Tutaj ).
Dlatego szukam informacji odnośnie pytań:
- czy można stworzyć aplikację całkowicie w języku Python - i jakie są do tego narzędzia? (Czy np. Kivy jest godna polecenia?)
- jeśli tak: jakie są najlepsze środowiska oprogramowania do wdrożenia tego rozwiązania? (Próbowałem bezskutecznie korzystać z Android Studio, ale nie mogłem znaleźć sposobu na uruchomienie tam kodu Pythona).
Jestem całkiem nowy w tworzeniu aplikacji i byłbym bardzo wdzięczny za wszelkie wskazówki dotyczące robienia tego w Pythonie, a nie w Jave itp., Których jeszcze nie znam.
Z góry wielkie dzięki za pomoc.
Odpowiedzi:
Odpowiadając na pierwsze pytanie: tak, można stworzyć aplikację na Androida w czystym Pythonie , w tym celu proponuję użyć BeeWare , który jest po prostu zestawem narzędzi Pythona , które bardzo dobrze ze sobą współpracują i umożliwiają rozwój natywne aplikacje platformy w języku Python.
kasy ten film przez twórcę BeeWare które doskonale wyjaśnia i demonstruje jego zastosowanie
Jak to działa
Preferowanym językiem implementacji systemu Android jest Java - więc jeśli chcesz napisać aplikację na Androida w Pythonie, musisz mieć sposób na uruchomienie kodu Pythona na wirtualnej maszynie Java. To właśnie robi LZO . VOC to transpiler - pobiera kod źródłowy Pythona, kompiluje go do kodu bajtowego CPython, a następnie transpiluje ten kod bajtowy do kodu bajtowego zgodnego z Javą. Efektem końcowym jest to, że pliki kodu źródłowego w języku Python są kompilowane bezpośrednio do pliku Java .class, który można spakować do aplikacji na Androida.
VOC umożliwia również dostęp do natywnych obiektów Java tak, jakby były obiektami Pythona, implementację interfejsów Java z klasami Pythona i podklasy klas Java z klasami Pythona. Korzystając z tego, możesz napisać aplikację na Androida bezpośrednio względem natywnych interfejsów API systemu Android.
Po napisaniu natywnej aplikacji na Androida możesz użyć Aktówki, aby spakować kod Pythona jako aplikację na Androida.
Aktówka to narzędzie do konwersji projektu Pythona na samodzielną aplikację natywną. Możesz spakować projekty dla:
Możesz sprawdzić tę natywną aplikację Tic Tac Toe na Androida napisaną w Pythonie, korzystając z pakietu BeeWare. w serwisie GitHub
Oprócz narzędzi BeeWare, aby przetestować aplikację, musisz mieć zainstalowany pakiet JDK i Android SDK.
i odpowiadając na drugie pytanie: dobrym środowiskiem może być wszystko, w czym czujesz się komfortowo, czy to edytor tekstu i linia poleceń, czy IDE, jeśli szukasz dobrego środowiska IDE dla Pythona, sugerowałbym wypróbowanie Pycharm , ma edycja społecznościowa, która jest darmowa i ma podobne środowisko jak android studio, ze względu na fakt, że zostały stworzone przez tę samą firmę.
Mam nadzieję, że to było pomocne
źródło
Możesz wypróbować BeeWare - jak opisano na ich stronie internetowej:
Daje, że chcesz teraz pisać aplikacje na Androida w Pythonie, a ponadto ma tę zaletę, że nie będziesz musiał uczyć się kolejnego frameworka w przyszłości, jeśli w końcu chcesz zrobić coś na jednej z innych wymienionych platform.
Oto samouczek dotyczący aplikacji na Androida .
źródło
Jest dwóch głównych pretendentów do aplikacji Pythona na Androida
Chaquopy
https://chaquo.com/chaquopy/
To integruje się z systemem kompilacji Androida, zapewnia interfejs API Pythona dla wszystkich funkcji Androida. Cytując witrynę „Kompletny interfejs API systemu Android i zestaw narzędzi interfejsu użytkownika są bezpośrednio do Twojej dyspozycji”.
Beeware (zestaw narzędzi widgetów Toga)
https://pybee.org/
Zapewnia transpiler z wieloma celami, obsługuje wiele celów, takich jak Android i iOS. Używa ogólnego zestawu narzędzi widgetów (toga), który odwzorowuje wywołania interfejsu hosta.
Który?
Oba są aktywnymi projektami, a ich konta github pokazują sporo niedawnej aktywności.
Beeware Toga, podobnie jak wszystkie biblioteki widżetów, jest dobre do przenoszenia podstaw na wiele platform. Jeśli masz podstawowe projekty i chcesz rozszerzyć na inne platformy, powinno to dobrze działać.
Z drugiej strony Chaquopy jest znacznie bardziej precyzyjny w mapowaniu API języka Python na Androida. Umożliwia także mieszanie w Javie, przydatne, jeśli chcesz użyć istniejącego kodu z innych zasobów. Jeśli masz ścisłe cele projektowe i głównie chcesz kierować reklamy na Androida, jest to znacznie lepszy zasób.
źródło
Android, Python!
Kiedy zobaczyłem te dwa słowa kluczowe razem w twoim pytaniu, Kivy jako pierwsza przyszła mi do głowy.
Przed przejściem do tworzenia natywnego Androida w Javie przy użyciu Android Studio, wypróbowałem Kivy . To po prostu niesamowite. Oto kilka zalet, których mogłem się dowiedzieć.
Prosty w użyciu
Dzięki podstawom Pythona nie będziesz miał problemów z nauką go.
Dobra społeczność
Jest dobrze udokumentowany i ma świetną, aktywną społeczność.
Wiele platform.
Możesz tworzyć rzeczy na Androida, iOS, Windows, Linux, a nawet Raspberry Pi za pomocą tej jednej platformy. Otwarte źródło.
Jest to darmowe oprogramowanie
Przynajmniej kilku konkurentów (cross platform) chce, abyś uiścił opłatę, jeśli chcesz uzyskać licencję komercyjną.
Przyspieszona obsługa grafiki
Silnik graficzny Kivy zbudowany na OpenGL ES 2 sprawia, że nadaje się on do oprogramowania, które wymaga szybkiego renderowania grafiki, np. Gier .
Przechodząc do następnej części pytania, nie możesz używać IDE Android Studio dla Kivy. Oto szczegółowy przewodnik dotyczący konfigurowania środowiska programistycznego.
źródło