Kotlin Flow: O que é e como implementar no Android

แชร์
ฝัง
  • เผยแพร่เมื่อ 22 ต.ค. 2024

ความคิดเห็น • 45

  • @stephanieverissimo3985
    @stephanieverissimo3985 2 ปีที่แล้ว +6

    Esse vídeo ta tão bom que eu me perguntei como eu não conseguia entender esse assunto antes! Obg pela explicação ❤

  • @MatheusAraujo-lu1ep
    @MatheusAraujo-lu1ep 2 ปีที่แล้ว

    Muuuuito shoooow, entendi o conteúdo plenamente!!!

  • @MarioBraga90
    @MarioBraga90 ปีที่แล้ว

    Video muito bom, continua atual

  • @luiz-dev
    @luiz-dev 2 หลายเดือนก่อน

    Obrigado mesmo pelo vídeo, sou iniciante e estava com algumas dúvidas lendo apenas a documentação, mas o seu vídeo clareou tudo.

    • @DouglasMotta
      @DouglasMotta  2 หลายเดือนก่อน

      Fico feliz em ajudar :)

  • @moissesfalcao8941
    @moissesfalcao8941 6 หลายเดือนก่อน

    Muito bom, cara!!

  • @adrianoneves7389
    @adrianoneves7389 3 ปีที่แล้ว

    Primeira vez que vejo sobre o kotlin flow

  • @douglasandrade5199
    @douglasandrade5199 2 ปีที่แล้ว +1

    Gostaria que fizesse um vídeo apresentando Kotlin Flow no Jetpack Compose! Obrigado Douglas Motta.

    • @DouglasMotta
      @DouglasMotta  2 ปีที่แล้ว

      Obrigado pela sugestão Douglas.

  • @fabiovaz3618
    @fabiovaz3618 3 ปีที่แล้ว +1

    Obrigado pelo conteúdo!! Vlw

  • @antonio195br
    @antonio195br ปีที่แล้ว

    Vídeo perfeito!

  • @felixsoares9252
    @felixsoares9252 3 ปีที่แล้ว +1

    Parabéns Douglas, ficou muito bem explicado !

  • @gabrielramos2010
    @gabrielramos2010 3 ปีที่แล้ว +1

    Sensacional, obrigado por compartilhar seu conhecimento, isso ajuda muito!

  • @rafaaraujogomes
    @rafaaraujogomes 3 ปีที่แล้ว

    Muito bom, acompanho seus vídeos e me ajuda muito! Parabéns!

  • @PauloSergio-qy5pc
    @PauloSergio-qy5pc 3 ปีที่แล้ว

    Estou gostando dos seus videos. Sua didatica é muito boa.

  • @alysson123456789
    @alysson123456789 3 ปีที่แล้ว +1

    Muito legal isso.

  • @AlefeLucas
    @AlefeLucas 2 ปีที่แล้ว +2

    caberia usar flow em um scroll de conteudo? por exemplo, um instagram carrega X posts, chega ao final da tela e carrega mais X e assim por diante (portanto não carrega sem input do usuario)

    • @DouglasMotta
      @DouglasMotta  2 ปีที่แล้ว +1

      Sim, daria para usar flow integrado com as biblioteca de paginação (paging3)

  • @irineu333
    @irineu333 3 ปีที่แล้ว +1

    Mais fácil de entender que RxJava, aprendi RxJava recentemente e foi bem confuso no início

  • @claudiomarcelosilva8126
    @claudiomarcelosilva8126 2 ปีที่แล้ว +2

    Diferença importante entre LiveData e Flows (basicamente duas soluções de produtor/consumidor, embora com focos diferentes):
    LiveData aceita produção sem consumo (valores ignorados ou enfileirados) e consumo sem produção.
    Em Flows só há consumo (coleta) se alguém produziu, e só há uma próxima produção se alguém tiver coletado.
    Ao invés de trabalhar com Flow e LiveData, prefiro (com Jetpack Compose por exemplo) ficar só com o Flow.

    • @DouglasMotta
      @DouglasMotta  2 ปีที่แล้ว +1

      Boa explicação Cláudio! Obrigado pela contribuição. Um abraço.

    • @childetartaglia6337
      @childetartaglia6337 ปีที่แล้ว

      O mesmo aqui

    • @MarioBraga90
      @MarioBraga90 ปีที่แล้ว

      Interessante isso aí, valeu

  • @duduskateboarddudu
    @duduskateboarddudu 3 ปีที่แล้ว

    Mto legal obrigado pela ótima aula!

  • @douglasandrade5199
    @douglasandrade5199 2 ปีที่แล้ว

    Se fizesse esse exemplo Kotlin Flow com Jetpack Compose.

  • @BrunoTube123
    @BrunoTube123 3 ปีที่แล้ว

    Muito boa sua explicação, entrei em um projeto onde usamos o flow e nao entendia direito, nesse caso, eu so preciso usar o flow quando tenho esse cenario especifico, onde preciso receber uma sequencia de dados, caso contrario o uso do flow nao tras nenhum beneficio em relacao ao uso do coroutines?

    • @DouglasMotta
      @DouglasMotta  3 ปีที่แล้ว +1

      Olá Bruno!
      O Flow foi desenhado para retornar múltiplos valores de uma só vez, portanto é neste caso de uso em que ele se aplica.
      Um abraço.

  • @maykmenezes4142
    @maykmenezes4142 3 ปีที่แล้ว

    Muito bom o conteúdo Douglas. Parabéns! Tenho uma dúvida. Para conseguir esse efeito de atualização contínua (web socket) da view não poderíamos utilizar somente MutableLiveData? Sem precisar usar o Flow. Dando um postValue a cada nova atualização, e a view ficar escutando esse MutableLiveData?

    • @DouglasMotta
      @DouglasMotta  3 ปีที่แล้ว +2

      Olá Mayk! Não é possível ter atualizações em tempo real, sem nenhum tipo de ação por parte do usuário, sem a autlização de ferramentas reativas como o RxJava e Flow. Ou seja, toda vez que há uma atualização no backend, o app deve reagir automaticamente e atualizar os dados na tela. Isso só é possível com web socket e com uma solução reativa que mantém o stream de dados aberto enquanto há a ligação com o web socket.

    • @maykmenezes4142
      @maykmenezes4142 3 ปีที่แล้ว

      @@DouglasMotta Sim sim claro, para isso temos que usar em conjunto tbm outra ferramenta para manter esse canal de comunicação aberto, para a aplicação reagir mesmo sem ter havido uma ação por parte do usuário. Fiquei com dúvidas quanto ao Flow, porque eu consegui esse efeito utilizando o Realtime Database do Firebase que faz esse papel do web socket em conjunto com o MutableLiveData para atualizar a view a cada atualização no canal aberto do web socket. Sem precisar utilizar o Flow, sabe. Em resumo utilizei apenas Realtime Database (web socket) e MutableLiveData

    • @maykmenezes4142
      @maykmenezes4142 3 ปีที่แล้ว

      A diferença é que neste exemplo vc ultilizou o delay do Coroutines para simular essa produção contínua de dados

    • @DouglasMotta
      @DouglasMotta  3 ปีที่แล้ว +3

      Sim, com o Realtime é possível se vc implementar a nível de view model, pois basta apenas vincular a um LiveData, mas quando você tem uma implementação de web socket implementado em outras camadas do seu app, onde o live data não é recomendado (repository, data layer, etc.) você deve usar uma solução com o Flow ou RxJava, até chegar no ViewModel, e ali você pode converter para live data ou escutar o flow direto na view.
      Um abraço.

    • @maykmenezes4142
      @maykmenezes4142 3 ปีที่แล้ว

      @@DouglasMotta muito obrigado Douglas, vlw mesmo!

  • @cinemovieone
    @cinemovieone 3 ปีที่แล้ว

    Utilizei o StateFlow com DataStore, bem massa acho que ele foi promovido para API estável no coroutines 1.4.0

    • @DouglasMotta
      @DouglasMotta  3 ปีที่แล้ว

      Boa, vou trazer um material sobre o StateFlow, acho bem legal.
      Um abraço.

  • @ClaudioSilva-ol6yq
    @ClaudioSilva-ol6yq 3 ปีที่แล้ว

    Show

  • @allysonjd
    @allysonjd 3 ปีที่แล้ว

    Muito bom como sempre. RXJava seria um dos meus próximos tópicos de estudo, provavelmente irei focar no Flow por enquanto, bem mais amigável. No entanto acredito que entender o RXJava seja indispensável para trabalhar com legado.

    • @DouglasMotta
      @DouglasMotta  3 ปีที่แล้ว +4

      Sim Allysson, com certeza há vários projetos já desenvolvidos com RxJava. É importante também saber como ele funciona. Estou pensando em gravar um vídeo sobre ele também. Até porque pode ser requisito das empresas num futuro próximo a migração do RxJava para o Kotlin Flow :)
      Valeu pelo comentário

    • @allysonjd
      @allysonjd 3 ปีที่แล้ว

      @@DouglasMotta Show. Irei aguardar o seu vídeo.

  • @DanielLuche
    @DanielLuche 3 ปีที่แล้ว +1

    Primeira vez que ouço falar....estou muito atrasado ?!
    kkkkkk

    • @DouglasMotta
      @DouglasMotta  3 ปีที่แล้ว +3

      Hehe, o Kotlin trouxe muitas possibilidades para o desenvolvimento Android, por isso as coisas estão evoluindo muito rápido. Por isso tento dar uma ajuda sobre esse updates aqui no canal :)
      Abraço

  • @devHeverton
    @devHeverton 4 หลายเดือนก่อน

    foi mais fácil koin