Kotlin Multiplatform Advanced. Делаем общий DI для iOS и Android

Kotlin Multiplatform (KMM) — это современный мощный инструмент для для мультиплатформенной разработки от компании JetBrains. Этот кроссплатформенный SDK позволяет оптимизировать разработку путем написания общего кода один раз и последующего его использования на разных платформах. Уровень обобщения кода зависит только от желания разработчика: от общих моделей данных до полноценной общей бизнес-логики и даже архитектуры, оставляя на стороне нативных проектов только UI. Для организации по-настоящему эффективной общей кодовой базы нужно решить ряд, казалось бы, тривиальных задач, тем не менее, имеющих свою специфику и особенности реализации в мультиплатформенном приложении. Одной из таких задач является организация и настройка связей между компонентами приложения через DI с поддержанием работоспособности и корректности не только на Android, но и на iOS.

Платформенные реализации имеют довольно много нюансов, а скрытые подводные камни могут нарушить структуру и связи в общей кодовой базе приложения KMM. В своем докладе Анна хочет рассмотреть основные кейсы, как можно организовать работу с DI в приложении KMM: какие нюансы платформ необходимо учитывать; насколько подходят для этого нативные решения; насколько эффективны и удобны существующие решения для DI в общем коде KMM и подходят ли они для обеих мобильных платформ (iOS и Android); организацию DI в общей кодовой базе KMM-приложения без сторонних решений (вариант реализации). Также рассмотрим несколько практических примеров для иллюстрации.

Source code for library