https://kotlinlang.org/docs/multiplatform-mobile-create-first-app.html#create-the-project-from-a-template

 

Create your first cross-platform app | Kotlin

 

kotlinlang.org

위 링크의 내용을 따라가며 시작해 보기.

 

프로젝트 생성

프로젝트 생성시 프로젝트트리

 

Android Emulator

 

IOS 실기기가 없다면 다음과 같이 Configuration을 설정해 줍니다.

IOS Emulator

 

Common Main  수정해 보기

greet()는 iosMain, AndoridMain 프로젝트에서 불리는 공통 메서드이다.

package com.root.kmmstart

class Greeting {
    private val platform: Platform = getPlatform()

    fun greet(): String {
        return "Hello, ${platform.name}!"
    }
}

Platform Interface를 비니지스 로직에 필요한 동작을 정의하고 IOS, Android 각각 동작에 대해 구현한다.

package com.root.kmmstart

interface Platform {
    val name: String
}

expect fun getPlatform(): Platform
package com.root.kmmstart

import platform.UIKit.UIDevice

class IOSPlatform: Platform {
    override val name: String = UIDevice.currentDevice.systemName() + 
            " " + UIDevice.currentDevice.systemVersion
}

actual fun getPlatform(): Platform = IOSPlatform()
package com.root.kmmstart

class AndroidPlatform : Platform {
    override val name: String = "Android ${android.os.Build.VERSION.SDK_INT}"
}

actual fun getPlatform(): Platform = AndroidPlatform()

 

IOS, Android  UI 수정해 보기

UI Level은 각각 플랫폼에서 구현된다. (필자는 안드로이드 개발자라 SwiftUI에 대해서는 무지하다)

@Composable
fun GreetingView(text: String) {
    Column() {
        Text(text = text, color = Color.Red)
        Text(
            "this is Greeting View Composable Function in Android App!!!",
            modifier = Modifier.background(color = Color.Yellow)
        )
    }
}
struct ContentView: View {
   let greet = Greeting().greet()

   var body: some View {
      Text(greet)
      Text("this is Greeting View Swift UI in Ios App!!!")
   }
}

'Mobile > KMM(Kotlin MultiPlatform Mobile)' 카테고리의 다른 글

1. KMM 시작하기  (0) 2023.04.23

https://kotlinlang.org/docs/multiplatform-mobile-getting-started.html

 

Get started with Kotlin Multiplatform for mobile | Kotlin

 

kotlinlang.org

위 링크의 설명을 따라가며 시작해보기.

Set up an environment

개발을 위해 기본적으로 아래는 모두 설치해야 합니다.

Android Studio

작성일 기준 아래 정보로 진행했습니다.

Xcode

작성일 기준 아래 정보로 진행했습니다.

JDK

작성일 기준 아래 정보로 진행했습니다.

> java -version
openjdk version "17.0.6" 2023-01-17
OpenJDK Runtime Environment Temurin-17.0.6+10 (build 17.0.6+10)
OpenJDK 64-Bit Server VM Temurin-17.0.6+10 (build 17.0.6+10, mixed mode, sharing)

Kotlin Multiplatform Mobile plugin

Android Studio > Plugins 에서 설치 할 수 있습니다.

Kotlin plugin

프로젝트 생성 후 Android Studio 내에서 설정할 수 있습니다.

KDoctor

필수는 아니지만 원활한 진행을 위해 KDoctor도 설치해줍니다.

KDoctor works on macOS only.
> kdoctor
Environment diagnose (to see all details, use -v option):
[✓] Operation System
[✓] Java
[✓] Android Studio
[✓] Xcode
[✖] Cocoapods
  ✖ cocoapods not found
    Get cocoapods from https://guides.cocoapods.org/using/getting-started.html#installation

KDoctor 설치후 터미널에서 KDoctor로 체크하고 Cocoapods을 제외한 Tool들이 [v] 표시면 됩니다.

'Mobile > KMM(Kotlin MultiPlatform Mobile)' 카테고리의 다른 글

2. KMM 프로젝트 생성  (0) 2023.04.23

+ Recent posts