반응형
2017년 5월 12일
Kotlin/Native v0.2의 릴리스를 기쁘게 발표합니다. 이것은 Kotlin/Native Technology Preview의 기능 및 버그 수정 업데이트입니다. 이 업데이트는 코루틴 및 교차 모듈 인라인 함수 지원을 추가하며, 전반적으로 버그 수정 및 개선 사항도 포함하고 있습니다.
이 릴리스에는 동시에 블로킹 I/O에 코루틴을 사용하는 방법을 보여주는 예제, GTK를 사용한 GUI 응용 프로그램, Julius Kunze가 기여한 TensorFlow 기계 학습 프레임워크 클라이언트 등이 포함되어 있습니다.
예를 들어 다음과 같은 간단한 코드로
var connectionId = 0
acceptClientsAndRun(listenFd) {
memScoped {
val bufferLength = 100L
val buffer = allocArray<ByteVar>(bufferLength)
val connectionIdString = "#${++connectionId}: ".cstr
val connectionIdBytes = connectionIdString.getPointer(this)
try {
while (true) {
val length = read(buffer, bufferLength)
if (length == 0L) break
write(connectionIdBytes, connectionIdString.size.toLong())
write(buffer, length)
}
} catch (e: IOException) {
println("I/O error occurred: ${e.message}")
}
}
}
코루틴을 사용하여 여러 동시 소켓 I/O를 처리하고 각 클라이언트를 개별적으로 및 동시에 제공할 수 있습니다.
또한 이벤트 리스너를 가진 GTK 버튼을 만들려면 단순히 다음과 같이 하면 됩니다:
val button = gtk_button_new_with_label("Click me!")!!
g_signal_connect(button, "clicked",
staticCFunction { _: CPointer<GtkWidget>?, _: gpointer? -> println("Hi from Kotlin") }
)
따라서 v0.2 릴리스를 통해 Kotlin으로 작성된 작은 크기의 네이티브 응용 프로그램을 완전히 기능적으로 만들 수 있습니다.
컴파일 및 실행 시간 성능이 크게 개선되었으며, 배포 가능한 크기도 감소했습니다.
이 릴리스의 모든 변경 사항의 전체 목록은 릴리스 노트에서 확인할 수 있습니다.
Linux 및 MacOS 호스트용 사전 빌드된 이진 파일이 제공됩니다.
원문
https://blog.jetbrains.com/kotlin/2017/05/kotlinnative-v0-2-is-out/
반응형
'Kotlin > Release Notes' 카테고리의 다른 글
[Kotlin Release Notes] Kotlin 1.1.3 is out (0) | 2023.09.04 |
---|---|
[Kotlin Release Notes] Kotlin/Native v0.3 is out (0) | 2023.09.04 |
[Kotlin Release Notes] Kotlin 1.1.2 is out (0) | 2023.09.04 |
[Kotlin Release Notes] Kotlin/Native Tech Preview: Kotlin without a VM (0) | 2023.09.04 |
[Kotlin Release Notes] Kotlin 1.0.7 is out (0) | 2023.09.04 |
댓글