# How We integrated Kotlin Multiplatform Into Profi

DevFeed: [How We integrated Kotlin Multiplatform Into Profi](<https://devfeed.tech/articles/how-we-integrated-kotlin-multiplatform-into-profi-23906.md>)

Original publisher: [Read original article](<https://medium.com/icerock/how-we-integrated-kotlin-multiplatform-into-profi-c497059f2f48?source=rss----b74ae24564e---4>)

Author: IceRock Development

Published: 2021-06-28T07:43:15Z

Content type: article

Language: en

Sources: [IceRock Development - Medium](<https://devfeed.tech/sources/icerock-development-medium.md>)

Topics: [Kotlin Multiplatform](<https://devfeed.tech/topics/kotlin-multiplatform.md>), [Kotlin](<https://devfeed.tech/topics/kotlin.md>), [Android](<https://devfeed.tech/topics/android.md>), [cross-platform](<https://devfeed.tech/topics/cross-platform.md>), [iOS](<https://devfeed.tech/topics/ios.md>), [Mobile](<https://devfeed.tech/topics/mobile.md>), [Development](<https://devfeed.tech/topics/development.md>), [Flutter](<https://devfeed.tech/topics/flutter.md>), [React Native](<https://devfeed.tech/topics/react-native.md>)

Tags: [android](<https://devfeed.tech/tags/android.md>), [cross-platform](<https://devfeed.tech/tags/cross-platform.md>), [development](<https://devfeed.tech/tags/development.md>), [flutter](<https://devfeed.tech/tags/flutter.md>), [ios](<https://devfeed.tech/tags/ios.md>), [jetbrains](<https://devfeed.tech/tags/jetbrains.md>), [kotlin](<https://devfeed.tech/tags/kotlin.md>), [kotlin-multiplatform](<https://devfeed.tech/tags/kotlin-multiplatform.md>), [mobile](<https://devfeed.tech/tags/mobile.md>), [mobile-apps](<https://devfeed.tech/tags/mobile-apps.md>), [multiplatform](<https://devfeed.tech/tags/multiplatform.md>), [react-native](<https://devfeed.tech/tags/react-native.md>), [sdk](<https://devfeed.tech/tags/sdk.md>), [swift](<https://devfeed.tech/tags/swift.md>)

## AI overview

Profi.ru describes its adoption of Kotlin Multiplatform for Android and iOS mobile apps, including the reasons for choosing it, the integration process, and the division between shared business logic and native UI. The article states that the team has used Kotlin Multiplatform in production since 2019 and that more than 70% of its application code is platform-independent.

## Source excerpt

How We Integrated Kotlin Multiplatform Into Profi Hi, guys, it's IceRock team. So great to get feedback from customers. This time guys from Profi.ru wrote an article. Hope their experience will be useful and inspiring for you. Hello! My name is Mikhail Ignatov, and I am a team lead at Profi. My team is responsible for client-side mobile apps for Android and iOS. We have been using Kotlin Multiplatform in production since 2019. Let me tell you about why we chose this particular technology, how we integrated it, the key stages that we went through during the process, and the conclusions we reached in the end. Kotlin Multiplatform Kotlin Multiplatform allows users to run the same Kotlin code on multiple platforms. In August of 2020, JetBrains introduced Kotlin Multiplatform Mobile (KMM), an SDK that facilitates the use of shared code across Android and iOS. The purpose of the technology is to extract business logic while the UI layer remains native, which is good for a better user experience and the look and feel of the apps. Why We Chose Kotlin Multiplatform We studied various cross-platform technologies. For example, React Native and Flutter allow to program and develop a feature for both platforms at the same time, but they narrow the choice of programming language and libraries. We chose Kotlin Multiplatform for three reasons. Ease of integration The common code written in Kotlin can be injected with minimal effort into a finished application. It then compiles into platform-familiar libraries. In the case of Android, it is a jar or aar library, while for iOS, it is a Universal Framework. The connection process and further work does not differ from interacting with any native library. The Kotlin language's syntax is close to Swift The similarity of the language lowers the entry barrier for iOS developers. Both languages share a similar ideology focused on development speed and usability. Anyone on the team can understand what is going on in the common code and adj