Kotlin

AMENDMENT Modern asynchronism with coroutines

Presentation and best practices of the coroutines framework
UA2.118 (Henriot)
Geoffrey Métais
Presentation of Kotlin Coroutines, a great new framework for asynchronism which makes it more powerfull and easier to manage. Please note that this talk replaces one entitled "Experimenting with the Kotlin Compiler" that was due to have been given by Jossi Wolf, who has sent his apologies but is now unable to attend as he has fallen ill. We wish him a speedy recovery.
Kotlin coroutines is a Framework inspired by Go channels and C# await features. It introduces the principle of supending functions and enhances it with powerful tools like Channels and Flows. In this talk I will present the Framework and its best practices, with code examples to show how to leverage it. This is a feedback of VLC-Android migration to coroutines which helped to improve threading capabilities, performances and helped suppress callback hells.

Additional information

Type devroom

More sessions

2/2/20
Kotlin
Nicola Corti
UA2.118 (Henriot)
Welcoming participants to the first edition of the Kotlin DevRoom @ FOSDEM
2/2/20
Kotlin
Erik Hellman
UA2.118 (Henriot)
Kotlin Coroutines are a great match for implementing common features in Android applications. In this presentation, we will go through a number of patterns that solves the pattern we often encounter when implementing traditional asynchronous features.
2/2/20
Kotlin
Christophe Beyls
UA2.118 (Henriot)
FOSDEM Companion is currently the most used mobile application at FOSDEM. It has been around since 2014 and is updated every year. In 2020, it's finally made the big leap to Kotlin!
2/2/20
Kotlin
Christoph Pickl
UA2.118 (Henriot)
Although Kotlin is, from a language perspective, 100% interoperable with Java, due to the slight paradigm shift (nullability) there might be some pain when using Java frameworks, e.g.: the need of private var lateinit when using JUnit, having to use compiler plugins to open up Spring annotated beans or a generated zero-arg constructor for Hibernate. This talk goes through a full fledged alternative to the common Java stack when writing microservices, using: Ktor (Web framework), Kodein (DI ...
2/2/20
Kotlin
UA2.118 (Henriot)
From git housekeeping to releasing. From keeping a sane backlog to handling internationalization and monitoring status, the life of a developer involves more than meets the eye. This talk will be a feedback about how we use Kotlin extensively to: automate the dev workflows with command-line apps on dev machines. achieve CI independence with kotlin runners on CI machines. run Kotlin on the server using the gradle appengine plugin. ditch bash and perl and use kscript instead. That's a lot to cover ...
2/2/20
Kotlin
Bob Dahlberg
UA2.118 (Henriot)
Coroutines are great, I think we all agree on that. But as the async, and possibly parallel, programming becomes easier the risk of sharing mutable variables between coroutines arises. When the boundaries are abstracted away we should rely on safe ways to communicate between our coroutines. In this session, I will go through safe and unsafe ways of communication between different coroutines, and why it's not safe to think of them purely as threads.
2/2/20
Kotlin
Giuseppe Barbieri
UA2.118 (Henriot)
Creating modern games in Kotlin forces you to use non-object oriented graphic languages and getting your hand dirty with native resource managemente. With wrappers around OpenGL and Vulkan, we make powerful graphics familiar to jvm devs and type-safe.