0Pricing
Kotlin Multiplatform Academy · Aula

Projete uma interface de capacidades

Defina um contrato compartilhado para um recurso da plataforma.

Projete uma interface de capacidades é uma aula grátis de Kotlin Multiplatform Academy no CoddyKit. Esta é a aula 1 de 4. Você pode ler a aula completa abaixo gratuitamente — depois pratica ao vivo no navegador com um editor de código integrado e um tutor de IA 24/7. Faz parte do caminho de aprendizado de Kotlin Multiplatform Academy, e seu progresso é sincronizado entre a web e o app CoddyKit. O curso de Kotlin Multiplatform Academy inclui 4 aulas no total.

Partes desta aula ainda não foram traduzidas e aparecem em inglês.

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. 🎉

Perguntas Frequentes

A aula “Projete uma interface de capacidades” é grátis?

Sim — o texto completo de “Projete uma interface de capacidades” é grátis para ler aqui na web. Para praticá-la interativamente (um editor de código integrado e um tutor de IA 24/7) e desbloquear o restante do curso de Kotlin Multiplatform Academy, atualize para CoddyKit PRO. O curso de Kotlin Multiplatform Academy inclui 4 aulas no total.

O que vou aprender em “Projete uma interface de capacidades”?

Defina um contrato compartilhado para um recurso da plataforma. Você pratica Kotlin Multiplatform Academy com código prático que executa diretamente no navegador, e um tutor de IA 24/7 responde suas dúvidas enquanto trabalha na aula.

Preciso ter experiência prévia para começar Kotlin Multiplatform Academy?

Nenhuma experiência prévia é necessária. Kotlin Multiplatform Academy no CoddyKit é estruturado para alunos iniciantes até avançados, então você pode começar aqui ou desde o início e aprender no seu ritmo. Esta é a aula 1 de 4.

Quanto tempo leva a aula “Projete uma interface de capacidades”?

A maioria das aulas CoddyKit leva cerca de 5–10 minutos. Cada uma é compacta e interativa, então você faz progresso constante e retoma exatamente de onde parou entre web e app.

Posso escrever e executar código nesta aula de Kotlin Multiplatform Academy?

Sim. Cada aula de Kotlin Multiplatform Academy inclui um editor de código integrado, então você escreve e executa código real direto no navegador e recebe feedback de IA instantaneamente — nenhuma configuração local necessária.

Todas as aulas deste curso

  1. Projete uma interface de capacidades
  2. expect/actual para informações do dispositivo
  3. Sistema de arquivos e caminhos por plataforma
  4. Injete implementações da plataforma
← Voltar para Kotlin Multiplatform Academy