Size: a a a

Flutter Developers — русскоговорящее сообщество

2021 January 07

ОС

Олжас Сулеймен... in Flutter Developers — русскоговорящее сообщество
тут та же аналогия с diff vnode, только diff не глобальная функция а сам Element
источник

ЮП

Юрий Петров... in Flutter Developers — русскоговорящее сообщество
Ребят, всех с праздником. Накидал, видео про ошибки которые сам допускал. Может кому будет интересно)
https://youtu.be/ZA4l00yniGE
источник

CI

Captain Impact. in Flutter Developers — русскоговорящее сообщество
⌬ Richard Cooper
А зачем так сложно? Почему не сделать два дерева, одно для виджетов, второе для рендеринг элементов? И то, кстати, скорее всего даже не два дерева, а одно, а второе это просто ссылки на виджеты из первого
Максимальное реиспользование виджетов
источник

КБ

Константин Буланов... in Flutter Developers — русскоговорящее сообщество
Юрий вопрос по врапперам. А есть ли смысл так делать при учёте что если пакет умрет то мы его исключим из импорта и можем его класс(имя) просто переопределить на новый. То есть по факту сделать обёртку в виде старого имени класса.
источник

ЮП

Юрий Петров... in Flutter Developers — русскоговорящее сообщество
Константин Буланов
Юрий вопрос по врапперам. А есть ли смысл так делать при учёте что если пакет умрет то мы его исключим из импорта и можем его класс(имя) просто переопределить на новый. То есть по факту сделать обёртку в виде старого имени класса.
Привет, ну можно и так сделать). Но зачем? Надо стараться, все делать просто. Пакет умер - зашли во обёртку, поменяли виджет на другой и все. Зачем усложнять?
источник

КБ

Константин Буланов... in Flutter Developers — русскоговорящее сообщество
Юрий Петров
Привет, ну можно и так сделать). Но зачем? Надо стараться, все делать просто. Пакет умер - зашли во обёртку, поменяли виджет на другой и все. Зачем усложнять?
Я вижу усложнение в том что везде придется через конструктор враппера пробрасывать все свойства обернутого виджета да ещё мудрить с коллбэками. И это для каждой обертки. В моем предложении это нужно будет сделать один раз по факту гибели пакета.
источник

ЮП

Юрий Петров... in Flutter Developers — русскоговорящее сообщество
Константин Буланов
Я вижу усложнение в том что везде придется через конструктор враппера пробрасывать все свойства обернутого виджета да ещё мудрить с коллбэками. И это для каждой обертки. В моем предложении это нужно будет сделать один раз по факту гибели пакета.
Если вам так удобнее, то конечно.
источник

КБ

Константин Буланов... in Flutter Developers — русскоговорящее сообщество
Юрий Петров
Если вам так удобнее, то конечно.
Вопрос в другом :) Я нуб во флаттер и могу нести ересь. Просто скажите в мои предложениях есть фундаметальное противоречие? А то что самый короткий путь, это тот который знаешь это понятно.
источник

ЮП

Юрий Петров... in Flutter Developers — русскоговорящее сообщество
Константин Буланов
Вопрос в другом :) Я нуб во флаттер и могу нести ересь. Просто скажите в мои предложениях есть фундаметальное противоречие? А то что самый короткий путь, это тот который знаешь это понятно.
Я предложил как мне удобнее). Я не могу сказать, что это лучшее решение.
Просто представьте на секунду у вас 100 страниц, в каждой по 10 кнопок, и вам необходимо на каждой странице, что то менять - это будет просто жесть. Очень большая  вероятность сделать где нибудь ошибку. А так, у вас везде только обертки, зашли в обертку изменили виджет и все.
Просто я уверен, что в рабочем приложении, максимально надо стараться делать минимум изменений. Особенно в рабочих классах.
источник

КБ

Константин Буланов... in Flutter Developers — русскоговорящее сообщество
Юрий Петров
Я предложил как мне удобнее). Я не могу сказать, что это лучшее решение.
Просто представьте на секунду у вас 100 страниц, в каждой по 10 кнопок, и вам необходимо на каждой странице, что то менять - это будет просто жесть. Очень большая  вероятность сделать где нибудь ошибку. А так, у вас везде только обертки, зашли в обертку изменили виджет и все.
Просто я уверен, что в рабочем приложении, максимально надо стараться делать минимум изменений. Особенно в рабочих классах.
Спасибо большое за пояснения и видео!
источник

EC

Evgeny Cherkasov in Flutter Developers — русскоговорящее сообщество
Подскажите по изолятам - я правильно понимаю, что я никак не могу передать в него произвольный объект при создании?
В частности, если мне нужен в изоляте api клиент, то в каждом изоляте его надо создавать независимо?
источник

ОС

Олжас Сулеймен... in Flutter Developers — русскоговорящее сообщество
в дарте возможно создать изолят из дарт кода, но я нз как оно будет работат во флаттере
источник

ОС

Олжас Сулеймен... in Flutter Developers — русскоговорящее сообщество
и в аот в целом
источник

⌬C

⌬ Richard Cooper in Flutter Developers — русскоговорящее сообщество
Captain Impact.
Максимальное реиспользование виджетов
Какой-то извращенный подход к наиклассической задаче ооп
источник

⌬C

⌬ Richard Cooper in Flutter Developers — русскоговорящее сообщество
Как мне кажется, возможно я чего-то нн понимаю
источник

CI

Captain Impact. in Flutter Developers — русскоговорящее сообщество
Что происходит, когда ты вызываешь сетстейт?
источник

CI

Captain Impact. in Flutter Developers — русскоговорящее сообщество
(Подсказка - сделай стейтфул виджет и в билд методе, перед ретёрном сделай принт)
источник

CI

Captain Impact. in Flutter Developers — русскоговорящее сообщество
источник

ОС

Олжас Сулеймен... in Flutter Developers — русскоговорящее сообщество
⌬ Richard Cooper
Как мне кажется, возможно я чего-то нн понимаю
как в реакте запихнуть дом элемент и компонент в vnode? не разберешь, а тут понятней гибче и проще поддерживать, и можно заменить renderObject любой другой аналогие например HtmlElemen или GtkWidget можно портировать фреймворк куда угодно, главное чтобы биндинги под dart были
источник

⌬C

⌬ Richard Cooper in Flutter Developers — русскоговорящее сообщество
Олжас Сулеймен
как в реакте запихнуть дом элемент и компонент в vnode? не разберешь, а тут понятней гибче и проще поддерживать, и можно заменить renderObject любой другой аналогие например HtmlElemen или GtkWidget можно портировать фреймворк куда угодно, главное чтобы биндинги под dart были
а я имею какое-то представление о реакте?)

если б я с нуля разрабатывал фреймворк для рендеринга интерфейса, я бы сделал подобие dom, в котором каждому элементу выдаются возможные размеры элемента, а он уже объявляет, какое место он займет и указывает инструкции для рендеринга. приходит ивент — каждый элемент опрашивается, нужно ли ему перерендерится и он отвечает либо нет либо инструкциями. не знаю в общем, как по мне это переусложнение, которое еще ухудшается непониманием языка в популярных гайдах по флаттеру.
источник