Добавление Ktor и выбор движков платформы
Подключайте движки OkHttp и Darwin для каждой цели
«Добавление Ktor и выбор движков платформы» — бесплатный урок Kotlin Multiplatform Academy на CoddyKit. Это урок 1 из 4. Ты можешь прочитать весь урок бесплатно ниже — а потом практиковать его прямо в браузере с встроенным редактором кода и ИИ-репетитором 24/7. Это часть пути обучения Kotlin Multiplatform Academy, и твой прогресс синхронизируется между веб-версией и приложением CoddyKit. Курс Kotlin Multiplatform Academy содержит 4 уроков всего.
Части этого урока еще не переведены и отображаются на английском.
One HTTP Client Everywhere
Ktor Client is a multiplatform HTTP library, so you write networking once in commonMain and it runs on Android and iOS alike.
Core Plus Engine
Ktor splits into a shared core and per-platform engines. The core gives the API, the engine does the actual socket work.
Add the Core Dependency
In your shared module you add ktor-client-core to commonMain so every target can build requests with the same API.
implementation("io.ktor:ktor-client-core:2.3.12")Android Wants OkHttp
For Android you pick the OkHttp engine, a battle-tested JVM client that Ktor wraps cleanly behind its shared API.
implementation("io.ktor:ktor-client-okhttp:2.3.12")iOS Wants Darwin
For iOS you pick the Darwin engine, which runs on Apple's native URLSession under the hood for true platform networking.
implementation("io.ktor:ktor-client-darwin:2.3.12")Engines Live in Source Sets
Each engine belongs in its own source set: OkHttp in androidMain and Darwin in iosMain, never in commonMain.
androidMain.dependencies { implementation(okhttp) }Create the Client Once
In commonMain you create an HttpClient with no engine argument, and Ktor auto-selects the one bundled for that platform.
val client = HttpClient()Auto Engine Selection
Because only one engine ships per target, Ktor's auto-selection finds it. Your shared code stays free of any platform import.
Or Pass an Engine
You can also pass an engine explicitly, which is handy when you want per-platform config like timeouts or proxies.
val client = HttpClient(OkHttp)Close When Done
The client holds real resources, so call close when you no longer need it to release connections cleanly.
client.close()Why Split This Way
This core-plus-engine design lets Ktor reuse each OS's best networking stack while you keep one shared API for all of them.
Quick Check
Which engine should an iOS target use?
Recap
Ktor shares a core API but needs an engine per platform: OkHttp for Android, Darwin for iOS. Auto-selection keeps shared code clean.
Изучай Kotlin с ИИ-репетитором — бесплатно
Пиши и запускай код прямо в браузере, получай мгновенную помощь от ИИ-репетитора 24/7 и продолжи учиться на сайте или в приложении.
- Курсы
- 30
- Уроки
- 120
Часто задаваемые вопросы
Урок «Добавление Ktor и выбор движков платформы» бесплатный?
Да — полный текст урока «Добавление Ktor и выбор движков платформы» бесплатно доступен здесь в веб-версии. Чтобы практиковать его интерактивно (встроенный редактор кода и ИИ-репетитор 24/7) и разблокировать остальной курс Kotlin Multiplatform Academy, подпишись на CoddyKit PRO. Курс Kotlin Multiplatform Academy содержит 4 уроков всего.
Чему я научусь в уроке «Добавление Ktor и выбор движков платформы»?
Подключайте движки OkHttp и Darwin для каждой цели Ты практикуешь Kotlin Multiplatform Academy с помощью реального кода, который запускаешь прямо в браузере, и ИИ-репетитор 24/7 отвечает на твои вопросы во время урока.
Нужен ли мне опыт, чтобы начать Kotlin Multiplatform Academy?
Предыдущий опыт не требуется. Kotlin Multiplatform Academy на CoddyKit структурирован для всех уровней — от новичков до продвинутых, поэтому ты можешь начать отсюда или с самого начала и учиться в своем темпе. Это урок 1 из 4.
Сколько времени занимает урок «Добавление Ktor и выбор движков платформы»?
Большинство уроков CoddyKit занимают около 5–10 минут. Каждый из них компактный и интерактивный, поэтому ты постоянно делаешь прогресс и продолжаешь с того же места в веб-версии и приложении.
Можно ли писать и запускать код в этом уроке Kotlin Multiplatform Academy?
Да. Каждый урок Kotlin Multiplatform Academy включает встроенный редактор кода, поэтому ты пишешь и запускаешь реальный код прямо в браузере и получаешь моментальную обратную связь от AI — локальная установка не требуется.
Все уроки этого курса
- Добавление Ktor и выбор движков платформы
- Ваш первый запрос GET
- POST, заголовки и параметры запроса
- Тайм-ауты, журналирование и базовые URL