Я хотел бы разработать (довольно простое) приложение для Android, которое будет распространяться через Play Store. Я хотел бы сделать это полностью на питоне. Однако онлайн-исследование меня не совсем просветило: большинство комментариев либо устарели (старше 1 года, и я чувствую, что с тех пор может быть улучшена интеграция python), либо они говорят о запуске python в android (например, здесь ).
Поэтому ищу информацию по вопросам:
- возможно ли полностью разработать приложение на Python - и какие инструменты для этого есть? (Например, рекомендуется ли Киви?)
- Если да, то в каких программных средах это лучше всего реализовать? (Я безуспешно пытался использовать Android Studio, но не смог найти способ запустить там код Python.)
Я новичок в разработке приложений и был бы очень признателен за любые попытки сделать это на python, а не на Jave и т.д., о которых я еще не знаю.
Большое спасибо за вашу помощь заранее.
Ответы:
Чтобы ответить на ваш первый вопрос: да, возможно разработать приложение для Android на чистом питоне , для этого я предлагаю вам использовать BeeWare , который представляет собой просто набор инструментов Python , которые очень хорошо работают вместе и позволяют вам разрабатывать платформенные нативные приложения на Python.
посмотрите это видео от создателя BeeWare, которое прекрасно объясняет и демонстрирует его применение
Как это устроено
Предпочтительным языком реализации Android является Java, поэтому, если вы хотите написать приложение Android на Python, вам необходимо иметь способ запускать код Python на виртуальной машине Java. Это то, что делает VOC . VOC - это транспилятор: он берет исходный код Python, компилирует его в байт-код CPython, а затем преобразует этот байт-код в Java-совместимый байт-код. Конечным результатом является то, что ваши файлы исходного кода Python компилируются непосредственно в файл Java .class, который можно упаковать в приложение Android.
VOC также позволяет вам получать доступ к собственным объектам Java, как если бы они были объектами Python, реализовывать интерфейсы Java с классами Python и создавать подклассы Java с классами Python. Используя это, вы можете написать Android-приложение непосредственно против нативных Android API.
После того, как вы написали собственное приложение для Android, вы можете использовать портфель для упаковки кода Python в виде приложения для Android.
Портфель - это инструмент для преобразования проекта Python в автономное собственное приложение. Вы можете упаковать проекты для:
Вы можете проверить это собственное приложение Android Tic Tac Toe, написанное на Python, с помощью пакета BeeWare. на GitHub
В дополнение к инструментам BeeWare вам потребуется установить JDK и Android SDK для тестового запуска вашего приложения.
и чтобы ответить на ваш второй вопрос: хорошей средой может быть все, что вам удобно, будь то текстовый редактор и командная строка или IDE, если вы ищете хорошую IDE для Python, я бы посоветовал вам попробовать Pycharm , в ней есть бесплатная версия для сообщества, аналогичная среде Android Studio, поскольку она была создана той же компанией.
Надеюсь, это было полезно
источник
Вы можете попробовать BeeWare - как описано на их веб-сайте:
Дает вам желание писать Android-приложения на Python прямо сейчас, а также дает то преимущество, что вам не нужно будет изучать еще один фреймворк в будущем, если вы в конечном итоге захотите что-то сделать на одной из других перечисленных платформ.
Вот Учебник для приложений Android .
источник
Есть два основных претендента на приложения Python на Android
Chaquopy
https://chaquo.com/chaquopy/
Он интегрируется с системой сборки Android и предоставляет Python API для всех функций Android. Процитируем сайт: «Полный набор инструментов Android API и пользовательского интерфейса прямо в вашем распоряжении».
Beeware (набор инструментов для виджетов Toga)
https://pybee.org/
Это обеспечивает многоцелевой транспилятор, поддерживает множество целей, таких как Android и iOS. Он использует общий набор инструментов виджетов (тога), который сопоставляется с вызовами интерфейса хоста.
Который из?
Оба являются активными проектами, и их учетные записи на github показывают довольно много недавней активности.
Будьте осторожны, Toga, как и все библиотеки виджетов, хорош для распространения основ на нескольких платформах. Если у вас есть базовый дизайн и вы хотите перейти на другие платформы, это должно сработать для вас.
С другой стороны, Chaquopy гораздо точнее отображает API Python в Android. Он также позволяет смешивать Java, что полезно, если вы хотите использовать существующий код из других ресурсов. Если у вас есть строгие цели дизайна и вы в основном хотите ориентироваться на Android, это гораздо лучший ресурс.
источник
Android, Python!
Когда я увидел эти два ключевых слова вместе в вашем вопросе, Киви - это первое, что пришло мне в голову.
Прежде чем приступить к собственной разработке Android на Java с помощью Android Studio, я пробовал Kivy . Это просто потрясающе. Вот несколько преимуществ, которые я смог выяснить.
Простой в использовании
С основами Python вам не составит труда изучить его.
Хорошее сообщество
Он хорошо задокументирован и имеет отличное активное сообщество.
Кросс-платформа.
Вы можете разработать что-то для Android, iOS, Windows, Linux и даже Raspberry Pi с помощью этой единой платформы. Открытый источник.
Это бесплатное программное обеспечение
По крайней мере, некоторые из его (кроссплатформенных) конкурентов хотят, чтобы вы заплатили комиссию, если вам нужна коммерческая лицензия.
Поддержка ускоренной графики
Графический движок Kivy, созданный поверх OpenGL ES 2, делает его подходящим для программного обеспечения, которое требует быстрой визуализации графики, такого как игры.
Теперь, переходя к следующей части вопроса, вы не можете использовать Android Studio IDE для Kivy. Вот подробное руководство по настройке среды разработки.
источник