Slide 1

Slide 1 text

Adding fun to API development with Kotlin Paris API Days 04/12/2024 - 1

Slide 2

Slide 2 text

2

Slide 3

Slide 3 text

3

Slide 4

Slide 4 text

4

Slide 5

Slide 5 text

Yassine Benabbas DevRel @ Worldline, Teacher Lille Android User Group @yostane in/benabbasyassine - 5 @yostane.bsky.social

Slide 6

Slide 6 text

Agenda 6 Language KMP Backend frameworks

Slide 7

Slide 7 text

Language 7

Slide 8

Slide 8 text

Idiomatic Kotlin • Coding with a style that uses the features of the language • For ex. : getter and setter functions in classes is not Kotlin idiomatic 8 https://wrl.li/kt-nb-ad24

Slide 9

Slide 9 text

• https://www.youtube.com/watch?list=PLlFc5cFwUnmwHaD3- qeoLHnho_PY2g9JX - 9

Slide 10

Slide 10 text

Kotlin Multiplatform (KMP) 10

Slide 11

Slide 11 text

KMP: principle 11 Compiler backend Kotlin/ JVM Kotlin/ JS Kotlin/ Native Kotlin/ Wasm iOS Desktop Browser Android Backend Data science Compiler frontend Tools Libraries Program.kt

Slide 12

Slide 12 text

12 So, Kotlin has a fullstack compiler

Slide 13

Slide 13 text

Compiler backend Kotlin/ JVM Kotlin/ JS Kotlin/ Native Kotlin/ Wasm iOS Desktop Browser Android Backend Data science Compiler frontend Tools Libraries 13 Code that depends on the JVM

Slide 14

Slide 14 text

Compiler backend Kotlin/ JVM Kotlin/ JS Kotlin/ Native Kotlin/ Wasm iOS Desktop Browser Android Backend Data science Compiler frontend Tools Libraries 14 Code that depends on the JVM

Slide 15

Slide 15 text

Compiler backend Kotlin/ JVM Kotlin/ JS Kotlin/ Native Kotlin/ Wasm iOS Desktop Browser Android Backend Data science Compiler frontend Outillage Librairies 15 Multiplatform code

Slide 16

Slide 16 text

Backend frameworks 16

Slide 17

Slide 17 text

17 Kotlin was originally developed for Android Backend

Slide 18

Slide 18 text

18 Kotlin was originally developed for Backend

Slide 19

Slide 19 text

Many choices JVM Pure Kotlin Kotlin/JS - WASM Examples 19

Slide 20

Slide 20 text

DSL restassured - 20

Slide 21

Slide 21 text

ExpressJS In Kotlin - 21

Slide 22

Slide 22 text

Ktor server By JetBrains • Free and OpenSource • Relies on DSLs • Plugins: • Rest APIs • Websockets • RPC • And a lot more - 22

Slide 23

Slide 23 text

- 23 https://wrl.li/ktorserverdemo

Slide 24

Slide 24 text

Ktor RPC (Remote Procedure Call) 24 RPC service

Slide 25

Slide 25 text

Ktor RPC (Remote Procedure Call) 25 RPC service Calling the RPC

Slide 26

Slide 26 text

Case studies https://kotlinlang.org/lp/server-side/case-studies 26

Slide 27

Slide 27 text

Conclusion 30

Slide 28

Slide 28 text

Kotlin in 2024 Back Data science Front Infra, Scripting, Gradle, … 31

Slide 29

Slide 29 text

Kotlin in 2024 Back Data science Front Infra, Scripting, Gradle, … 32 Kotlin foundation

Slide 30

Slide 30 text

• Many choices: Ktor, Spring, Quarkus, NodeJS, … • Notebooks and scripting support • Fullstack cross-platform • Interoperable with Java and JS ecosystems • Language: concise, modern and fun 33 Kotlin API dev

Slide 31

Slide 31 text

Kotlin training KMP training Thank you Any questions? 34 Slides

Slide 32

Slide 32 text

- 35 blog.worldline.tech youtube.com/@TechAtWorldline