0Pricing
Kotlin Multiplatform Academy · Lección

Diseñe una interfaz de capacidades

Defina un contrato compartido para una función de la plataforma.

Diseñe una interfaz de capacidades es una lección gratuita de Kotlin Multiplatform Academy en CoddyKit. Esta es la lección 1 de 4. Puedes leer la lección completa abajo gratuitamente — luego la practicas en el navegador con un editor de código integrado y un tutor de IA 24/7. Forma parte de la ruta de aprendizaje de Kotlin Multiplatform Academy, y tu progreso se sincroniza en la web y la app de CoddyKit. El curso de Kotlin Multiplatform Academy incluye 4 lecciones en total.

Partes de esta lección aún no han sido traducidas y se muestran en 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. 🎉

Preguntas frecuentes

¿La lección «Diseñe una interfaz de capacidades» es gratis?

Sí — el texto completo de «Diseñe una interfaz de capacidades» es gratis para leer aquí en la web. Para practicarla de forma interactiva (editor de código integrado y tutor de IA 24/7) y desbloquear el resto del curso de Kotlin Multiplatform Academy, actualiza a CoddyKit PRO. El curso de Kotlin Multiplatform Academy incluye 4 lecciones en total.

¿Qué aprenderé en «Diseñe una interfaz de capacidades»?

Defina un contrato compartido para una función de la plataforma. Practicas Kotlin Multiplatform Academy con código real que ejecutas directamente en el navegador, y un tutor de IA 24/7 responde tus preguntas mientras trabajas en la lección.

¿Necesito experiencia previa para empezar Kotlin Multiplatform Academy?

No se requiere experiencia previa. Kotlin Multiplatform Academy en CoddyKit está estructurado para principiantes hasta estudiantes avanzados, así que puedes empezar aquí o desde el inicio y avanzar a tu ritmo. Esta es la lección 1 de 4.

¿Cuánto tiempo toma la lección «Diseñe una interfaz de capacidades»?

La mayoría de las lecciones de CoddyKit toman alrededor de 5–10 minutos. Cada una es compacta e interactiva, así que avanzas constantemente y retomas exactamente por donde dejaste en la web y la app.

¿Puedo escribir y ejecutar código en esta lección de Kotlin Multiplatform Academy?

Sí. Cada lección de Kotlin Multiplatform Academy incluye un editor de código integrado, así que escribes y ejecutas código real directamente en tu navegador y obtienes retroalimentación instantánea de IA — sin configuración local necesaria.

Todas las lecciones de este curso

  1. Diseñe una interfaz de capacidades
  2. expect/actual para la información del dispositivo
  3. Sistema de archivos y rutas por plataforma
  4. Inyecte implementaciones de plataforma
← Volver a Kotlin Multiplatform Academy