0Pricing
Kotlin Multiplatform Academy · Урок

commonMain, androidMain и iosMain

Три набора исходного кода, с которыми вы будете работать каждый день

«commonMain, androidMain и iosMain» — бесплатный урок Kotlin Multiplatform Academy на CoddyKit. Это урок 2 из 4. Ты можешь прочитать весь урок бесплатно ниже — а потом практиковать его прямо в браузере с встроенным редактором кода и ИИ-репетитором 24/7. Это часть пути обучения Kotlin Multiplatform Academy, и твой прогресс синхронизируется между веб-версией и приложением CoddyKit. Курс Kotlin Multiplatform Academy содержит 4 уроков всего.

Части этого урока еще не переведены и отображаются на английском.

Source Sets, Not Folders

Inside shared, code lives in source sets. Each one targets a different platform, and Kotlin compiles them accordingly.

Meet commonMain

commonMain is where shared Kotlin lives. Code here compiles for every target, so it must stay platform-neutral.

Meet androidMain

androidMain holds Android-only code in the shared module. Here you can touch JVM and Android APIs freely.

Meet iosMain

iosMain holds iOS-only Kotlin. It can reach Apple frameworks through Kotlin/Native interop.

A Place for Everything

Put cross-platform logic in commonMain. Drop into androidMain or iosMain only when you truly need that platform.

What commonMain Looks Like

Plain Kotlin with no platform imports belongs in commonMain, like this small greeting function.

fun greet(name: String): String {
    return "Hello, " + name
}

Platform Code in androidMain

An Android API call belongs in androidMain, never in commonMain, because iOS has no such class.

import android.os.Build

fun osName(): String = Build.MODEL

They Share One Name

commonMain can declare an API and each platform set fills it in. That handshake is the expect/actual pattern you will meet soon.

Folder Layout

On disk the sets sit under src: src/commonMain, src/androidMain, src/iosMain, each with its own kotlin folder.

Compilation Merges Sets

For Android the compiler merges commonMain with androidMain. For iOS it merges commonMain with iosMain.

Start in Common

A good habit: write in commonMain first, and only move code outward when the compiler tells you a platform API is missing. 🙂

Quick Check

Where should this code go?

Recap

Three homes: commonMain for shared logic, androidMain for Android-only, iosMain for iOS-only. Default to common.

Часто задаваемые вопросы

Урок «commonMain, androidMain и iosMain» бесплатный?

Да — полный текст урока «commonMain, androidMain и iosMain» бесплатно доступен здесь в веб-версии. Чтобы практиковать его интерактивно (встроенный редактор кода и ИИ-репетитор 24/7) и разблокировать остальной курс Kotlin Multiplatform Academy, подпишись на CoddyKit PRO. Курс Kotlin Multiplatform Academy содержит 4 уроков всего.

Чему я научусь в уроке «commonMain, androidMain и iosMain»?

Три набора исходного кода, с которыми вы будете работать каждый день Ты практикуешь Kotlin Multiplatform Academy с помощью реального кода, который запускаешь прямо в браузере, и ИИ-репетитор 24/7 отвечает на твои вопросы во время урока.

Нужен ли мне опыт, чтобы начать Kotlin Multiplatform Academy?

Предыдущий опыт не требуется. Kotlin Multiplatform Academy на CoddyKit структурирован для всех уровней — от новичков до продвинутых, поэтому ты можешь начать отсюда или с самого начала и учиться в своем темпе. Это урок 2 из 4.

Сколько времени занимает урок «commonMain, androidMain и iosMain»?

Большинство уроков CoddyKit занимают около 5–10 минут. Каждый из них компактный и интерактивный, поэтому ты постоянно делаешь прогресс и продолжаешь с того же места в веб-версии и приложении.

Можно ли писать и запускать код в этом уроке Kotlin Multiplatform Academy?

Да. Каждый урок Kotlin Multiplatform Academy включает встроенный редактор кода, поэтому ты пишешь и запускаешь реальный код прямо в браузере и получаешь моментальную обратную связь от AI — локальная установка не требуется.

Все уроки этого курса

  1. Общий модуль и модули приложений
  2. commonMain, androidMain и iosMain
  3. Чтение общего build.gradle.kts
  4. Где находятся тесты: commonTest и другие
← Назад к Kotlin Multiplatform Academy