[Kotlin 1.1+ feature] If callbacks are hell, are coroutines the way to heaven?
Status: submitted
Section: Full talk (35/45 minutes)
Technical level: Intermediate
Votes: +3
Your opinion is important to us! Rate this proposal
Abstract
While nearly all apps need to perform computations or I/O asynchronously, often off the UI thread (to avoid UI freezes on blocking calls), the solutions have never been straightforward. You could choose between AsyncTask, threads, executors or third-party java libraries (like RxJava), but couldn't avoid the callback hell. Coroutines which came in Kotlin 1.1 are changing this.

This talk will show how coroutines are relevant in many Android components (ViewModels, Jobs, Services, Activities/Fragments, Views…), for I/O, UI animations, Google Play Services Tasks API usage, and custom async logic.
But that's not all. I'll show you how you can take down any callback hell and do things you'd not have done before because it would have polluted your code base too much.
Bluetooth Low Energy, a great callback hell example, can also get good with coroutines, and I'll show how I Made GATT Great Again! If you have some safe BLE devices we can connect to, please, bring them at the conference!
Camera2 will also be part of the presentation.

What you'll learn here will enable you to better take advantage of Coroutines features to solve complex problems and deal with hard or badly designed APIs you can't escape.
Requirement
Know to read basic Kotlin code. Being able to read Java can also help.
Speaker bio
Louis CAD, living in Tours, France has been an Android Developer for more than 3 years. In October 2016, he did try.kotl.in and used it in production 10 days later. About a year later, he has become a true Kotlin fan. Coroutines are his favorite Kotlin feature.

He believes in amplifying good actions, and minimizing the repercussions of the bad ones.
This belief makes him have more ambition than time, hence a concurrent focus on multiple Android projects, and not so Android projects too.