Pull to refresh
27
0
Юрий @KivyMD

Core developer of KivyMD library

Send message
Разработка кроссплатформенна. Но под iOS не делаю сборок (под Mac OS — без проблем, у меня их есть), потому что мне не нравится политика, которою проводит Apple в отношении «мобильных» разработчиков. Да и тратить деньги на яблочный смартфон совсем нет желания.
Весь функционал инструментов здесь описанных уже встроен в PyCharm и используется по умолчанию.
По этой ссылке — куча реализаций вычисления чисел Фибонначи на Python. Ни один из методов не тратит больше секунды на вычисление 40-го числа Фибоначчи (время выполнения колеблется в диапазоне от 3.193450927734375e-05 до 1.73965093640455e-02). Откуда у вас взялись целых 37 секунд не понятно. Так что ваш бенчмарк не вернен и Python в нем должен стоять на втором месте. Это касается именно вашего бенчмарка, уж не знаю насколько производителен Nim в других типах задач.
По крайней мере я, прочитал вашу статью именно из-за анимированного баннера! И, естественно, был разочарован…
Статья из разряда агрегатора новостей с названием «Сода избавляет от ожирения!» Переходишь по ссылке на статью и читаешь: чтобы избавиться от жира, запишитесь в спортзал и купите нашу фирменную соду! Уважаемый автор! Это IT ресурс, где не место статьям в которых вы показываете одно, а по факту — в статье совершенно иное.
Если бы вы взяли парочку приложений на flutter, и переделали бы их на kivy/kivymd, было бы просто супер.


В статье именно такое приложение и рассматривается.

… и переработать некоторые виджеты, как например: MDcard(чтобы был готовый виджет MDcard с blur'ом и другими эффектами


Принцип создания MDcard такой же, как и в любом другом фреймворке.

Просто по kivymd очень мало туториалов


Есть официальная документация.
Не совсем понимаю, что вы имеете в виду. Виджеты, которые есть во Flutter, но которых еще нет в KivyMD? Например SliverAppBar?
Вы хотели сказать пара десятков?

Если быть точным — 11. А если отбросить элементы «Переключатель», который ничем не отличается от того же на Android, «Navigation bar», который на самом деле просто обычный список (не понятно, зачем его включили в раздел Cupertino), «Кнопки» (две), которые оказываются на самом деле просто RaisedButton и FlatButton из Android, «Activity indicator», который просто обычный спиннер, страшнючие текстовые поля (два), которые нормальный человек никогда не будет использовать в своем приложении, «Pull to refresh», который идентичен элементу в Android (опять же, не понятно, зачем его включали в раздел Cupertino), — то можете сами посчитать, сколько там виджетов для iOS. Я написал то, что увидел в официальном демо приложении от 2020 года.
Вам этого мало? Любое приложение Flutter нещадно тормозит при использовании списков и анимации типа Transition в менеджере экранов! Это касается и официальных приложений и не официальных. Также (не хотел снова поднимать этот вопрос) существует только пара-тройка виджетов типа «Cupertino» для iOS во Flutter. Почему-то это гордо называется «Поддержка iOS/Кроссплатфора». Почему замалчивают тот факт, что поддержки iOS виджетов во Flutter просто не существует? Расскажите это человеку, который оставил здесь комментарий на тему, как отклонили его приложение в Apple за не соответствие UI!
В том-то и дело, что 500 + элементов в списке работают без тормозов как, например, в Kivy или ReactNative, а простой шейдер типа FadeTransition экранного менеджера в любом приложении Flutter безбожно тормозит! И ладно… И пусть… Пусть есть какие-то проблемы, которых в любом фреймворке с головой… Но я не понимаю, почему тогда Flutter позиционируют как самый быстрый, самый крутой, который рендерит анимации, как покурить, и в таком духе, но который не справляется с самой простой анимацией списка в пять элементов, гифку которой я привел в предыдущем сообщении, и не справляется с обычной анимацией перехода между экранами типа FadeTransition? Объясните людям…
В том-то и дело, что 500 + элементов в списке работают без тормозов как, например, в Kivy или ReactNative, а простой шейдер типа FadeTransition экранного менеджера в любом приложении Flutter безбожно тормозит! И ладно… И пусть… Пусть есть какие-то проблемы, которых в любом фреймворке с головой… Но я не понимаю, почему тогда Flutter позиционируют как самый быстрый, самый крутой, который рендерит анимации как покурить и в таком духе… Объясните…
Как и в любом другом фреймворке, здесь тоже не все так радужно. На моем Android 7.0 некоторые приложения, скачанные из Google Play нещадно тормозят. Это касается не всего приложения в целом, а отдельных его элементов, что еще страннее:







Да, есть такое дело. Это зависит от стандартного шейдера, который используется:

effect_blur_v = '''
vec4 effect(vec4 color, sampler2D texture, vec2 tex_coords, vec2 coords)
{{
    float dt = ({} / 4.0)
                     * 1.0 / resolution.x;
    vec4 sum = vec4(0.0);
    sum += texture2D(texture, vec2(tex_coords.x, tex_coords.y - 4.0*dt))
                     * 0.05;
    sum += texture2D(texture, vec2(tex_coords.x, tex_coords.y - 3.0*dt))
                     * 0.09;
    sum += texture2D(texture, vec2(tex_coords.x, tex_coords.y - 2.0*dt))
                     * 0.12;
    sum += texture2D(texture, vec2(tex_coords.x, tex_coords.y - dt))
                     * 0.15;
    sum += texture2D(texture, vec2(tex_coords.x, tex_coords.y))
                     * 0.16;
    sum += texture2D(texture, vec2(tex_coords.x, tex_coords.y + dt))
                     * 0.15;
    sum += texture2D(texture, vec2(tex_coords.x, tex_coords.y + 2.0*dt))
                     * 0.12;
    sum += texture2D(texture, vec2(tex_coords.x, tex_coords.y + 3.0*dt))
                     * 0.09;
    sum += texture2D(texture, vec2(tex_coords.x, tex_coords.y + 4.0*dt))
                     * 0.05;
    return vec4(sum.xyz, color.w);
}}
'''


Возможно, это можно улучшить. Немного поиграл со значениями, добавил эффект вертикального размытия, вроде, стало получше:

Kivy — написан на чистом Python большей частью. Понятно, что вся диспечеризация, properties и прочее реализовано средствами Си расширений, но все же… Насколько я знаю, никто не реализовал подобное на Python.
Рад, что вам понравилось.

Information

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