Slide 1

Slide 1 text

Kotlin Multiplatform Ins and Outs

Slide 2

Slide 2 text

1. History of Cross-platform - 5 mins 2. Kotlin Multi-platform - 5 mins 3. Live Demo - 5 mins 4. KMP at Uber - 5 mins 5. QnA - 5 mins Agenda

Slide 3

Slide 3 text

How Cross-platform works Source: Youtube

Slide 4

Slide 4 text

The era of Cross-platform frameworks Source: Youtube

Slide 5

Slide 5 text

The era of Cross-platform frameworks Source: Youtube

Slide 6

Slide 6 text

No content

Slide 7

Slide 7 text

Source: Jetbrains

Slide 8

Slide 8 text

Source: Jetbrains

Slide 9

Slide 9 text

Source: Jetbrains

Slide 10

Slide 10 text

Source: Jetbrains

Slide 11

Slide 11 text

Source: Jetbrains

Slide 12

Slide 12 text

Source: Jetbrains

Slide 13

Slide 13 text

No content

Slide 14

Slide 14 text

Live Demo

Slide 15

Slide 15 text

1. Bug fixes deployed faster. 2. New features and enhancements deployed faster. 3. General increase in developer efficiency. 4. Reach a wider audience. 5. Native performance, interop, UX, Developer experience. Benefits of KMP

Slide 16

Slide 16 text

1. Concurrency 2. Locale 3. Date/Time 4. File I/O 5. Networking Shortcomings of KMP

Slide 17

Slide 17 text

Source: Jetbrains

Slide 18

Slide 18 text

Can Uber make use of KMP too?

Slide 19

Slide 19 text

Problems with writing same code differently 1. RIBs is written differently for Android and iOS. 2. Plugins and experimentation code is duplicated. 3. Differences across platforms. Eg. Analytics UUIDs. 4. Views sometimes have logic. 5. More time and resources required for building features.

Slide 20

Slide 20 text

Making Code-sharing a reality at Uber 1. Onboard Android and iOS teams on Kotlin. 2. Migrate business logic from Java to Kotlin. 3. Build shared-libraries like RIBs and MMDF in Kotlin. 4. Make infrastructure (CI/CD/SQ) KMP ready. 5. Make KMP work with buck/bazel or migrate to gradle.

Slide 21

Slide 21 text

What’s coming? Source: Twitter

Slide 22

Slide 22 text

Learn and Contribute Join #kotlinlang on Slack

Slide 23

Slide 23 text

References ● https://www.jetbrains.com/lp/mobilecrossplatform ● https://vimeo.com/371460823 ● https://www.youtube.com/watch?v=oulHKSUAuCk ● https://github.com/JetBrains/kotlinconf-app ● https://www.youtube.com/watch?v=NJLLPBgtiD4&list=PLQ176FUIyIUY6SKGl 3Cj9yeYibBuRr3Hl ● https://www.youtube.com/watch?v=xAc6rDQVQqg

Slide 24

Slide 24 text

Thank You! Chetan Sachdeva, Uber