Sobes.tech
Назад к вопросам
Junior — Middle
70

Можете объяснить концепцию Source Set в Kotlin Multiplatform и как она используется для организации кода?

Ответ от нейросети

sobes.tech AI

В Kotlin Multiplatform Source Set — это логическая группа исходных файлов, объединённых по платформам или общему назначению. Source Set позволяет организовать код так, чтобы можно было разделять общую логику и платформенно-зависимый код.

Основные типы Source Set:

  • commonMain — общий код для всех платформ.
  • commonTest — общие тесты.
  • platformMain (например, androidMain, iosMain) — код, специфичный для конкретной платформы.
  • platformTest — тесты для конкретной платформы.

Используя Source Set, можно писать большую часть логики один раз в commonMain, а специфичные детали реализовывать в соответствующих platformMain. Это упрощает поддержку и переиспользование кода.

Пример структуры:

src/
  commonMain/
    kotlin/
      com/example/common/
  androidMain/
    kotlin/
      com/example/android/
  iosMain/
    kotlin/
      com/example/ios/

В build.gradle.kts можно настроить зависимости и указать, какие Source Set зависят друг от друга, что позволяет гибко управлять кодом для разных платформ.