Size: a a a

Dart & Flutter по-русски

2020 October 12

AK

Artem Krupp in Dart & Flutter по-русски
в ios императивщина если вы не про SwiftUI
источник

𝐼

𝐼𝓈𝓁𝒶𝓂 in Dart & Flutter по-русски
Artem Krupp
в ios императивщина если вы не про SwiftUI
Я про swift ui)
источник

AK

Artem Krupp in Dart & Flutter по-русски
Вы можете делать все стейтфул, вряд ли вас кто-то остановит
источник

𝐼

𝐼𝓈𝓁𝒶𝓂 in Dart & Flutter по-русски
Artem Krupp
Вы можете делать все стейтфул, вряд ли вас кто-то остановит
Скорость работы
источник

AK

Artem Krupp in Dart & Flutter по-русски
Скорость у них почти не различается
источник

M

Max in Dart & Flutter по-русски
Artem Krupp
Вы можете делать все стейтфул, вряд ли вас кто-то остановит
...кроме объёма оперативки на пользовательском устройстве...
источник

AK

Artem Krupp in Dart & Flutter по-русски
ого вместо 1 объекта 2
источник

AK

Artem Krupp in Dart & Flutter по-русски
ого ого
источник

AK

Artem Krupp in Dart & Flutter по-русски
Виджет это просто описание, он не отвечает за отрисовку, он не отвечает за лэйаут
Виджет живет ровно один build если он не const
Вот для обхода “живет родно один build” и есть стейтфул - он живет пока жив его элемент (проецирует весь его лайфсайкл)
источник

AK

Artem Krupp in Dart & Flutter по-русски
точнее не он а его стейт
источник

M

Max in Dart & Flutter по-русски
Наличие выбора - это всегда прекрасно. Во Flutter очень "атомарные" виджеты - как следствие, их очень много в рамках приложения. Поэтому stateless widget - очень удобная абстракция. Никаких лишних проверок, никаких лишних сущностей.
источник

AK

Artem Krupp in Dart & Flutter по-русски
Max
Наличие выбора - это всегда прекрасно. Во Flutter очень "атомарные" виджеты - как следствие, их очень много в рамках приложения. Поэтому stateless widget - очень удобная абстракция. Никаких лишних проверок, никаких лишних сущностей.
но это не более чем декоративное различие
внутри они оба работают под ComponentElement и не очень сильно отличаются друг от друга
источник

AK

Artem Krupp in Dart & Flutter по-русски
но это не значит что стейтлесс == юзлесс
источник

M

Max in Dart & Flutter по-русски
Artem Krupp
но это не более чем декоративное различие
внутри они оба работают под ComponentElement и не очень сильно отличаются друг от друга
Насколько я понимаю, у Statleless существенно короче lifecycle - многие фазы не нужны.
источник

AK

Artem Krupp in Dart & Flutter по-русски
Max
Насколько я понимаю, у Statleless существенно короче lifecycle - многие фазы не нужны.
ну вы заблуждаетесь
элемент-то внутри все равно проходит эти фазы
источник

AK

Artem Krupp in Dart & Flutter по-русски
просто он не дергает их наружу
источник

AK

Artem Krupp in Dart & Flutter по-русски
а в случае стейтфул он тоже дергает их не у ВИДЖЕТА, а у СТЕЙТА
источник

AK

Artem Krupp in Dart & Flutter по-русски
важно понимать почему они так сепарированы
источник

AK

Artem Krupp in Dart & Flutter по-русски
сам объект StatefulWidget проходит ровно те же фазы что и Stateless, но вот State - долгоживучий и получает все евенты от элемента и живет пока жив элемент
источник

𝐼

𝐼𝓈𝓁𝒶𝓂 in Dart & Flutter по-русски
Хорошо другой вопрос, думаю задав этот вопрос я пойму логику,
TextField как бы statefull , так как мы можем поменять его стэйт меняя значение через textEditingController.text
Здесь мы не используем какой то state management для этого виджета, но почему нету например такой логики в анимированом контаинер?
источник