14h - 14h10

Nikolay Igotti
Tech Lead - Jetbrains

Garbage collector implementation in multithreaded heavily interoped language runtime like one in Kotlin/Native could be
challenging. In this talk Nikolay, principal author of this runtime will explain how concurrent non-intrusive garbage collector was
implemented, and how it allowed to avoid memory leaks in the kotlinx.coroutines library implementation.

Martin Bonnin
Engineering Manager - Dailymotion

GraphQL est un langage d'API moderne et fortement typé. Kotlin est un langage de programmation moderne et fortement typé.

La rencontre était inévitable !

Dans cette présentation, je montrerai comment écrire du code d'API sûr et vérifié à la compilation avec Apollo-Android. Nous passerons ensuite de l'autre côté de la barrière pour voir les challenges associés à la migration Kotlin du projet, initialement écrit en Java. Enfin, nous envisagerons un monde 100% multiplateforme où Apollo-Android sera, contre toutes les apparences, un client GraphQL pour iOS, macOS et le web!

Romain Boisselle
Développeur - Kodein Koders

Maintenant que Kotlin à atteint une audience chez les développeurs back-end et que les outils sont là, voyons comment créer et déployer une application cloud avec notre langage favoris! Nous verrons comment profiter de la puissance de Ktor pour créer des applications robustes.

Alexis (Horgix) Chotard
SRE - Publicis Sapient Engineering

OK, Kotlin c'est cool. vous ne seriez pas là sans en être déjà convaincu. Mais qu'est-ce que ça apporte concrètement ? Évitons la classique et banale comparaison à Java... et parlons des avantages de Kotlin dans un contexte d'outillage à la limite du scripting, en venant de Python. Ce talk est un réel retour d'expérience d'un recodage complet d'un outil en Python vers du Kotlin. De l'outillage autour de la gestion de talks d'une conférence, justement !

Dmitry Kandalov
Software Engineer - Code Mine

Http4k is a lightweight HTTP library written in Kotlin that enables serving and consuming of HTTP services in a functional and testable way. Unlike many other libraries and frameworks which have complicated abstractions and workflows, http4k captures the essence of communication over HTTP with few simple concepts. In this session I will explain and demo the core concepts in http4k by live coding from scratch http server for noughts and crosses game.

Salomon Brys
CTO - Kodein Koders

Dans ce talk nous introduisons une nouvelle librairie de persistance de données pour Kotlin/Multiplatform : une base de données NoSQL embarquée avec une API Kotlin commune pour plusieurs plateformes comme Android via Kotlin/JVM et iOS via Kotlin/Native.

D'abord, nous explorerons son API de gestion de l'ORM et de données afin de démontrer comment les objets Kotlin peuvent être stockés et récupérés en toute transparence. Ensuite, nous irons plus en détail dans le fonctionnement de la librairie, afin de pouvoir y insérer votre propre logique. Nous montrerons alors quelques cas plus avancés, comme le polymorphisme ou la mise à jour structurelle. Finalement, nous discuterons des forces et faiblesses ainsi que du futur de la librairie.

13h30 - 14h

Pierre Leresteux / Ghislain Mahieux
Développeurs - Saagie

La programmation fonctionnelle fait partie de l’ADN de Kotlin, mais ce langage ne l’impose pas et laisse également sa place à la programmation impérative. Nous verrons, à l’aide d’exemples, comment et pourquoi nous sommes passé en douceur vers de la programmation fonctionnelle à l’aide de la librairie Arrow (arrow-kt.io) alors que nous ne connaissions pas les concepts associés (monad, functor, applicative...)

Cécile Dreyfus / Corentin Chatellier
Développeurs Android - Publicis Sapient Engineering et Mobiapps

L'historique Java est le legacy le plus courant à gérer sur une application Android mais il est généralement compliqué de mener à bien une migration vers Kotlin de manière efficace et sans risques de régression. Si vous pensiez que la conversion automatique ferait tout pour vous, venez découvrir les combats que vous aurez à mener pour passer du bon côté de la force et les éléments clés à ne pas négliger.

15h45 - 16h15

Melvin Biamont / Fanilo Gabaud
Android engineer - Aircall

Depuis Java, la concurrence entre plusieurs threads peut s'avérer compliquée. Singleton, synchronized, lock, les outils sont nombreux mais pas toujours évidents à manier. Kotlin apporte les coroutines, plus souples que les threads, elles peuvent rendre la concurrence encore plus ardue. Un parcours du combattant dans une app de téléphonie collaborative qui doit gérer plusieurs type d'event en realtime. Via ce retour d'expérience nous vous proposons de vous montrer comment nous avons pu résoudre résoudre ces différents problèmes.

Nicolas Mouchel
Lead Développeur Android - Meetic

Kotlin permet de faire de plus en plus d'applications que ce soit sur mobile ou sur serveur, des scripts et même du javascript.
Nous allons explorer les différentes façons d'approcher le langage.
Voir comment acquérir les bases et écrire ces premières lignes de code.
Pour finir, nous verrons les premières interrogations et erreurs auxquelles on peut être confronté en débutant.

Louis CAD

refreshVersions aims to end dependency hell in minutes.

For many Kotlin, and Android developers, this became insane to manage with dozens of AndroidX, Firebase and Google Play Services versions, even more with multi-modules projects. That's why Jean-Michel Fayard and Louis CAD teamed up over the internet to build an open source Gradle plugin that finally solves this issue.

This talk will be split into 3 parts:
1. The issues in dependency versions management, and our solution that works for all projects sizes
2. How the project was born over the internet
3. How it works with Gradle, Kotlin stdlib, coroutines, and how we ensure quality and prevent regressions with tests in GitHub Actions.

Hopefully, that can help your professional and pet projects stay up to date, and also inspire some people for future or existing open source projects.