Kotlin multiplatform в мобильных Яндекс.Картах с позиции iOS-разработчика

RU / День 1 / 19:00 / Зал 3

Яндекс.Карты — огромное приложение с большим функционалом. Долгие годы команда Яндекса дублировала этот функционал на iOS и Android — они разъезжались в логике. Чинили одни и те же баги. Страдали от невозможности переиспользовать код.

Перед Михаилом и его коллегами стояла задача — плавно и безболезненно создать мультиплаформенный компонент внутри приложения. Они посчитали, что самое перспективное решение в данных условиях — Kotlin Multiplatform, и начали свой путь внедрения этой технологии.

Добавление мультиплатформенного модуля таило в себе не только технические сложности, но и организационные. Добавив общий компонент, получили место из которого можно сломать сразу оба клиента.

В ходе внедрения Kotlin Multiplatform команда Яндекса:

  • создала схему подключения мультиплатформенного модуля;
  • адаптировала процессы, перестроила CI;
  • написала свои скрипты и плагины для Cocoapods и Gradle;
  • решила множество технических и архитектурных проблем.

Цель доклада:

  • показать пользу от мультиплатформенного решения в большей продуктовой команде;
  • показать сложности подключения Kotlin Multiplatform в команде, где не все знакомы с Kotlin;
  • показать один из способов перенастройки процессов с учетом мультиплатформенной разработки.

Слушатель узнает:

  • что Kotlin Multiplatform возможно подружить с нативной разработкой;
  • о сложностях разработки мультиплатформенного компонента. Не только со стороны кода и инструментов, но и со стороны процессов.

Целевая аудитория: iOS и Android разработчики.