Ответ 1
QPython позволяет использовать библиотеку Kivy для разработки графических приложений
Да, qpython - это интерпретатор + связанные с ним инструменты и имеет отличную интеграцию с kivy. Вы не можете скомпилировать код kivy в автономный apk только с qpython + android.
QPython и Kivy используют SL4A, в то время как QPython расширяет стандарт SL4A (или его привязки для Python), добавляя некоторые NFC и подобные функции
Kivy не использует SL4A. Мы достигаем интеграции с android api в основном через pyjnius, библиотеку для автоматической упаковки классов java с помощью python, которая позволяет вам напрямую вызвать java api. Мы также отделили некоторые стандартные вещи от pythonic интерфейса с plyer.
(я увидел позже, что вы уже нашли это)
QPython используется для создания скриптов python, которые могут использовать широкий диапазон модулей, библиотек, но для этого требуется QPython для запуска на целевом устройстве. Невозможно упаковать script в apk.
Я не использую qpython много, но я думаю, что это правильно, хотя в некоторых случаях некоторые инструменты могут превращать скрипты в apks (например, вы можете использовать инструменты сборки kivy, если у вас есть интерфейс kivy, или, может быть, sl4a имеет что-то для этого).
Kivy OTOH, позволяет разработчику писать приложения, которые скомпилируются в apk, используя свою систему построения на основе облаков (альтернатива - локальная система сборки может быть настроена на Ubuntu Linux) [Тем не менее, я заметил, что большинство примеров apk, которые используют Kivy довольно большие, в диапазоне 40 МБ. Я что-то пропустил?]
У нас есть базовая система построения на основе облаков, но сейчас ничего подобного нет, почти все строят apks на собственной машине, используя наши инструменты сборки для Android. Они запускаются на Linux или OSX и могут быть легко запущены на виртуальной машине, если это необходимо.
Минимальное приложение имеет размер APK размером 7 МБ из-за необходимости связывания интерпретатора python и множества модулей.
QPython apk имеет 2 версии i.e один для Python-2.7 и еще один для Python-3.x. Для Kivy я не уверен, какая версия.
Kivy сам поддерживает python3, но наши инструменты для сборки Android поддерживают только python2.7.
Создайте впечатление, что и QPython, и Kivy разрабатываются одним разработчиком каждый (или только один человек действительно активен в настоящее время) и еще не имеют сообщества biggish. [Это моя самая большая проблема]. Я замечаю, что есть 3-4 вопроса с тегом "qpython" на SO и более тысячи с "kivy"!
Развитие Kivy довольно активно с несколькими постоянными участниками и более спорадическими. Вы можете увидеть, например, недавнее действие фиксации в github. Это, безусловно, намного больше, чем один разработчик!
Kivy, похоже, пытается расширить характер приложения, которое может быть написано с его помощью, по сравнению с QPython. Есть API, как plyer и pyjnius, которые помогают расширить возможности. Возможно, довольно значительно, по сравнению с QPython.
Я думаю, что qpython включает pyjnius. Не уверен, что нужно.
Оба QPython и Kivy, похоже, находятся в стадии разработки. Кажется, что сбои программы (/ script) (/сбои) сообщаются на обоих наборах инструментов.
Я не уверен, на что вы смотрите, но в любом нетривиальном проекте появятся аварийные/сбои/ошибки. Я не думаю, что kivy особенно по своей природе нестабилен.
В целом, мнение в результате (из вышеприведенных пунктов), похоже, качается в пользу Киви, немного больше.
Я бы сказал, что qpython и kivy - совсем другие вещи. Qpython позволяет писать и запускать скрипты, а kivy - графическая структура и связанные с ней инструменты для создания автономных приложений. Там некоторые совпадения с задачами, которые могут быть достигнуты с обоими из них, но также и с множеством вещей, где они не подходят, например, я думаю, что qpython, вероятно, гораздо удобнее создавать быстрые скрипты без gui, например. простая автоматизация (я думаю, это возможно), тогда как я думаю, что kivy - гораздо лучший выбор для создания автономных приложений с нетривиальными guis. Конечно, вы можете написать код kivy в qpython, как обсуждалось, но это не отличный пользовательский интерфейс для чего-то нетривиального, и вам все равно нужен настольный компьютер/ноутбук, чтобы сделать автономный apk.