Anna Zharkova

Usetech company, Lead Mobile developer

Talk Title

Kotlin Multiplatform multithreading old and new way

Room

Hopper

Date

07.07.2022

Time

14:40 > 40 min

Share

on Twitter

Kotlin Multiplatform is a modern, powerful tool for multiplatform development. The main idea of Kotlin Multiplatform, as well as other cross-platform SDKs, is to optimize development by writing code once and share it between different platforms. However, dealing with a common code base could have some nuances that should be figured out and solved according to the platform specifics. And implementation in a common base could be really tricky. One such moment is a providing common solution for multithreading and concurrency. Especially for iOS, because it doesn't support the same technologies as Android does. KMM SDK uses the specific for every native platform version of Kotlin: Kotlin/JVM, Kotlin/JS, or Kotlin/Native. Every version includes special Kotlin language extensions, tools, and libraries specified for a particular platform. The module created with Kotlin language will be compiled by JVM to bytecode for Android and by LLVM to bytecode for iOS. Kotlin Native is really different from Kotlin JVM because it depends on the specifics of the iOS platform. Most default solutions that work with JVM are not suitable for Kotlin Native at all. I would like to examine the specifics of both platforms, to show the difference between Kotlin Native and Kotline JVM, what problems could be faced in providing a common solution for both platforms, and the ways to provide a working solution. And how to work with new memory management model in 1.6.0 version of Kotlin/Native

Speaker Bio

My name is Anna Zharkova, I’m from Barnaul. I’m Lead Mobile developer with more than 7 years of experience. I develop both native (iOS – Swift/Objective-c, Android – Kotlin/Java) and cross platform (Xamarin, Kotlin Multiplatform) applications. I also make an architect solution in mobile projects. Also mentoring junior developers and leading of mobile team.
Currently, I’m Leading Developer in Usetech company.
Tutor in Otus course “iOS Advanced 2.0”

Menu