0Pricing
Kotlin Multiplatform Academy · Урок

Спроектируйте интерфейс возможностей

Определите общий контракт для функции платформы.

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

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

Some Things Are Platform-Only

Reading the battery level or device model is different on Android and iOS. Shared code still needs a clean way to ask for it. 🔋

Start With the Need, Not the API

Design from what your app actually needs. A simple interface states the capability in plain Kotlin, hiding every platform detail.

interface BatteryInfo {
  fun level(): Int
}

One Contract, Many Backers

The interface is a promise: anyone who implements it must supply a real battery level. Each platform fulfills that promise its own way.

Keep Methods Tiny

Expose only what callers need. A focused method like level() is far easier to implement per platform than a sprawling, do-everything interface.

Name It for the Domain

Call it BatteryInfo, not AndroidBatteryHelper. A good capability name describes the feature, never the platform behind it.

Return Plain Types

Hand back simple Kotlin types like Int or String. Plain return values keep the interface portable and free of platform classes.

fun model(): String

Group Related Calls

If several calls belong together, gather them in one interface. Device facts like model and OS version fit naturally side by side.

interface DeviceInfo {
  fun model(): String
  fun osVersion(): String
}

Shared Code Depends on the Type

Your common logic talks only to the interface, never to a concrete class. That keeps business rules testable and platform-agnostic.

class Banner(val info: DeviceInfo)

Fakes Become Easy

Because callers depend on the interface, tests can pass a fake that returns canned values. No emulator or real device required. ✅

class FakeDeviceInfo : DeviceInfo {
  override fun model() = "Pixel"
  override fun osVersion() = "14"
}

Avoid Leaking Platform Types

Never put a UIDevice or Android Context into the interface signature. The moment you do, shared code stops compiling on the other target.

Implementations Come Later

The contract is step one. Each platform will supply its own implementation of this interface, which you wire in separately as the next step.

Quick Check

Think about what belongs in the capability contract.

Recap

You learned to design a small, domain-named interface that states a capability, returns plain types, and keeps shared code portable and testable. 🎉

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

Урок «Спроектируйте интерфейс возможностей» бесплатный?

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

Чему я научусь в уроке «Спроектируйте интерфейс возможностей»?

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

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

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

Сколько времени занимает урок «Спроектируйте интерфейс возможностей»?

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

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

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

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

  1. Спроектируйте интерфейс возможностей
  2. expect/actual для информации об устройстве
  3. Файловая система и пути на разных платформах
  4. Внедрение реализаций платформ
← Назад к Kotlin Multiplatform Academy