Speaker

Salomon Brys

Salomon Brys

Kodein Koders

Kodein Koders

Paris, France

Actions

Salomon is the creator and maintainer of the KODEIN multiplatform open source initiative as well as the founder of KODEIN Koders.
Deeply rooted in the Open-Source philosophy, he is dedicated to making tools and libraries to make programming easier, safer, and more exciting.
He is a Kotlin GDE, Kotlin certified trainer, Kotlin meetup Paris co-organiser, and conference speaker (you guessed it... about Kotlin!).
He also loves dancing Rock, playing boardgames, and flying small planes.

Salomon est le créateur et mainteneur du framework multi-plateformes KODEIN, et le fondateur de la société KODEIN Koders.
Profondément ancré dans la philosophie Open-Source, il se dédie à la création d'outils et de librairies pour rendre la programmation plus simple, sécurisée, et fun !
Il est Kotlin GDE, formateur certifié Kotlin, co-organisateur du meetup Kotlin Paris, et conférencier (vous l'aurez deviné... sur Kotlin !).
Il adore aussi danser le Rock, jouer à des jeux de société, et piloter des avions de loisirs.

Area of Expertise

  • Information & Communications Technology

Topics

  • Kotlin
  • Kotlin Coroutines
  • Kotlin/Native
  • Kotlin Multiplatform
  • Android
  • iOS

Sessions

Script your app : a new Scripting language for Kotlin/Multiplatform & the JVM en fr

There are many good reasons you may want to add a bit of scripting in your application : A-B testing, having configurable behavior without having to update the entire app, allowing customization, etc.
As of today, there is no scripting language that is compatible with all Kotlin/Multiplatform targets. So let me introduce you to a new Scripting language that is designed for Kotlin/Multiplatform. It is tailor-made for Kotlin applications, uses coroutines by default, is tooled with the IDEs you already use, and is very simple to reason about and integrate.
In this presentation, I will introduce you to the concepts of the KaMyPso language, and use a simple Compose Multiplatform application to show how you can integrate a simple scripting feature to a Kotlin/Multiplatform application.

Du script dans votre app : un nouveau langage de script pour Kotlin/Multiplatform & la JVM en fr

Il y a plusieurs bonnes raisons d'ajouter du Script dans votre application : A-B testing, pouvoir configurer le comportement sans avoir à mettre toute l'application à jour, permettre la personalisation, etc.
Il n'y a, aujourd'hui, pas de langage de script qui soit compatible avec toutes les plateformes de Kotlin/Multiplatform. Laissez moi donc vous proposer un nouveau fait spécifiquement pour Kotlin/Multiplatform. Il est fait sur-mesure pour les applications Kotlin, utilise les coroutines par défaut, est compatible avec les IDEs que vous utilisez, et est très simple à comprendre et à intégrer.
Dans cette présentation, je vous présenterais les concepts du langage KaMyPso, et utiliserai une petite application Compose Multiplatform pour démontrer comment intégrer une fonctionnalité simple de scripting à une application Kotlin/Multiplatform.

Kotlin/Multiplatform for iOS developers : state & future (2025 edition). en fr

Kotlin/Multiplatform is very often seen by iOS developers as an additional pain point, rather than a productivity tool.
Let's look at the current situation and be honest: they are right. And yet, I still think Kotlin/Multiplatform is (by far) the best solution for multi-platform development.
So, let's gather together and answer three important questions that we should be asking ourselves when working with iOS developers:
1. What can we do today to ease the integration of our KMP libraries into iOS applications, both in term of API design and of data communication architecture pattern?
2. What is coming in the near future, and how do we prepare to transition to this new Swift interoperability paradigm shift?
3. What can we do to generate engagement with iOS developers, enhance the quality of life of the representatives of a platform we desperately need, and ease their integration to our project?
We will discuss tooling, coding, building, deploying, integrating, and using. Every step is a chance to create a shared narrative with all platform developers.

Using C & native platforms in Kotlin : Building a multi-platform advanced library en

Kotlin/Multiplatform is an amazing tech which allows you to develop your business code once and deploy it to every mobile platform. However, to do things, you need to access APIs that are either provided by the platform in its native language (Obj-C, Swift) or as native libraries (C, C++, Rust).
In this live coding talk, we will see how to use different types of APIs in a Kotlin Multi-platform library that can be used on Kotlin/Multiplatform. Using Cryptography primitives as an excuse, we will see how to configure, compile, test and deploy a simple algorithmic library, and how to use it in a Kotlin/Multiplatform Mobile (KMM) project.
We will first demonstrate how to create a library with a native C dependency for the JVM, Android, Kotlin/Native & iOS, the Web, and more specifically to align JVM JNI, Kotlin/Native C-interop and JS WebAssembly.
Finally, we will explore how to use Swift iOS SDKs in conjunction with Kotlin Android SDKs to commonize advanced platform features, such as embedded cryptography.

Quick start native mobile Kotlin/Multiplatform setup en fr

Kotlin/Multiplatform is a complicated piece of tech! Because it chose to integrate inside native development tools & workflows, setting up a clean and shareable project can be complicated. Here's everything you need to set up a production ready architecture.
In this talk, we will explain how to architecture your code for a multi-platform mobile application, how to efficiently share business & behaviour code between your native apps, and how to configure each project (Common, Android & iOS) to link them to the business library.
We’ll discuss various patterns that we can use to standardise communication between the frontend (the UI) and the backend (the business logic) to ensure that the behaviour of our application remains strictly equivalent no matter the actual platform.
We’ll also show how to automatically test your common code, and how to deploy the various produced artifacts when working with application specific teams.

Mise en place rapide pour les applications mobiles natives Kotlin/Multiplatform en fr

Kotlin/Multiplatform est un bout de technologie compliqué ! Parceque Kotlin a fait le choix de s'intégrer dans les outils & workflows natifs, mettre en place un projet propre et partageable peut s'avérer compliqué. Voici tout ce que vous avez besoin de savoir pour créer une architecture prête pour la production.
Dans cette présentation, nous expliquerons comment architecturer votre code pour une application mobile multi-plateformes, comment partager efficacement le code métier & comportemental entre vos apps natives, et comment configurer chaque projet (Commun, Android & iOS) pour utiliser la librairie business.
Nous discuterons des différens patterns que nous pouvons utiliser pour standardiser la communication entre le frontend (l'interface) et le backend (la logique métier) pour aussurer un comportement strictement similaire sur chaque plateforme.
Nous montrerons également comment automatiser les tests de votre code commun, et comment déployer les différents artéfacts produits lorsque vous travaillez avec des équipes spécifiques à chaque application.

Advanced multi-platform dependency injection en

Dependency Injection is a complicated topic, and when used in a project that compiles to multiple targets through different compilers & runtimes, it can lead to serious headaches. However, the Inversion of Control pattern brings a lot of architecture features and safety.
In this talk, we will see how to use all the power of Kodein-DI (a popular dependency injection framework that works everywhere Kotlin can compile to) in a mobile multi-platform project targeting Android through Kotlin/JVM, iOS through Kotlin/Native and the mobile Web through Kotlin/JS.
First, we will see how to use DI to abstract and test multi-platform business modules as well as how to debug common binding and retrieval errors. Next, we will abstract & test behaviour by embedding the DI framework into popular behaviour architecture patterns such as MVP & MVVM. Finally, we will enhance our code using the advanced features of Kodein-DI such as set bindings, lazy access, context and scopes.

A mirror without reflection for Kotlin/Multiplatform en

Reflection is a very powerful JVM feature that allows to create implementations of interfaces on the go, as well as exploring the type hierarchy, methods and properties of a given class.
These capabilities do not exist in Kotlin/Multiplatform, so we will explore an alternative method to runtime reflection: a compile-time symbol processor to create compile time mirrors.
Using Mocking as an excuse (as mocking typically needs reflection), we will explore how we can use KSP (Kotlin Symbol Processor) to circumvent the absence of reflection and generate efficient test mocks at compile time. We will also see the limitations that multiplatform brings to both the KSP generator and its associated runtime, and ee will explain the tradeoff that needs to be made when using KSP, and why they are needed.
Finally, we will demonstrate how to architecture all moving parts : the KSP plugin, Gradle Plugin, KSP generator & library runtime, so you can be ready to use KSP and create your own mirrors.

Let's compose our presentations! en fr

Have you ever been frustrated by "regular" presentation tools? Let me tell you about my experience as a speaker.
Because a presentation is a support to a verbal discourse, I don't just want to print text or still images. When I envision a slide in my head, it presents data structurally, progressively highlighting portions while I'm talking about them, with clear and subtle animations that deliver my point. In my head, it's amazing!
...and then I have to battle with Google Slides or Apple Keynote to translate my vision, which inevitably ends in sad compromises. And don't get me started about animating highlighted source code...
But wait! Presenting structured data and animating transitions between them is what I do! After all, I'm an Application Developper, I know about UI!
What if I could compose and animate my slides with the UI framework I use everyday?
Let me introduce you to CuP (Compose ur Pres): a desktop Compose/Multiplatform framework that allows you to program your slides and display your content your way.
Join me to learn how to translate your application UI knowledge into creating beautiful, interactive, and memorable presentations!

Composons nos présentation ! en fr

Est-ce que les système de présentations vous frustrent ? Laissez moi vous parler de mon expérience de speaker.
Parce qu'une présentation est le support d'un discours verbal, je ne veux pas afficher du texte ou des images inanimées. Lorsque j'imagine une slide dans ma tête, elle présente des données structurées, tout en soulignant la portion dont je parle au moment où j'en parle, en utilisant des animations claires et légères qui appuient mon propos. Dans ma tête, c'est génial !
...et je me retrouve à devoir me battre avec Google Slides ou Apple Keynote pour traduire ma vision, ce qui mène inévitablement à de tristes compromis. Et ne parlons pas d'animer du code source...
Attendez un peu... Présenter des données structurées et animer les transitions entre elles, c'est ce que je fait tous les jours ! Après tout, je suis un développeur applicatif, je sais créer des UI !
Et si je pouvais composer et animer mes slides avec le framework UI que j'utilise tous les jours ?
Laissez moi vous présenter CuP (Compose ur Pres) : un framework Compose/Multiplatform desktop qui vous permet de programmer vos slides et d'afficher votre contenu comme vous le voulez.
Rejoignez-moi pour apprendre comment utiliser votre connaissance des UI applicatives pour créer de magnifiques présentations interactives et mémorables!

Kotlin/Multiplatform pour les développeurs iOS : maintenant & bientôt (édition 2025). en fr

Les développeurs iOS voient souvent Kotlin/Multiplatform comme une difficulté supplémentaire, bien loin d'un outil de productivité.
Soyons honnête et analysons la situation actuelle : ils ont raison. Et pourtant, je pense toujours que Kotlin/Multiplatform est (de loin) la meilleure solution pour le développement multi-platformes.
Rassemblons nous donc pour répondre à trois questions primordiales que nous devrions nous poser lorsque nous travaillons avec des développeurs iOS :
1. Que pouvons nous faire aujourd'hui pour faciliter l'intégrations de nos librairies KMP dans des applications iOS, à la fois en terme d'API et de pattern architerctural de communication de donnée ?
2. Qu'est-ce qui va changer dans un future proche, et comment pouvons nous nous préparer à transitionner vers ce nouveau paradigme d'interopérabilité avec Swift ?
3. Que pouvons nous faire pour générer de l'engagement avec les développeurs iOS, améliorer la qualité de vie des représentants d'une plateforme dont nous avons désespérément besoin, et faciliter leur intégration dans notre projet ?
Nous allons discuter d'outillage, d'interface de programmation, de compilation, de déploiement, d'intégration, et d'utilisation. Chaque étape est une opportunité de créer un chemin commun à tous les développeurs plateforme.

GDG DevFest UK & Ireland Sessionize Event

January 2022 London, United Kingdom

Advanced Technology Days 16 Sessionize Event

December 2021 Zagreb, Croatia

droidcon London 2021 Sessionize Event

October 2021 London, United Kingdom

droidcon Berlin 2021 Sessionize Event

October 2021 Berlin, Germany

KotlinConf 2019 Sessionize Event

December 2019 Copenhagen, Denmark

Salomon Brys

Kodein Koders

Paris, France

Actions

Please note that Sessionize is not responsible for the accuracy or validity of the data provided by speakers. If you suspect this profile to be fake or spam, please let us know.

Jump to top