Ответы пользователя по тегу Android
  • Какие минусы и особенности есть у python kivy для Android/ios разработки?

    С уважаемым Fian не соглашусь.
    • В целом, разницы в производительности с React Native вовсе нет. Это не мое мнение, и не является секретом. В Хабре, Readit и т.д. неоднократно обсуждалось.
    • С мнением на счет лучшего функционала, так же необосновательны. Технологии на котором основывается работа Kivy и React Native одна и та же. Различие в способе запуска, это CPython и Javascript движок (V8 или что там). Количество готовых библиотек для Python, наверное, даже чуть больше чем для JS. И там и там можно напрямую обратиться к API операционной системы, в случае чего.
    • Для корпоративных приложении и production решении важна поддерживаемость решения. Между Kivy и JS фреймворками (React Native, NativeScript, ...), к сожалению, разница не так велика. И отстает от Native решении. У Kivy недостаток в наличих хороших примеров и документации, а у React Native плохая стабильность продукта (сам был свидетелем и не раз обсуждалось в интернете)
    • Хоть Kivy весьма не плоха, и хоть имею более 10 лет опыта с Python, но для себя решил использовать NativeScript+Vue. Решение хоть и молодое, но из за Vue фантастический удобная и за счет NativeScript постабильнее React Native
    • Слежу за развитием Kivy, и готов переидти на него после появления лучшего бинарного сборщика(не нравится buildozer) и развития UI фреймворков для него (KivyMD, ...)
    В чем плюсы и минусы kivy? Что должен знать перед началом изучения/разработки? Какие есть подводные камни, особенности?

    Все зависит от специфики Вашего приложения. Тема слишком обширная. Для создания строгого дизайна в виде форм используйте вместе с KivyMD. Для игр и приложении для обучения, где важна графика, Kivy и так очень хороша.
    Могут возникнуть трудности при сборке бинарных пакетов для мобильных ОС. Для Android есть buildozer, с которым люди испытывают проблемы. В Хабре есть статья про его настройку. А так же серия статьей про сам Kivy.
    Для процесса обучения одними советами не обойтись: читайте книги по данной тематике, зарегистрируйтесь и подпишитесь на нужные темы в dev.to/, не ограничивайтесь только программированием - изучайте сам процесс разработки (Agile, рефакторинг, тестирование, ...)
    Ответ написан
    Комментировать
  • По-быстрому слепить Android-приложение на Python (Kivy?). Стоит ли?

    Посоветовать действительно много чего:
    • Kivy довольно простой инструмент для создания мобильного приложения. Насколько я читал, проблема больше в сборке бинарных пакетов для мобильные ОС. Для Android есть buildozer, с которым люди испытывают проблемы. В Хабре есть статья про его настройку
    • Мобильное приложение для управления - не сложная задача. Логика очевидно будет на сервере, а клиент можно сделать и на современных Javascript фреймвоках. Не зацикливайтесь на языках и технологиях, самое важное в сроках и качестве исполнения.
    • Не тратьте много времени на мелочи. Кроме минимального мобильного клиента и сервера, Вам не мало времени придется провести за проработкой протокола обмена, способе и виде хранения, оптимизации и отладке всего этого и т.д. Быстро создайте прототип, путь и не самый красивый, а позже украшательство можно внести.
    • Из практических советов: В мобильном клиенте можете сильно "затормозится" на реализации хороших графиков. Можно значительно упростить, если воспользоваться готовыми html виджетами. Для python есть довольно популярный Dash. В мобильном клиенте можно показывать через html контейнер.
    • При работе с железом хорошо бы использовать очередь в том или ином виде. Советую очень хорошую реализацию очереди на Python: dramatiq. Для крупного проекта RabbitMQ или NATS
    • Для создания сервера на Python очень рекомендую molten. Проект хоть и молодой, но стабильный и очень продуманный и современный. P.S. есть интеграция с dramatiq с коробки.

    Самому приходилось писать на Python решение для умного дома, так что знаю о чем пишу.
    Ответ написан
    1 комментарий