mobius Mobius 2020 Msc (11.11.2020 — 14.11.2020)

Kotlin multiplatform in mobile Yandex.Maps from the position of an iOS developer


Why does Yandex.Maps need a multiplatform? Why use Kotlin when there are other cross-platform solutions? You will learn about this from Mikhail’s talk.

Yandex.Maps is a huge application with big functionality. For many years the Yandex team has duplicated this functionality on iOS and Android — they diverged in logic, fixed the same bugs. Suffered from the inability to reuse the code.

Mikhail and his colleagues had a task — to create a smooth and painless multiplatform component inside the application. They considered that the most promising solution in these conditions is Kotlin Multiplatform and began to implement this technology.

The multiplatform module was full of technical and organizational difficulties. The team added a common component and got a place that broke both clients at once.

During the Kotlin Multiplatform implementation the Yandex team:

  • created a wiring scheme for a multiplatform module;

  • adapted processes, rebuilt CI;

  • wrote scripts and plugins for Cooapods and Gradle;

  • solved many technical and architectural problems.

The purpose of the talk:

  • show the benefits of a multiplatform solution in a large product team;

  • show the complexities of connection Kotlin Multiplatform in a team where not everyone is familiar with Kotlin;

  • show one of the ways to reconfigure processes taking multiplatform development into account.

Listeners will learn:

  • that Kotlin Multiplatform can be made friends with native development;

  • about the complexities of developing a multiplatform component. Not only from the code and tool side but also from the process side.

Targeted audience: iOS and Android developers.