Pull to refresh
KivyMD @HeaTTheatRread⁠-⁠only

Разработчик ПО (мобильные и десктопные системы)

Send message

Под конкретную — легко! Хоть под Windows 10!

Посмотрите мои публикации — в одной из статей я рассматривал примеры нескольких экранов программы Clean Master…
Насколько сложный проект можно реализовать с помощью Python и Kivy? Любой! Причем в пять раз дешевле и быстрее, чем аналогичный проект на Java! Единственное, что отталкивает разработчиков от Kivy — это невозможность свернуть и восстановить приложение из трея (это грубо — здесь есть свои нюансы), пиар (вот я пытаюсь, как могу, как-то популизировать данный фреймворк), ну и возможности — на самом деле Kivy может все, что может ЛЮБОЕ Java приложение! Скорость работы? Поскольку самые "тяжелые" части Kivy скомпилированы в C, скорость работы соответствующая. Плюс никто не запрещает вам использовать Cython для "тяжелой" математики в вашем проекте. Пробуйте, пишите, подскажем, ответим!

И да и нет. Минимальная стандартная сборка — это 8-9 Мб. Но! При сборке можно указать, какие библиотеки и API не включать в проект. Таким образом размер сборки сокращается до 4 Мб.

Я как-то не думал, что это может быть для кого-то большим вопросом.

Поскольку архитектура Kivy проектов предполагает модульность, эти параметры передаются при создании экземпляра используемого класса. К тому же, если я захочу, например, быстро протестировать новую цветовую схему, мне достаточно изменить значения переменных, которые отвечают за цвет приложения в файле Data/Themes/default.ini.


А если вы о самом формате этих значений, то это обычное представление цвета в формате rgba, которое чаще всего используется в Kivy:


>>> from kivy.utils import get_hex_from_color, get_color_from_hex
>>> get_hex_from_color([0.4, 0.11764705882352941, 0.2901960784313726, 0.5607843137254902])
>>> '#661e4a8f'

>>> get_color_from_hex('#661e4a8f')
>>> [0.4, 0.11764705882352941, 0.2901960784313726, 0.5607843137254902]

Расскажите это разработчикам Kivy и тысячам людей, которые его используют всместе c Python во всем мире!


Что только люди не придумают, лишь бы Java не изучать…

Вы видели у статьи метку? Или вы пытаетесь развести здесь бесполезный холивар?

Kivy приложение стартует долго только первый раз — после установки пакета и его запуска — необходимо время, чтобы извлечь ресурсы из архивов и развернуть площадку для запуска интерпретатора и программы. Все последующие запуски приложения, написанного на Kivy — 3-4 секунды, смотря что вы там накодили.

Ну, да, я так и написал: все последующие старты приложения вполне себе вминяемы по времени запуска.

Нет, ты не понял. Точнее я не так обрисовал ситуацию. Ломается экран, когда пытаешься в процессе загрузки, например, менять лейбл окна, после чего собираешься вывести новый экран в ScreenManager. Утром в личку пришлю пример.

Дело в том, что причина здесь не в нехватке каких-то библиотек, а, скорее, в процессе компиляции Python под arm. Откровенно говоря, толком не вникал в этот вопрос.

Про эти объекты мне известно. Дело в том, что невозможно (по крайней мере, у меня не получилось) создать диалоговое окно загрузки чего-либо, закрыть его и вывести следующий экран. Поэтому в модуле реализованы такие костыли. Если тебе удалось решить это, с удовольствием посмутрю на твое решение.

Сплеш с выбранным вами лого появится мгновенно при нажатии иконки собранного и установленного приложения. А вот стартовый экран программы появится примерно через четыре-пять секунд.

Спасибо за материал. Писал что-то похожее для своих проектов. Модуль именован KDialog. Кстати, как насчет мультипоточности в Kivy — твой пакет прерывает выполнение программы при появлении окна выбора, скажем, "Да/Нет"?

Все необходимые библиотеки уже будут включены в установочный пакет. Насчет импортов… Не забывайте, что Kivy — это еще и десктоп и приложение могут запускать из исходников на машинах, где Kivy может не быть или он установлен с ошибками.

Вы можете подключить и использовать сторонний модуль player, который предоставляет некоторые возможности по использованию камеры, акселерометра и др. функций девайса. Также можно использовать библиотеку PyJnius, и дергать все доступные для Java разработчиков Android API.

Не совсем так. Как я уже говорил, большая половина этого объема — библиотеки, от которых при компиляции можно избавиться.

Процесс компиляции опишу в следующей статье.

Пакет, который я собирал, Kivy взвесил мне на 8 Мб. Но! При сборке можно указывать, какие модули и библиотеки не включать в пакет. Таким образом, у меня получались пакеты 3-3.5 Мб.

Приложение писал в и собирал на Linux машине. Сборку делал под Android. iOS не имею, поэтому собрать под эту платформу не могу. Вообще Kivy кроссплатформеный фреймворк, по заявлениям разработчиков, работает везде и даже на стиральных машинках.

P.S.
О машинках я пошутил :)

Information

Rating
Does not participate
Location
Луганск, Луганская обл., Украина
Date of birth
Registered
Activity