Upgrade to Pro — share decks privately, control downloads, hide ads and more …

A Brief History of Kotlin Multiplatform

A Brief History of Kotlin Multiplatform

Russell Wolf

December 02, 2023
Tweet

More Decks by Russell Wolf

Other Decks in Technology

Transcript

  1. Russell Wolf @RussHWolf ( or ) A Brief History of

    Kotlin Multiplatform DevFest Boston Dec 2, 2023
  2. 2012 2013 2014 2015 2016 2017 2018 2019 2020 2021

    2022 2023 2024 https://blog.jetbrains.com/kotlin/2012/01/kotlin-web-demo-is-out/
  3. 2012 2013 2014 2015 2016 2017 2018 2019 2020 2021

    2022 2023 2024 https://blog.jetbrains.com/kotlin/2012/01/the-road-ahead/
  4. 2012 2013 2014 2015 2016 2017 2018 2019 2020 2021

    2022 2023 2024 https://blog.jetbrains.com/kotlin/2012/01/the-road-ahead/
  5. 2012 2013 2014 2015 2016 2017 2018 2019 2020 2021

    2022 2023 2024 https://blog.jetbrains.com/kotlin/2016/02/kotlin-1-0-released-pragmatic-language-for-jvm-and-android/
  6. 2012 2013 2014 2015 2016 2017 2018 2019 2020 2021

    2022 2023 2024 https://github.com/JetBrains/kotlin/commit/6e2ef9b1d2d5834c69ca44567faac77dd5dad476
  7. 2012 2013 2014 2015 2016 2017 2018 2019 2020 2021

    2022 2023 2024 https://blog.jetbrains.com/kotlin/2017/04/kotlinnative-tech-preview-kotlin-without-a-vm/
  8. 2012 2013 2014 2015 2016 2017 2018 2019 2020 2021

    2022 2023 2024 Note that we do not intend to make arbitrary Kotlin/ JVM programs runnable on Kotlin/Native or Kotlin/ JS. [...] We are going another way: providing a common language for all platforms while enabling creation of common libraries through seamless interoperability with platform code. https://blog.jetbrains.com/kotlin/2017/04/kotlinnative-tech-preview-kotlin-without-a-vm/
  9. 2012 2013 2014 2015 2016 2017 2018 2019 2020 2021

    2022 2023 2024 KotlinConf 2017 https://youtu.be/pjnHDXkeK-4?t=1599
  10. 2012 2013 2014 2015 2016 2017 2018 2019 2020 2021

    2022 2023 2024 https://blog.jetbrains.com/kotlin/2018/02/kotlinnative-v0-6-is-here/
  11. 2012 2013 2014 2015 2016 2017 2018 2019 2020 2021

    2022 2023 2024 https://blog.jetbrains.com/kotlin/2018/02/kotlinnative-v0-6-is-here/ With v0.6 we brought Kotlin/Native multiplatform projects support, so same Gradle build could be used for different Kotlin backends, such as JVM, Native and JS.
  12. 2012 2013 2014 2015 2016 2017 2018 2019 2020 2021

    2022 2023 2024 https://github.com/russhwolf/multiplatform-skeleton/commit/42f9cc9d1cd ff cbd92a2290df437dcbc266e7ed0
  13. 2012 2013 2014 2015 2016 2017 2018 2019 2020 2021

    2022 2023 2024 https://blog.jetbrains.com/kotlin/2018/04/kotlinnative-v0-7-released-smoother-interop-frozen-objects-optimisations-and-more/
  14. 2012 2013 2014 2015 2016 2017 2018 2019 2020 2021

    2022 2023 2024 https://github.com/JetBrains/kotlin-native/releases/tag/v0.7 Use Gradle native dependency model, allowing to use .klib as Maven artifacts
  15. 2012 2013 2014 2015 2016 2017 2018 2019 2020 2021

    2022 2023 2024 SQLDelight / Knarch.db https://medium.com/@kpgalligan/sqlite-sqldelight-%EF%B8%8F-kotlin-multiplatform-f24fe7cba338
  16. 2012 2013 2014 2015 2016 2017 2018 2019 2020 2021

    2022 2023 2024 Multiplatform Settings https://github.com/russhwolf/multiplatform-settings
  17. 2012 2013 2014 2015 2016 2017 2018 2019 2020 2021

    2022 2023 2024 https://github.com/e5l/http-client-common
  18. 2012 2013 2014 2015 2016 2017 2018 2019 2020 2021

    2022 2023 2024 kotlinx.coroutines https://github.com/Kotlin/kotlinx.coroutines/releases/tag/0.24.0
  19. 2012 2013 2014 2015 2016 2017 2018 2019 2020 2021

    2022 2023 2024 Droidcon NYC 2018
  20. 2012 2013 2014 2015 2016 2017 2018 2019 2020 2021

    2022 2023 2024 https://youtu.be/PsaFVLr8t4E
  21. 2012 2013 2014 2015 2016 2017 2018 2019 2020 2021

    2022 2023 2024 Docs...? https://kotlinlang.org/docs/reference/building-mpp-with-gradle.html
  22. 2012 2013 2014 2015 2016 2017 2018 2019 2020 2021

    2022 2023 2024 Multithreaded native coroutines https://github.com/Kotlin/kotlinx.coroutines/pull/1648
  23. 2012 2013 2014 2015 2016 2017 2018 2019 2020 2021

    2022 2023 2024 Prod usage! https://www.jetbrains.com/lp/mobilecrossplatform/
  24. 2012 2013 2014 2015 2016 2017 2018 2019 2020 2021

    2022 2023 2024 New native memory manager https://blog.jetbrains.com/kotlin/2020/07/kotlin-native-memory-management-roadmap/
  25. 2012 2013 2014 2015 2016 2017 2018 2019 2020 2021

    2022 2023 2024 https://kotlinlang.org/lp/mobile/
  26. 2012 2013 2014 2015 2016 2017 2018 2019 2020 2021

    2022 2023 2024 https://blog.jetbrains.com/kotlin/2021/08/compose-multiplatform-goes-alpha/
  27. 2012 2013 2014 2015 2016 2017 2018 2019 2020 2021

    2022 2023 2024 https://blog.jetbrains.com/kotlin/2021/08/try-the-new-kotlin-native-memory-manager-development-preview/
  28. 2012 2013 2014 2015 2016 2017 2018 2019 2020 2021

    2022 2023 2024 https://blog.jetbrains.com/kotlin/2021/12/compose-multiplatform-1-0-is-going-live/
  29. 2012 2013 2014 2015 2016 2017 2018 2019 2020 2021

    2022 2023 2024 https://touchlab.co/droidcon-nyc-ios-app-with-compose/
  30. 2012 2013 2014 2015 2016 2017 2018 2019 2020 2021

    2022 2023 2024 https://blog.jetbrains.com/kotlin/2022/10/kmm-beta/
  31. 2012 2013 2014 2015 2016 2017 2018 2019 2020 2021

    2022 2023 2024 https://www.youtube.com/watch?v=c4f4SCEYA5Q
  32. 2012 2013 2014 2015 2016 2017 2018 2019 2020 2021

    2022 2023 2024 https://blog.jetbrains.com/kotlin/2023/07/update-on-the-name-of-kotlin-multiplatform/
  33. 2012 2013 2014 2015 2016 2017 2018 2019 2020 2021

    2022 2023 2024 https://blog.jetbrains.com/kotlin/2023/11/kotlin-multiplatform-stable/
  34. 2012 2013 2014 2015 2016 2017 2018 2019 2020 2021

    2022 2023 2024 Increased KMP adoption
  35. 2012 2013 2014 2015 2016 2017 2018 2019 2020 2021

    2022 2023 2024 Compose Multiplatform and 100% shared apps
  36. 2012 2013 2014 2015 2016 2017 2018 2019 2020 2021

    2022 2023 2024 Stabilizing more things
  37. 2012 2013 2014 2015 2016 2017 2018 2019 2020 2021

    2022 2023 2024 The next big thing?
  38. Helpful links • Get Started:
 https://www.jetbrains.com/help/kotlin-multiplatform-dev/get-started.html • New Project Wizard:


    https://kmp.jetbrains.com/ • Case Studies: 
 https://www.jetbrains.com/help/kotlin-multiplatform-dev/case-studies.html • Webinars:
 https://www.youtube.com/watch?v=bz4cQeaXmsI
  39. Russell Wolf @RussHWolf ( or ) Thanks! • Get Started:


    https://www.jetbrains.com/help/kotlin- multiplatform-dev/get-started.html • New Project Wizard:
 https://kmp.jetbrains.com/ • Case Studies: 
 https://www.jetbrains.com/help/kotlin- multiplatform-dev/case-studies.html • Webinars:
 https://www.youtube.com/watch? v=bz4cQeaXmsI