Python – работает ли Kivy в приложениях Android?

Как мы все знаем, при разработке приложения для Android в родной Java мы используем действия. Мне было интересно, что, разрабатывая приложения для Android на Python (с Kivy), Kivy реализует действия для самих приложений или нет? Потому что я не вижу каких-либо действий по реализации примеров кода.

Если он не реализует действия, мы теряем производительность или любую функциональность в приложении по сравнению с кодированием в родной Java?

Проще говоря, вы можете использовать «Действия» (начиная с помощью pyjnius), но на самом деле не определяете их, по крайней мере, обычно это не так, как работать с kivy.

Kivy не настраивает свой способ работы на целевой платформе, использует свои собственные системы и заставляет их работать там. Для того, что я знаю, преимущества разделения действий на Android – это просто способ сделать ваш код более аккуратно организованным и не означает изменения производительности. Он может позволить вам запускать ваше приложение различными способами (например, из общего ресурса), но вы можете сделать это с помощью p4a / buildozer, отправив сообщения о намерениях, если вам нужно. С помощью kivy вы организуете свой код, как и для любого проекта python, используя модули.

Kivy – отличный инструмент для разработки приложений для Android. Лучшим преимуществом использования Kivy является то, что он является кросс-платформой, и один и тот же проект можно использовать для публикации приложений на mutti-платформах.

Однако у него есть некоторые недостатки, связанные с производительностью (как и большинство кросс-платформенных инструментов, таких как единство, кокос и т. Д.). Если вы разрабатываете только для Android, я бы предложил изучить инструменты разработки, которые используют Java. Это поможет создать меньший APK-файл, который, в свою очередь, помогает лучше удерживать пользователей.

Наверное, ты настоящий лояльный поклонник Python, но я должен рассказать вам о его преимуществах и недостатках.

преимущества

  1. Чистый питон и его всемогущество в ваших руках.
  2. Относительно простое развертывание с помощью buildozer без необходимости слишком глубоко погружаться в детали конкретной платформы.
  3. Вы также можете запустить приложение на рабочем столе, поэтому нет необходимости устанавливать дополнительные эмуляторы / виртуальные машины, чтобы заставить его работать

Недостатки

  1. Не так много информации в Интернете, даже в stackoverflow
  2. Довольно грязная документация
  3. Нет очевидного способа протестировать приложение
  4. Не очевидные механизмы размещения виджетов, особенно во встроенных макетах, что вызывает такие ситуации, как: вы хотите разместить виджет в центре его родителя, но kivy помещает его куда угодно, но не туда, где вы хотите.
  5. Официальные примеры довольно уродливые, поэтому вы можете получить ложное представление о том, как может выглядеть ваше приложение.