0Pricing
Kotlin Multiplatform Academy · Урок

Размещение общего интерфейса на iOS и Desktop

Встраивайте одни и те же компонуемые элементы в каждую цель

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

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

Same App, New Hosts

Your shared App composable is ready. Now each platform needs a small entry point that mounts it. The UI code itself never changes.

iOS Wraps Compose in a Controller

On iOS you expose your composable through a UIViewController. The function ComposeUIViewController hands SwiftUI a controller it can present.

fun MainViewController() =
    ComposeUIViewController { App() }

Call It from SwiftUI

From SwiftUI you wrap that controller in a UIViewControllerRepresentable, so your Kotlin screen becomes an ordinary SwiftUI view.

struct ComposeView: UIViewControllerRepresentable {
    func makeUIViewController(context: Context) -> UIViewController {
        MainViewControllerKt.MainViewController()
    }
}

iOS Renders Natively

Under the hood Compose draws using Skia onto an iOS surface, so your shared screen feels native and shares logic with Android seamlessly.

Desktop Uses a Window

On desktop you launch the same App inside an application window. A few lines of Kotlin give you a real desktop program.

fun main() = application {
    Window(onCloseRequest = ::exitApplication) {
        App()
    }
}

Desktop Runs on the JVM

The desktop target compiles to the JVM and renders with Skia too, so the same composables you wrote for phones run on macOS, Windows and Linux.

One Composable, Three Hosts

Android uses setContent, iOS uses a view controller, desktop uses a window. All three call the very same shared App function.

Share Even More by Default

Because hosting is the only platform-specific part, almost everything you build lives in commonMain. The shared surface grows large.

Tweak Per-Platform When Needed

You can still branch on platform inside shared code for things like window size or safe areas, keeping a single codebase that adapts nicely.

Test the UI Once

Shared UI means shared UI tests in commonTest, so you verify behavior a single time and trust it on every host you ship to.

Ship Three Apps from One

With hosts wired up, a single Compose codebase powers your Android, iOS and desktop releases, cutting duplicated UI work dramatically. 🚢

Quick Check

How does iOS host a shared composable?

Recap: Host It Everywhere

You mounted the same shared App on iOS through a view controller and on desktop through a window. One Compose codebase, three platforms shipped. 🎯

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

Урок «Размещение общего интерфейса на iOS и Desktop» бесплатный?

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

Чему я научусь в уроке «Размещение общего интерфейса на iOS и Desktop»?

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

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

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

Сколько времени занимает урок «Размещение общего интерфейса на iOS и Desktop»?

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

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

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

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

  1. Включение Compose Multiplatform
  2. Макеты, модификаторы и оформление
  3. Состояние и рекомпозиция в общем интерфейсе
  4. Размещение общего интерфейса на iOS и Desktop
← Назад к Kotlin Multiplatform Academy