Size: a a a

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

2020 March 12

EC

Evgeny Cherkasov in Dart & Flutter по-русски
Ivan Danyliuk
ну да – чтобы было понятно, что виджет только в клетках может быть, а не где-то между ними
Это не сложно реализовать. Когда перетаскиваемый виджет находится над DraggableTarget, там есть событие об этом. В нем можно перерисовать исходный виджет в новую клетку.
источник

D

Dagba in Dart & Flutter по-русски
а в флаттер нет
источник

Ю

Юрий in Dart & Flutter по-русски
Dagba
я спросил про нетворк операции
Результат получишь в первом микрофрейме после синхронных операций
источник

EE

Evgenii Elchev in Dart & Flutter по-русски
Dagba
но почему например на нативном ios если запустить самый простой api главные поток блокается
Он и тут не блокается и там
источник

n

neikist in Dart & Flutter по-русски
Evgenii Elchev
Сам сетевой запрос не тяжелая операция, я бы под него не выделял отдельный изолят, а вот Парсинг ответа может быть тяжелым и его имеет смысл выносить в отдельный актор
Ну вот хз. Не сказал бы. Сеть может быть не быстрой. И запрос большим.
источник

D

Dagba in Dart & Flutter по-русски
та ну
источник

D

Dagba in Dart & Flutter по-русски
не очень понятно карочи
источник

EE

Evgenii Elchev in Dart & Flutter по-русски
Dagba
та ну
Я тебе точно говорю. URLSession работает асинхронно, а не многопоточно. Исключая обработку результата. Которая там по умолчанию в дополнительном потоке
источник

n

neikist in Dart & Flutter по-русски
Evgenii Elchev
Сам сетевой запрос не тяжелая операция, я бы под него не выделял отдельный изолят, а вот Парсинг ответа может быть тяжелым и его имеет смысл выносить в отдельный актор
Или ты под парсингом понимаешь в т.ч. загрузку?
источник

D

Dagba in Dart & Flutter по-русски
буду просто использовать
источник

EE

Evgenii Elchev in Dart & Flutter по-русски
neikist
Ну вот хз. Не сказал бы. Сеть может быть не быстрой. И запрос большим.
Ещё раз. Время ожидания прохода данных по сети не грузит поток, задача спит, ранлуп ждёт пока системный сокет его пнет
источник

n

neikist in Dart & Flutter по-русски
Evgenii Elchev
Ещё раз. Время ожидания прохода данных по сети не грузит поток, задача спит, ранлуп ждёт пока системный сокет его пнет
Но тем не менее он блокирован на это время. Т.е. процессор то понятно не загружен, но и мейн луп не будет ничего делать
источник

EE

Evgenii Elchev in Dart & Flutter по-русски
То есть ты берёшь данные, кидаешь из в систему и все. Пока система не пнут тебя обратно отдав результат, ресурсы не тратятся
источник

EE

Evgenii Elchev in Dart & Flutter по-русски
neikist
Но тем не менее он блокирован на это время. Т.е. процессор то понятно не загружен, но и мейн луп не будет ничего делать
Не не блокирован. Потому он и async
источник

n

neikist in Dart & Flutter по-русски
Видимо в ios по другому чем в андроиде.
источник

EE

Evgenii Elchev in Dart & Flutter по-русски
neikist
Видимо в ios по другому чем в андроиде.
Так и во флаттере тоже. Таска же async то есть она асинхронная
источник

n

neikist in Dart & Flutter по-русски
Evgenii Elchev
Так и во флаттере тоже. Таска же async то есть она асинхронная
Это да. Вопрос в том в каком месте осуществляется получение данных из сокета и каким образом. Если банально какой нибудь read(buffer, 1024) в цикле выполняется - то евентлуп того изолята будет на это время заблокирован.
источник

EE

Evgenii Elchev in Dart & Flutter по-русски
В ios есть древний метод Data(fromUrl:) вот он синхронно грузит данные и блокирует поток. Но его использование считается badpractics
источник

n

neikist in Dart & Flutter по-русски
Блин, надо в дарт погружаться, трудно рассуждать без опыта конкретного.
источник

EE

Evgenii Elchev in Dart & Flutter по-русски
neikist
Это да. Вопрос в том в каком месте осуществляется получение данных из сокета и каким образом. Если банально какой нибудь read(buffer, 1024) в цикле выполняется - то евентлуп того изолята будет на это время заблокирован.
Это все равно очень быстрая операция, раскручивать новый тред сильно накладно
источник