KotlinConf 2019: Asynchronous Data Streams with Kotlin Flow by Roman Elizarov

  • Published on Dec 17, 2019
  • Recording brought to you by American Express. americanexpress.io/kotlin-jobs
    Kotlin Flow is a declarative mechanism for working with asynchronous data streams that builds on top of Kotlin coroutines and structured concurrency. Kotlin Flows are doing the same revolution in simplicity for data streams that suspending functions did for data values.

    In this talk we will discuss the challenges of working with asynchronous streams and how Kotlin Flows solve them. We will study the basics of Kotlin Flow design, see their typical usage patterns, peek behind the scenes and into some of the implementation details, checkout flow performance and see how they enable writing safe, reliable, and leak-free systems. We will also discuss how they relate to and incorporate ideas from reactive extensions and reactive streams, how they are similar and different, and how they can be used together.

    KotlinConf website: jb.gg/fyaze5
    KotlinConf on Twitter: kotlinconf

    Kotlin website: jb.gg/pxrsn6
    Kotlin blog: jb.gg/7uc7ow
    Kotlin on Twitter: kotlin

    About the Presenter:
    Roman Elizarov works at JetBrains as Team Lead for Kotlin Libraries team, where he is focused on development and maintenance of multi-platform foundational libraries for Kotlin programming language. His main contribution in this role is design of Kotlin coroutines and development of Kotlin coroutines library.

    In 2000 Roman Elizarov had graduated from St. Petersburg ITMO and started his career as a professional software developer. During his undergraduate study he participated in International Collegiate Programming Contests (ICPC). Since 1997 and until now Roman serves as a Chief Judge of Northern Eurasia Region of ICPC. He also maintains his academic ties and now teaches a course on concurrent and distributed programming at ITMO. Roman Elizarov had worked for most of his career at Devexperts, where he designed and developed high-performance trading software for leading brokerage firms and market data delivery services that routinely handle millions of events per second. He is an expert in Java and JVM, particularly in concurrency, real-time data processing, algorithms, and performance optimizations for modern architectures.

Comments • 62

  • Vu Luong Trieu
    Vu Luong Trieu 2 years ago +78


  • Timka Borgalinov
    Timka Borgalinov Year ago +3

    Little observation -> Coroutines are becoming close to RXJava, because more and more operators are being released. They make the coroutines more complex and the main reason people moved from RX was the complexity, but despite this I can't help but notice that JetBrains does it in very beautiful way

  • Alê
    Alê Year ago +8

    What an awesome talk! Elizarov presentations are always very interesting

  • Denis Shakhov
    Denis Shakhov Year ago

    That`s definetly great videos, that can explain you all what you need to know about flow and how to start using them. Thank you!

  • Xandr Viking
    Xandr Viking Year ago +5

    Thank you Roman !!! Super workshop as always.

  • zhou7yuan
    zhou7yuan 2 years ago +2

    Recap On Kotlin Coroutines [

  • vaishak nair
    vaishak nair 2 years ago +3

    'suspend' function is magic in its purest form.

  • Alex The Prophet
    Alex The Prophet 2 years ago +1

    Thanks for the talk. It cleared a lot of things for me.

  • _boris_
    _boris_ Year ago +1

    Would be interesting to see comparison of Kotlin Flow vs Scala ZIO

  • Ayder Al

    Brain explosion. Such a neat elegant approach to further improve reactive programming

  • kamillo0091
    kamillo0091 Year ago +1

    Great talk and Kotlin Flow seems an amazing feature!

  • Eldath Ray
    Eldath Ray 2 years ago +2

    WOW. Amazing!

  • Alex Couch
    Alex Couch 2 years ago +43

    This talk really flowed well

  • Artem Khateev
    Artem Khateev Year ago +3

    Спасибо, Роман. Интересно)

  • Christopher Perry
    Christopher Perry Year ago +37

    I'm a simple man, I see Roman Elizarov I click the Play button.

  • Bayram İnanç
    Bayram İnanç Year ago

    Wow, such an awesome content! Flow beat the shit out of RxJava.

  • Michael Najera
    Michael Najera 2 years ago +8

    Can't wait for that share operator

  • Mostasim Billah
    Mostasim Billah Year ago +2

    Thanks. Its a great talk.

  • vicboma1
    vicboma1 2 years ago +6

    Flow is cool, Awesome!

  • himattm
    himattm Year ago

    Link to Flow Scrabble Benchmark