Flutter - BLoC на потоках (Stream)

Поделиться
HTML-код
  • Опубликовано: 8 янв 2025

Комментарии • 43

  • @hensybex
    @hensybex 2 года назад +3

    Вау! Чистая имплементация, а не использование из коробки - просто вау! Снимаю шляпу перед автором видео. В своё время приходилось алгоритмистику изучать именно так - реализуя простейшие алгоритмы (сортировки, поиски кратчайшего пути, начальные ml-алгоритмы), которые, по идее, доступны из коробки, своими руками. И ничего лучше этого метода человечество не придумало, спасибо, что теперь моя питонистская башка так быстро вкатила в BLoC!

  • @dmn8xt
    @dmn8xt 3 года назад +20

    Спасибо за видео, только начал изучать flutter. Для новичков, как я, если выдает ошибку, надо добавить к StreamBuilder надпись

  • @ErlanNurmanbetov
    @ErlanNurmanbetov 3 месяца назад

    Огромменный труд, Great WORK

  • @Anatoly555
    @Anatoly555 2 года назад +1

    Спасибо за ролик. Очень информативно.
    На скорости в 1.75 - даже если знаешь, полезно прослушивать. Если подтупливаешь - то на 1.

  • @dalnobiker3447
    @dalnobiker3447 3 года назад +5

    Спасибо, Константин, наконец-то я до конца понял эту тему)) побольше таких видео) это большой вклад в данной сфере

  • @timatikgz5310
    @timatikgz5310 3 года назад +1

    Константин ты так рассказываешь даже троечник поймет 🔥👍 молодец

  • @AkramAzizmurodov
    @AkramAzizmurodov Год назад

    Спаисибо за труд. Все понятно.

  • @ИльяМаненков-з9е
    @ИльяМаненков-з9е 4 года назад +4

    Очень хороший материал , спасибо)

  • @shohzodlord
    @shohzodlord 3 года назад

    Потрясающий знания. Спасибо!

  • @rus_dos
    @rus_dos 3 года назад

    Супер, коротко и ясно. Большое спасибо.

  • @rinatkhusainov5894
    @rinatkhusainov5894 3 года назад

    Большой спасибо за подробное объяснение! 😀

  • @funnymoment9164
    @funnymoment9164 3 года назад

    Спасибо!

  • @yohomieyouneedsomehelp
    @yohomieyouneedsomehelp 3 года назад

    Круто и понятно , спасибо! Подписка!

  • @salavey4696
    @salavey4696 3 года назад

    Спасибо. Очень понятно :)

  • @seamensclubaihub
    @seamensclubaihub 2 года назад

    huge thanks!!

  • @eldar_ziyatdinov
    @eldar_ziyatdinov 2 года назад +1

    непонятны несколько моментов:
    - почему инициализация блока происходит внутри одного компонента(виджета)? как быть если мне необходимо одно состояние(блок) использовать между разными виджетам которые находят сильно друг от друга в дереве.
    - зачем указывать внутри блока свойство _color, если оно нигде не используется, лишняя ненужная переменная, в outputController можно было тригерить(sink) сразу цвет
    - почему дефолтное значение устанавливает виджет? это очень странное поведение, а что если на один блок подпишутся множество виджетов, получается каждый виджет сможет любое дефолтное значение себе проставить?
    - когда будет происходить подписка на блок гораздо позже, то тот кто подписывается получит последний ивент?
    очень похоже на redux(ngrx), скорее даже на flux, но реализация очень странная, плюс это все можно один раз абстрактно описать как либу и переиспользовать

  • @БогданБойчук-э1ь
    @БогданБойчук-э1ь 3 года назад +1

    Спасибо за урок, есть ссылка на код git?

  • @johnnysel8186
    @johnnysel8186 3 года назад

    нормально все показал ! Благодарю

  • @DmitryKatsubo
    @DmitryKatsubo 4 года назад +2

    Можно поднять качество хотя бы до 1080p?? Глаза вытекают уже через 5 минут

  • @ФирузВорисов
    @ФирузВорисов 4 года назад +1

    BLoC можно было использовать C StatelessWidget или надо только с StatefullWidget?

    • @konstantinkokorin
      @konstantinkokorin  4 года назад +1

      Stateful, т.к. меняется состояние виджетов в зависимости от данных. В Stateless указываем провайдер

    • @ФирузВорисов
      @ФирузВорисов 4 года назад

      @@konstantinkokorin спасибо

  • @АннаЯцун-е7ы
    @АннаЯцун-е7ы 2 месяца назад

    Очень похоже , не совсем но если сравнивать с swift то mwp но с реативщиной

  • @Leech00001
    @Leech00001 3 года назад

    Спасибо большое за видео. Можете пояснить, если ранее в mapEventToState все события падали поочередно и трансформировались в стейты в той же последовательности. То сейчас на событиях ON это все параллельно выполняется и то что быстрее исполниться ранее в state и прилетит. Как это все привести к похожей работе как было ранее. Когда пока одно событие не отработает второе ждет в очереди и не обрабатывается. Заранее спасибо. И второе если Bloc стал настолько похож на Cubit то зачем этот Cubit нужен?

    • @konstantinkokorin
      @konstantinkokorin  3 года назад +2

      Спасибо, если хотите последовательность в событиях, то используйте sequantially. Вот здесь подробнее, как это использовать bloclibrary.dev/#/migration?id=packagebloc-1
      А по поводу Кубит. Это классная штука, его очень легко использовать с различными сайд эффектами от самих состояний, т.к. не требуются события. Например, при аутентификации пользователя, если пользователь залогинен, то обрабатываем одно состояние и наоборот. Или, к примеру через Кубит хорошо проверять доступность сети в приложении, если на устройве интернета нет, то перехватываем это состояние и меняем UI от него и т.д. Да и для маленьких проектов его проще использовать, накидал и все. Всегда можно перейти на BLoC уже.

  • @parrygotter4988
    @parrygotter4988 4 года назад +4

    Ох пожал бы тебе руку крепко! Спасибо!

  • @Peach_puppYy
    @Peach_puppYy 2 года назад

    Спасибо за уроки! не получилось по видео передать АnimatedContainer color: snapshot.data т.к. приходит тип не Color а Object. так и не победил. пересмотрел урок несколько раз и сравнивал ваш код со своим строчка в строчку. вроде передаю Color а приходит Object.

    • @konstantinkokorin
      @konstantinkokorin  2 года назад

      Попробуйте, где реализуется StreamBuilder, в методе builder указать явно, возвращающийся объект у snapshota:
      builder: (context, AsyncSnapshot snapshot)
      Или можно так: color: snapshot.data as Color,
      Дальше по BLoCу обновленные видео на Дзене - zen.yandex.ru/id/5d3a7d73bc228f00ad56c1af

    • @Peach_puppYy
      @Peach_puppYy 2 года назад

      @@konstantinkokorin да ошибка ушла приложение запустилось. но что то кнопки не реагируют) буду разбираться! спасибо за такой быстрый ответ!)

    • @konstantinkokorin
      @konstantinkokorin  2 года назад

      @@Peach_puppYy Можете с кодом сравнить - github.com/Virer2013/Learn_Flutter/tree/master/bloc_stream_example/lib

    • @Peach_puppYy
      @Peach_puppYy 2 года назад

      ​@@konstantinkokorin спасибо нашел ошибку. из за спешки вместо в if вместо присваивания сделал сравнения) спасибо идем дальше!

  • @АзимАлиев-т7н
    @АзимАлиев-т7н 4 года назад +1

    я как верстальщик,ничего не понимаю,продолжать ли мне просто смотреть уроки ,или повторять за тобой код,если даже не понимаю,help me pls(кроме верстки на флаттере ниче не вдупляю)

    • @yohomieyouneedsomehelp
      @yohomieyouneedsomehelp 3 года назад +2

      Я пару месяцев «занимался любовью» что бы понять хотя бы блок. Так что у меня такая же ситуация была как у тебя , не сдавайся там все не так сложно как кажется! Удачи!)

    • @igordynko7185
      @igordynko7185 3 года назад

      Рекомендую посмотреть вот эти видео от разработчиков. Мне очень помогли
      ruclips.net/video/wgTBLj7rMPM/видео.html

    • @ruslankandiba
      @ruslankandiba 3 года назад

      У меня такая же история. Прошло 11 месяцев с твоего коммента, расскажи, как результаты ?

    • @АзимАлиев-т7н
      @АзимАлиев-т7н 3 года назад +1

      @@ruslankandiba брат,я тебе советую прото иди и стажируйся.Я лично просрал кучу времени на заказах различных,но опыта больше получишь сидя рядом с опытными сеньор разработчиками.Как по мне,так лучше постажироваться бесплатно с ними хоть полгода (ну если ты не будешь стараться),и уйти в аутсорс за 1500$ ИЛИ БОЛЬШЕ,но никак не сидеть на заказах и спустя полгода запариться и пойти в компанию,где ты устроишься максимум на жуна ну иди стронг жуна и получать гораздо меньше)))