코린과 함께 - 6. Kotlin/Native
개요 / 설명
Kotlin 1.3 릴리스에는 베타 버전인 Kotlin/Native가 포함되어 있습니다.
간단하게 IntelliJ에서 Kotlin/Native를 사용하고 싶습니다.
Kotlin/Native
Kotlin은 Java 및 Scala와 마찬가지로 JVM 언어로 설계되었습니다. 따라서 실행하려면 가상 머신(JVM)이 필요합니다. 그러나이 Kotolin/Native는 가상 시스템이 필요없이 작동하도록 네이티브 바이너리로 컴파일하는 기술입니다.
전제 / 환경
런타임 버전
개발 환경
절차 / 설명
1. Kotlin/Native 프로젝트 만들기
새 프로젝트를 만들 때 선택할 프로젝트 유형으로 Kotlin 범주에 포함 된 Kotlin/Native를 선택합니다.
프로젝트 구성은 기본값으로 남아 있으며 문제가 없습니다.
2. 프로젝트 구성
소스 코드 디렉토리가 자동으로 만들어집니다. 환경의 OS가 MacOS이기 때문에 디렉토리 이름이 macosMain입니다.
3. 소스 코드
build.gradle
plugins {
id 'kotlin-multiplatform' version '1.3.0'
}
repositories {
mavenCentral()
}
kotlin {
targets {
fromPreset(presets.macosX64, 'macos')
configure([macos]) {
compilations.main.outputKinds('EXECUTABLE')
compilations.main.entryPoint = 'sample.main'
}
}
sourceSets {
macosMain {
}
macosTest {
}
}
}
task runProgram {
def buildType = 'release'
dependsOn "link${buildType.capitalize()}ExecutableMacos"
doLast {
def programFile = kotlin.targets.macos.compilations.main.getBinary('EXECUTABLE', buildType)
exec {
executable programFile
args ''
}
}
}
신청
package sample
fun hello(): String = "Hello, Kotlin/Native!\n"
fun main(args: Array<String>) {
println(hello())
platform.posix.system("date")
platform.posix.system("ls -la")
}
기본에 충실히 HelloWorld의 표준 출력과 외부 명령의 실행을 넣어 보았습니다.
4. 빌드
Gradle 태스크의 build를 실행합니다.
네이티브 바이너리를 생성하는지 조금 시간이 걸리는 것 같습니다.
5. 실행
build/bin/macos/main/release/executable 디렉토리 아래에 네이티브 바이너리가 생성됩니다.
이 바이너리 파일은 MacOS에서 직접 어디서나 실행할 수 있습니다.
build/bin/macos/main/release/executable $ ./HelloKotlinNative.kexe
Hello, Kotlin/Native!
2018年 11月18日 日曜日 21時01分51秒 JST
total 1984
drwxr-xr-x 3 shinyay staff 96 11 18 20:36 .
drwxr-xr-x 3 shinyay staff 96 11 18 20:35 ..
-rwxr-xr-x 1 shinyay staff 1013336 11 18 20:36 HelloKotlinNative.kexe
요약 / 되돌아보기
Kotlin/Native는 아직 베타 버전의 취급이지만 충분히 즐길 것 같습니다.
이번에는 외부 커맨드의 호출로서 시험에 만들어 보았습니다만, 다음은 커맨드 라인 툴을 만들어 보자고 생각합니다.
이번 소스
Reference
이 문제에 관하여(코린과 함께 - 6. Kotlin/Native), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/shinyay/items/19f566683d92a7c274a7텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)