Вау! Чистая имплементация, а не использование из коробки - просто вау! Снимаю шляпу перед автором видео. В своё время приходилось алгоритмистику изучать именно так - реализуя простейшие алгоритмы (сортировки, поиски кратчайшего пути, начальные ml-алгоритмы), которые, по идее, доступны из коробки, своими руками. И ничего лучше этого метода человечество не придумало, спасибо, что теперь моя питонистская башка так быстро вкатила в BLoC!
непонятны несколько моментов: - почему инициализация блока происходит внутри одного компонента(виджета)? как быть если мне необходимо одно состояние(блок) использовать между разными виджетам которые находят сильно друг от друга в дереве. - зачем указывать внутри блока свойство _color, если оно нигде не используется, лишняя ненужная переменная, в outputController можно было тригерить(sink) сразу цвет - почему дефолтное значение устанавливает виджет? это очень странное поведение, а что если на один блок подпишутся множество виджетов, получается каждый виджет сможет любое дефолтное значение себе проставить? - когда будет происходить подписка на блок гораздо позже, то тот кто подписывается получит последний ивент? очень похоже на redux(ngrx), скорее даже на flux, но реализация очень странная, плюс это все можно один раз абстрактно описать как либу и переиспользовать
Спасибо большое за видео. Можете пояснить, если ранее в mapEventToState все события падали поочередно и трансформировались в стейты в той же последовательности. То сейчас на событиях ON это все параллельно выполняется и то что быстрее исполниться ранее в state и прилетит. Как это все привести к похожей работе как было ранее. Когда пока одно событие не отработает второе ждет в очереди и не обрабатывается. Заранее спасибо. И второе если Bloc стал настолько похож на Cubit то зачем этот Cubit нужен?
Спасибо, если хотите последовательность в событиях, то используйте sequantially. Вот здесь подробнее, как это использовать bloclibrary.dev/#/migration?id=packagebloc-1 А по поводу Кубит. Это классная штука, его очень легко использовать с различными сайд эффектами от самих состояний, т.к. не требуются события. Например, при аутентификации пользователя, если пользователь залогинен, то обрабатываем одно состояние и наоборот. Или, к примеру через Кубит хорошо проверять доступность сети в приложении, если на устройве интернета нет, то перехватываем это состояние и меняем UI от него и т.д. Да и для маленьких проектов его проще использовать, накидал и все. Всегда можно перейти на BLoC уже.
Спасибо за уроки! не получилось по видео передать АnimatedContainer color: snapshot.data т.к. приходит тип не Color а Object. так и не победил. пересмотрел урок несколько раз и сравнивал ваш код со своим строчка в строчку. вроде передаю Color а приходит Object.
Попробуйте, где реализуется StreamBuilder, в методе builder указать явно, возвращающийся объект у snapshota: builder: (context, AsyncSnapshot snapshot) Или можно так: color: snapshot.data as Color, Дальше по BLoCу обновленные видео на Дзене - zen.yandex.ru/id/5d3a7d73bc228f00ad56c1af
я как верстальщик,ничего не понимаю,продолжать ли мне просто смотреть уроки ,или повторять за тобой код,если даже не понимаю,help me pls(кроме верстки на флаттере ниче не вдупляю)
Я пару месяцев «занимался любовью» что бы понять хотя бы блок. Так что у меня такая же ситуация была как у тебя , не сдавайся там все не так сложно как кажется! Удачи!)
@@ruslankandiba брат,я тебе советую прото иди и стажируйся.Я лично просрал кучу времени на заказах различных,но опыта больше получишь сидя рядом с опытными сеньор разработчиками.Как по мне,так лучше постажироваться бесплатно с ними хоть полгода (ну если ты не будешь стараться),и уйти в аутсорс за 1500$ ИЛИ БОЛЬШЕ,но никак не сидеть на заказах и спустя полгода запариться и пойти в компанию,где ты устроишься максимум на жуна ну иди стронг жуна и получать гораздо меньше)))
Вау! Чистая имплементация, а не использование из коробки - просто вау! Снимаю шляпу перед автором видео. В своё время приходилось алгоритмистику изучать именно так - реализуя простейшие алгоритмы (сортировки, поиски кратчайшего пути, начальные ml-алгоритмы), которые, по идее, доступны из коробки, своими руками. И ничего лучше этого метода человечество не придумало, спасибо, что теперь моя питонистская башка так быстро вкатила в BLoC!
Спасибо за видео, только начал изучать flutter. Для новичков, как я, если выдает ошибку, надо добавить к StreamBuilder надпись
Благодарю, Дмитрий! Вы сохранили мне нервы и время!
Огромменный труд, Great WORK
Спасибо за ролик. Очень информативно.
На скорости в 1.75 - даже если знаешь, полезно прослушивать. Если подтупливаешь - то на 1.
Спасибо, Константин, наконец-то я до конца понял эту тему)) побольше таких видео) это большой вклад в данной сфере
Константин ты так рассказываешь даже троечник поймет 🔥👍 молодец
Спаисибо за труд. Все понятно.
Очень хороший материал , спасибо)
Спасибо
Потрясающий знания. Спасибо!
Супер, коротко и ясно. Большое спасибо.
Большой спасибо за подробное объяснение! 😀
Спасибо!
Круто и понятно , спасибо! Подписка!
Спасибо. Очень понятно :)
huge thanks!!
непонятны несколько моментов:
- почему инициализация блока происходит внутри одного компонента(виджета)? как быть если мне необходимо одно состояние(блок) использовать между разными виджетам которые находят сильно друг от друга в дереве.
- зачем указывать внутри блока свойство _color, если оно нигде не используется, лишняя ненужная переменная, в outputController можно было тригерить(sink) сразу цвет
- почему дефолтное значение устанавливает виджет? это очень странное поведение, а что если на один блок подпишутся множество виджетов, получается каждый виджет сможет любое дефолтное значение себе проставить?
- когда будет происходить подписка на блок гораздо позже, то тот кто подписывается получит последний ивент?
очень похоже на redux(ngrx), скорее даже на flux, но реализация очень странная, плюс это все можно один раз абстрактно описать как либу и переиспользовать
Разобрался бро?
Спасибо за урок, есть ссылка на код git?
нормально все показал ! Благодарю
Можно поднять качество хотя бы до 1080p?? Глаза вытекают уже через 5 минут
BLoC можно было использовать C StatelessWidget или надо только с StatefullWidget?
Stateful, т.к. меняется состояние виджетов в зависимости от данных. В Stateless указываем провайдер
@@konstantinkokorin спасибо
Очень похоже , не совсем но если сравнивать с swift то mwp но с реативщиной
Спасибо большое за видео. Можете пояснить, если ранее в mapEventToState все события падали поочередно и трансформировались в стейты в той же последовательности. То сейчас на событиях ON это все параллельно выполняется и то что быстрее исполниться ранее в state и прилетит. Как это все привести к похожей работе как было ранее. Когда пока одно событие не отработает второе ждет в очереди и не обрабатывается. Заранее спасибо. И второе если Bloc стал настолько похож на Cubit то зачем этот Cubit нужен?
Спасибо, если хотите последовательность в событиях, то используйте sequantially. Вот здесь подробнее, как это использовать bloclibrary.dev/#/migration?id=packagebloc-1
А по поводу Кубит. Это классная штука, его очень легко использовать с различными сайд эффектами от самих состояний, т.к. не требуются события. Например, при аутентификации пользователя, если пользователь залогинен, то обрабатываем одно состояние и наоборот. Или, к примеру через Кубит хорошо проверять доступность сети в приложении, если на устройве интернета нет, то перехватываем это состояние и меняем UI от него и т.д. Да и для маленьких проектов его проще использовать, накидал и все. Всегда можно перейти на BLoC уже.
Ох пожал бы тебе руку крепко! Спасибо!
Спасибо за уроки! не получилось по видео передать АnimatedContainer color: snapshot.data т.к. приходит тип не Color а Object. так и не победил. пересмотрел урок несколько раз и сравнивал ваш код со своим строчка в строчку. вроде передаю Color а приходит Object.
Попробуйте, где реализуется StreamBuilder, в методе builder указать явно, возвращающийся объект у snapshota:
builder: (context, AsyncSnapshot snapshot)
Или можно так: color: snapshot.data as Color,
Дальше по BLoCу обновленные видео на Дзене - zen.yandex.ru/id/5d3a7d73bc228f00ad56c1af
@@konstantinkokorin да ошибка ушла приложение запустилось. но что то кнопки не реагируют) буду разбираться! спасибо за такой быстрый ответ!)
@@Peach_puppYy Можете с кодом сравнить - github.com/Virer2013/Learn_Flutter/tree/master/bloc_stream_example/lib
@@konstantinkokorin спасибо нашел ошибку. из за спешки вместо в if вместо присваивания сделал сравнения) спасибо идем дальше!
я как верстальщик,ничего не понимаю,продолжать ли мне просто смотреть уроки ,или повторять за тобой код,если даже не понимаю,help me pls(кроме верстки на флаттере ниче не вдупляю)
Я пару месяцев «занимался любовью» что бы понять хотя бы блок. Так что у меня такая же ситуация была как у тебя , не сдавайся там все не так сложно как кажется! Удачи!)
Рекомендую посмотреть вот эти видео от разработчиков. Мне очень помогли
ruclips.net/video/wgTBLj7rMPM/видео.html
У меня такая же история. Прошло 11 месяцев с твоего коммента, расскажи, как результаты ?
@@ruslankandiba брат,я тебе советую прото иди и стажируйся.Я лично просрал кучу времени на заказах различных,но опыта больше получишь сидя рядом с опытными сеньор разработчиками.Как по мне,так лучше постажироваться бесплатно с ними хоть полгода (ну если ты не будешь стараться),и уйти в аутсорс за 1500$ ИЛИ БОЛЬШЕ,но никак не сидеть на заказах и спустя полгода запариться и пойти в компанию,где ты устроишься максимум на жуна ну иди стронг жуна и получать гораздо меньше)))