Можно ли использовать Python для написания кроссплатформенных приложений как для iOS, так и для Android?

Можно ли использовать Python для написания кроссплатформенных приложений как для iOS, так и для Android?


person user1404932    schedule 19.05.2012    source источник
comment
дублировать?   -  person keyser    schedule 19.05.2012
comment
@keyser меня не убедил выбранный ответ на этот вопрос, я думаю, что его можно использовать, и чтобы подтвердить, что я задал этот вопрос   -  person user1404932    schedule 19.05.2012
comment
Это вообще изменилось?   -  person johnny    schedule 05.12.2015
comment
Использует pyside, pyqtdeploy жизнеспособный вариант в 2018 году?   -  person desertSniper87    schedule 25.03.2018


Ответы (5)


Для Android Google предоставляет нечто, называемое ASE (Android Scripting Environment), которое позволяет запускать языки сценариев (включая Python) на Android. Подробнее см. здесь

Для iOS это может быть немного сложнее (и я бы посоветовал проверить последнюю версию соглашения iOS SDK, чтобы проверить текущее состояние закона - Apple имеет тенденцию периодически разрешать и запрещать такие приложения). Что касается технической части, вам может потребоваться взаимодействие между Python и Objective C, а также некоторые волшебные действия, чтобы статически связать все библиотеки, необходимые Python; полная информация доступна здесь. Другой подход к разработке Python для iOS - встраивание интерпретатора Python в ваше приложение и распространение с ним вашего скрипта Python (чтобы хорошо играть с правилами Apple). В этом случае ваше приложение Python будет интерпретатором Python, который упакован с вашим скриптом и запускает его автоматически.

Второй вариант - использовать фреймворк Kivy (kivy.org) - фреймворк для написания сенсорных приложений на Python и их упаковки для различных платформ. Некоторое время у него была поддержка Android, а недавно добавлена ​​поддержка iOS.

person Raheel    schedule 19.05.2012
comment
также это как раз и является целью Kivy (kivy.org) - это фреймворк для написания сенсорных приложений на Python и упаковать их для разных платформ. Некоторое время у него была поддержка Android, а недавно добавлена ​​поддержка iOS. - person Raheel; 19.05.2012
comment
Kivy пока не поддерживает Python 3.3+ для iOS. - person Iorek; 25.09.2018

Возможный вариант - kivy: классная кроссплатформенная среда Python, которая работает для Android, Win7, Linux, MacOSX и iOS.

Обновление: проект kivy растет ежедневно, теперь поддерживает также Raspberry Pi

person piertoni    schedule 12.06.2012

Для написания приложения с графическим интерфейсом вы можете использовать библиотеку Toga, а затем упаковать ее с помощью < href = "https://pybee.org/project/projects/tools/briefcase/" rel = "nofollow noreferrer"> портфель в приложение для Android и / или iOS (или Windows, Linux, macOS и т. д.) .

Примечание. проект все еще находится на стадии альфа-тестирования, но находится в стадии быстрой разработки.

person ocupe    schedule 25.05.2017

Вы можете попробовать комбинировать brython и cordova. Вики Brython описывает как написать приложение для Android с помощью Brython, который может предоставить необходимую информацию для этого, также используя Cordova. Я еще не тестировал это, но звучит многообещающе. Однако вы должны знать, что по своей природе Brython не может поддерживать пакеты, скомпилированные x86, такие как OpenCV (см., Например, здесь) . С другой стороны, если вы немного знаете о JavaScript / HTML5, вы можете использовать собственные функции WebView, например http://www.brython.info/gallery/three.html.

person Tobias Kienzler    schedule 25.04.2018

Как упоминал @piertoni, BeeWare позволяет писать собственные приложения для iOS и Android на Python.

person michael    schedule 08.02.2019