Я собираюсь начать разработку Android и выбрать язык. Я знаю Python, но мне придется изучать Java. Я хотел бы узнать от тех из вас, кто использует Python на Android, каковы ограничения. Кроме того, есть ли какие-либо преимущества по сравнению с Java?
Каковы ограничения Python на Android?
Ответ 1
Я исследовал это недавно по тем же причинам. Мои выводы заключались в том, что я не мог использовать Python для разработки приложения, ориентированного на родной язык, чего я хотел в то время. В частности:
-
Python не может получать обратные вызовы из классов Java UI, поэтому вы не можете использовать какие-либо собственные элементы интерфейса Java, такие как ListView и т.д. Доступны только диалоговые окна и т.д. Если у вас есть полностью пользовательский интерфейс, такой как игра, вы можете попробовать PyGame для Android, или вы можете посмотреть Kivy, который также использует PyGame.
-
Упаковка приложений Python очень сложная, особенно потому, что интерпретатор Python по умолчанию не включен в Android. Команды Kivy и PyGame делают некоторый прерывный прогресс в этом.
-
Из-за вышеупомянутых проблем Python по существу никогда не используется для создания полноценных приложений, опубликованных в магазине приложений, и поэтому литература о том, как обрабатывать многие проблемы с SL4A (Scripting Layer для Android), очень тонкий.
Итак, если вы хотите создать приложение, которое использует собственные элементы пользовательского интерфейса, которые вы действительно можете распространять в Play Store, или оба, Python, к сожалению, не является вариантом.
Ответ 2
Большинство пунктов, упомянутых Андреем, стоят, я просто хотел упомянуть, что python может быть и используется для полноценных приложений, опубликованных в GooglePlay и даже iOS. Я не могу говорить для других фреймворков, но вот несколько примеров приложений, опубликованных с использованием Kivy.
- Process Craft Google Play iOS
- Молот фэнтезийной войны
- PreseMT является производителем презентаций с несколькими форматами
- Памятные роботы
- Ground Truth
- Kaleidoscope
- демонстрационный пример демонстрации проекта Kivy
- игра DefelectTouch iOS
- Bargenius и многое другое...
В упаковке мы постарались сделать это как можно проще, мы также предоставляем
- Предварительно построенная VM, которую можно использовать, чтобы сделать ваш apk с вами, чтобы ничего не делать, кроме копирование вашего проекта и выполнение одной команды.
В графическом интерфейсе, по умолчанию пользовательский интерфейс ui (по умолчанию соответствует теме Android Holo). Однако его можно настроить так, чтобы он напоминал внешний вид и внешний вид, хотя я не пробовал его лично.
О, и пока речь идет о приложениях на основе python на Android, я нашел этот проект упомянутым в stackoverflow PyMob, их apps упоминается несколько интересных приложений.
Ответ 3
Я разработал Android-приложения на рынке, закодированные в Python. Недостатки:
- До сих пор мои пользователи также загружали переводчика, но им сразу же было предложено сделать это. (ОБНОВЛЕНИЕ: см. Комментарий ниже.)
- script не выходит должным образом, поэтому я включаю страницу webView, которая просит их перейти: Настройки: Приложения: ForceClose, если эта проблема возникает.