Escaping Callback Hell with coroutines

GDG Rennes
Tue, Nov 13, 2018, 6:45 PM (CET)

About this event

Programme de la soirée: Présentation et Live coding sur les coroutines
*****
Les coroutines, c'est stable depuis quelques jours dans Kotlin 1.3, mais ça fait depuis la version 1.1 que des gens se sont fait les dents dessus avec la version expérimentale, qui a fait des merveilles en production !
Dans Android, il y a un tas de callbacks et d'événements asynchrones, ce qui conduit facilement au plus bas de l'enfer : les callback hells.
Un callback hell, c'est une pâte à base de vieux spaghettis collants, que vous devez manger à chaque fois que vous remettez des pâtes pour rajouter des fonctionnalités ou effectuer de la maintenance.
Certains diététiciens préconisent de transformer ça en jolis streams de spaghettis en passant à la programmation réactive, mais cela demande beaucoup d'effort quand il s'agit d'arrondir les coins pour faire un cercle.
Entre temps, les chercheurs de chez JetBrains et leurs disciples ont mis au point des pâtes qui se cuisinent beaucoup plus facilement dans tous les sens : les coroutines. Sans métaphore, les coroutines permettent d'avoir un code asynchrone et séquentiel en même temps.
Dans cette session de live coding, vous verrez comment il est possible avec moins de code de faire plein de choses routinières, comme accéder à une base de données Room hors du main thread, filmer avec l'API Camera2 en 5 lignes de code (dont 4 lignes pour le try/catch), faire des appels à une API/webservice, et attendre n'importe quel callback sans jamais attaquer la lisibilité de votre code.

Speaker: @Louis_CAD
Louis CAD privilégie l'efficience à la performance. Il développe des applications Android depuis plus de 4 ans, et aussi des librairies, avec Kotlin, depuis plus de 2 ans. Cherchant constamment à innover, il s'intéresse à beaucoup de sujets techniques, de petite et grande envergure, et comment ils sont liés. C'est aussi un amateur de vélomobiles, qui pratique le vélo utilitaire

Informations pratiques: Le live coding se fera à la salle i50 de l'ISTIC


Organizers