Комментарии 74
Спасибо за статью. А не могли бы Вы написать детально о сборке приложения под Андроид?
Там все настолько просто, что это даже на статью не тянет. Если накоплю материала, который можно подать помимо вашего вопроса, то такая статья будет.
Я пробовал бульдозером собирать приложение под Андроид на трёх разных платформах и двух разных ноутбуках, и всегда вылезали какие-то ошибки в процессе сборки.
Долго гуглил ошибки, в итоге так понял, что на винде сборка вообще не работает, а про ту ошибку, которая вылезала у меня на маке contributor местный сказал что не знает как ее исправить.
Так что это совершенно нетривиальная задача)
Всё таки Python не для мобилок. А тот же kivy собирать в APK и тестировать локально — та ещё боль.
Вы тестируете иначе?
Немного не это имел ввиду ;) Чтобы какой-нибудь Android Studio заюзать нужно много времени потратить. (имхо, может быть я такой криворукий :( )
Чтобы какой-нибудь Android Studio заюзать нужно много времени потратить
Не понимаю, причем здесь Kivy и "та ещё боль"?
Чтобы какой-нибудь Android Studio заюзать нужно много времени потратить
Не понимаю, причем здесь Kivy и "та ещё боль"?
В принципе, не имеет значения на какой OS все это будет работать, потому что KivyMD, как и Kivy везде выглядит одинаково. Вы сами должны решать, какой вид будет у вашего приложения и я считаю, что это только плюс.
Да и правда — в жопу гайдлайны и привычный UX, давайте фигачить свой колхоз везде.
А разве на Flutter не так? Там UI рендерится так же, как и в Kivy, я думал, что все это знают, на нет...
Не ни также у flutter используются нативные виджеты в отличие от kivy...
В kivy для отрисовки используется opengl соответственно при всем желании вы не получите виджеты нативного вида
На самом деле, Flutter использует, если не подводит память, Skia, и все виджеты в нём рисуются этим движком. Тут Kivy концептуально не отличается. А вот ReactNative — напротив, работает с нативным компонентами, но имеет потери производительности из-за наличия Js <> Native бриджа.
Спасибо за вашу работу! То, что вы делаете — это прекрасно! Но хотелось бы понять две вещи: 1. является ли KivyMD "prodaction ready" (чтобы не переживать за баги в серьёзных приложениях для бизнеса) и 2. когда появится полноценный сайт с документацией? Раньше айтишники по способу усвоения информации делились на два типа — те, кто признают только книги и те, кто читают документацию с ПК. Теперь вот появился третий тип — те, кто учится по youtube роликам. Способ иногда более наглядный, но нет возможности скопировать фрагмент и запустить, а также в напечатанной документации быстрее найти нужный код. Понимаю, что это всё долго и больно, но Вы хотя бы рассматриваете в планах создание документации, мануалов и туториалов?
Не думаю, что когда-либо на этом будут что-то более менее серьёзное делать. Для каждой платформы есть свой инструмент.
Из минусов kivy — это только размер приложений. Обычно это примерно 20мб. Но сейчас это курам на смех. Из плюсов — любая либа на питон может быть использована в мобильном приложении. У меня был случпй: нужно было найти либы доя трубы, исты и спидтеста. На джаве я этого не нашёл, а вот на питоне — за 1 минуту все либы нашёл, потом внедрил в приложение
Про размер даже можете не заикаться, ибо посмотрите на размер приложений хотя бы на iOS.
Из минусов kivy — это только размер приложений.
И всё? Прямо даже удивительно слышать. Потому что когда я делал подход к снаряду несколько лет назад, тормозила эта штука в списках с сотней элементов как не в себя. Ну и собрать приложение было практически не реально — мне удалось только с использованием линукс-образа, предоставляемого разработчиками, и только один раз. После чего я поглядел на производительность, на внешний вид (KivyMD тогда уже был, но заставить его работать был тот ещё квест), на документацию, на то, что даже в доступном в гугл-маркете примере некоторые виджеты безбожно глючат (нереагирующая кнопка или пункт меню — милое дело), и пошёл ковырять Android Studio.
тормозила эта штука в списках с сотней элементов как не в себя
Сейчас есть RecycleView, который за доли секунды обрабатывает миллионные списки.
собрать приложение было практически не реально
https://habr.com/ru/post/479236/
пошёл ковырять Android Studio
Идите, ковыряйте
Идите, ковыряйтеДавайте без грубостей. Я вас не оскорблял, так что будьте любезны соблюдать минимум приличий хотя бы из практических соображений — мало что так подрывает усилия евангелиста, как откровенное хамство.
Покажите в каком месте я вас оскорбил?
Вы написали, что идете ковырять Студию! Я ответил — "Идите ковыряйте!" Где оскорбление? У доктора давно были? Судя по вашей карме — человек вы с гнильцой!
Судя по вашей карме — человек вы с гнильцой!В гранит!
Мальчик, иди поплачь в чате "никчёмные тролли". Твое рукамашество и ногодрыжество лично меня никоим образом не задевает! Так что подбери слюни с пола!
Это какой нужно быть паскудой, чтобы при отсутствии статей и всего лишь при наличии духста комментариев заработать отрицательную карму?! Да ты прям образец вежливого человека!
Уважаемый, минусиков в карму тут можно наловить усомнившись в непогрешимости Илона Маска например. И это ника не будет зависеть ни от гнильцы, ни от профподготовки. А вам бы успокоиться сейчас.
Да, действительно — и всё. Я собираю приложение на специальной виртуальной машине, предоставленной один из участников сообщества. Показывал первую версию программы широкому кругу лиц в живую. Процесс стал намного проще, чем в Android Stuido. Я тоже слышал страшные истории про бульдозер, киви и извращенцев, собирающих мобилки на питоне. В 2019 году — это всё неправда. Огромнейший плюс подобного подхода — возможность затащить в мобильное приложение ЛЮБУЮ библиотеку на питоне для любых целей, а спектр этих либ и задач намного шире, чем у джавы и даже джаваскрипт. Так что действительно нашёл всего один минус — размер приложения, но 20 МБ по сегодняшним меркам — это не критично))
Да, действительно — и всё.При этом вы задаёте такие вот вопросы:
1. является ли KivyMD «prodaction ready» (чтобы не переживать за баги в серьёзных приложениях для бизнеса) и 2. когда появится полноценный сайт с документацией?
Я не понимаю, что смущает в 20 МБ? На iOS приложения и до 80 МБ вытягивают.
а с ним у питона все же хуже
Например?
Рассматривали, конечно. Что-то уже начали делать, но, опять же времени на все и сразу не хватает. В репозитории KivyMD есть раздел wiki. Это, конечно, не сайт с документацией, но там очень много примеров использования с демонстрацией работы. Есть плей-лист на YouTube с уроками по KivyMD, на домашней странице нашего проекта много полезных ссылок. Что касается ошибок… Все критичные ошибки уже исправлены.
Но в статье не увидел такой важный момент, а как строится в KivyMD разметка виджетов?
Например, как по мне, если сравнивать тот же Flutter с React Native, то одно из преимуществ в виджетах Row, Column с определением стиля позиционирования потомков через параметры виджета, по сравнению с Flex-разметкой в CSS-стилях. Упрощает построение составных виджетов.
Какой подход в KivyMD?
Разве вы не смотрели под спойлеры? Там приведен код того, что показано на экране.
Фишки flex'а и разметки в fluter — это удобное позиционирование элементов главной и поперечной оси.
Т.е., вместо вопроса на вопрос можно было бы просто ответить, какой подход, flexbox или grid или что-то ещё.
Чистый Python!
Интересно, превый раз слышу про такой фреймворке
Это очень странно, потому что Kivy старше React Native и Xamarin!
У первого и у второго богатые папиньки в виде Facebook и Microsoft. Миллионные бюджеты и разрекламированная популярность. У Kivy — 10 000 долларов в год на плату коре-разработчикам фреймворка. Плюс поддержка пользователей. То есть, тупо на добровольных началах. И это уже сейчас затыкает за пояс и Flutter, и ReactNative и Xamarin! Если бы у Kivy был спонсор в виде такого папеньки, как FaceBook, вы бы сейчас и не знали, что такое ReactNative!
Работает. Но попал под блокировку Роскомнадзора. VPN в помощь. Хотя у нас в Луганске, например, он спокойно себе работает без всяких VPV:
Зависит от провайдера. Действительно — у некоторых людей сайт www.kivy.org не открывается. Один мой коллега на вопрос "Почему больше не пользуешься kivy?" ответил как раз, что не пользуется по причине заблокированного сайта, однако он был сильно удивлён, когда я при нём же открыл сайт в рабочем браузере. Но тоже знаю людей, которые до сих пор жалуются на заблокированный сайт.
Python в Mobile development