KotlinNative에서 HelloWorld하기
4401 단어 KotlinNativeKotlinHelloWorld
Kotlin 1.3
Kotlin 1.3이 발표되어 KotlinNative가 베타 버전으로 함께 제공됩니다.
지금까지는 JVM 라든지 JavaScript 라고 하는 환경에서 밖에 움직이지 않았던 것이, KotlinNative 에서는 바이너리로서 OS 로부터 직접 움직일 수 있게 됩니다. JVM에 의존하지 않기 때문에 iOS 앱도 Kotlin에서 만들 수 있게 된다고 화제가 되고 있습니다. 멀티 플랫폼 개발의 본명이 될지 궁금하네요.
서버측 KotlinNative
네이티브 혜택은 앱뿐만 아니라 서버로 실행되는 프로그램에서도 가능합니다. JVM은 가상 머신의 일종이므로 애플리케이션을 시작하는 데 시간이 걸리거나 디스크 메모리 용량을 여분으로 먹어 버리는 등의 단점이 있습니다. 그러나 KotlinNative에서 바이너리로 애플리케이션을 생성할 수 있게 되면, 이 오버헤드 없이 움직일 수 있게 됩니다. Docker 화할 때도 이미지가 만들기 쉬워질 것 같네요.
또한 Kotlin 1.3부터 Coroutines를 사용할 수 있게 되었기 때문에 비블로킹 웹 서버를 만들 수 있게 되었습니다. 외부의 통신이나 파일의 입출력등을 CPU로 기다리지 않고 처리할 수 있게 되므로, 매우 효율적으로 리퀘스트를 할 수 있게 됩니다. Kotlin의 비동기 웹 프레임 워크 ktor도 1.0.0으로 이제 공식적으로 출시 될 것입니다. 그래서 이것을 꼭 시도하고 싶었습니다.
Python보다 형이 엄밀하고, Go보다 취약하기 쉬운 언어(※개인차가 있습니다)이므로, 어쩌면 단번에 유행하는 것은 기대하고 있습니다.
HelloWorld 한다
이번에는 KotlinNative에서 Ktor를 움직이는 곳까지 시도하려고 생각했지만, 아직 KotlinNative에 프레임 워크가 대응하고 있지 않거나 원래 스스로 다른 Kotlin 라이브러리를 도입하는 곳에서 주저했기 때문에, 우선 HelloWorld까지를 정리해 보았습니다.
GitHub: Kotlin Native Support #571 - https://github.com/ktorio/ktor/issues/571
검증 환경
Kotlin 설치
완전히 Kotlin 1.3이 출시된 것 같았지만 아직이었습니다. (2018/10/17 현재)
그래서 Github에서 직접 떨어집니다.
(릴리스 후에는 SDKMan 을 넣어
sdk install kotlin
로 들어간다고 합니다)# ダウンロード
cd /tmp
wget https://github.com/JetBrains/kotlin-native/releases/download/v0.9.3/kotlin-native-linux-0.9.3.tar.gz
tar -zxvf kotlin-native-linux-0.9.3.tar.gz
# 設置してパスを通す (場所はお好みで)
sudo mv kotlin-native-linux-0.9.3 /opt/
export PATH=$PATH:/opt/kotlin-native-linux-0.9.3/bin
kotlinc-native
라는 명령을 사용할 수 있게 되면 설치 완료입니다. 별도 Java 를 사용할 수 있게 되어 있을 필요가 있을지도 모릅니다.HelloWorld 한다
fun main(args: Array<String>) {
println("Hello Kotlin/Native!")
}
KotlinNative의 공식 페이지에서 HelloWorld의 샘플을 Copipe 마음껏 손에 넣습니다.
# コンパイル
kotlinc-native hello.kt -o hello
# 実行!!
./hello.kexe
Kotlin Native 완전히 이해한 피 c. 라고 r. 코 m / Shi sqfw4r0 — kimihiro_n (@kimihiro_n) 10월 17, 2018
수고하셨습니다.
참고로 Kotlin 1.3부터 main 인수가 더 이상 필요하지 않으므로
fun main() {
println("Hello Kotlin/Native!")
}
와 같이 해도 제대로 움직여 주었습니다. Java 느낌이 사라졌습니다.
Kotlin 1.3과 Ktor 1.0의 정식 릴리스 즐거움이군요.
Native에서도 웹 서버를 만들 수 있게 되면 다시 시도하고 싶습니다.
Reference
이 문제에 관하여(KotlinNative에서 HelloWorld하기), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/kimihiro_n/items/089564b8890c8181870f텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)