Kotlin/Wasm 및 WASI 시작하기
Kotlin/Wasm은 알파 버전입니다. 언제든지 변경될 수 있습니다.
이 튜토리얼에서는 다양한 WebAssembly 가상 머신에서 WebAssembly System Interface (WASI)를 사용하여 간단한 Kotlin/Wasm 애플리케이션을 실행하는 방법을 보여줍니다.
Node.js, Deno, WasmEdge 가상 머신에서 실행되는 애플리케이션 예시를 찾을 수 있습니다. 결과물은 표준 WASI API를 사용하는 간단한 애플리케이션입니다.
현재 Kotlin/Wasm은 Preview 1으로도 알려진 WASI 0.1을 지원합니다. WASI 0.2 지원은 향후 릴리스에서 예정되어 있습니다.
Kotlin/Wasm 툴체인은 Node.js 태스크(
wasmWasiNode*
)를 기본적으로 제공합니다. Deno 또는 WasmEdge를 활용하는 다른 태스크 변형은 프로젝트에 사용자 지정 태스크로 포함되어 있습니다.
시작하기 전에
IntelliJ IDEA의 최신 버전을 다운로드하여 설치합니다.
IntelliJ IDEA에서 File | New | Project from Version Control을 선택하여 Kotlin/Wasm WASI 템플릿 저장소를 복제합니다.
명령줄에서 복제할 수도 있습니다:
bashgit clone [email protected]:Kotlin/kotlin-wasm-wasi-template.git
애플리케이션 실행하기
View | Tool Windows | Gradle을 선택하여 Gradle 도구 창을 엽니다.
프로젝트가 로드되면 Gradle 도구 창에서 kotlin-wasm-wasi-example 아래의 Gradle 태스크를 찾을 수 있습니다.
태스크가 성공적으로 로드되려면 Gradle JVM으로 최소 Java 11이 필요합니다.
kotlin-wasm-wasi-example | Tasks | kotlin node에서 다음 Gradle 태스크 중 하나를 선택하여 실행합니다.
Node.js에서 애플리케이션을 실행하려면 wasmWasiNodeRun을 선택합니다.
Deno에서 애플리케이션을 실행하려면 wasmWasiDenoRun을 선택합니다.
WasmEdge에서 애플리케이션을 실행하려면 wasmWasiWasmEdgeRun을 선택합니다.
Windows 플랫폼에서 Deno를 사용할 경우,
deno.exe
가 설치되어 있는지 확인하세요. 자세한 내용은 Deno 설치 문서를 참조하세요.
또는 kotlin-wasm-wasi-template
루트 디렉토리에서 터미널에 다음 명령 중 하나를 실행합니다:
Node.js에서 애플리케이션을 실행하려면:
bash./gradlew wasmWasiNodeRun
Deno에서 애플리케이션을 실행하려면:
bash./gradlew wasmWasiDenoRun
WasmEdge에서 애플리케이션을 실행하려면:
bash./gradlew wasmWasiWasmEdgeRun
애플리케이션이 성공적으로 빌드되면 터미널에 메시지가 표시됩니다:
애플리케이션 테스트하기
다양한 가상 머신에서 Kotlin/Wasm 애플리케이션이 올바르게 작동하는지 테스트할 수도 있습니다.
Gradle 도구 창에서 kotlin-wasm-wasi-example | Tasks | verification 아래의 다음 Gradle 태스크 중 하나를 실행합니다:
- Node.js에서 애플리케이션을 테스트하려면 wasmWasiNodeTest를 선택합니다.
- Deno에서 애플리케이션을 테스트하려면 wasmWasiDenoTest를 선택합니다.
- WasmEdge에서 애플리케이션을 테스트하려면 wasmWasiWasmEdgeTest를 선택합니다.
또는 kotlin-wasm-wasi-template
루트 디렉토리에서 터미널에 다음 명령 중 하나를 실행합니다:
Node.js에서 애플리케이션을 테스트하려면:
bash./gradlew wasmWasiNodeTest
Deno에서 애플리케이션을 테스트하려면:
bash./gradlew wasmWasiDenoTest
WasmEdge에서 애플리케이션을 테스트하려면:
bash./gradlew wasmWasiWasmEdgeTest
터미널에 테스트 결과가 표시됩니다:
다음 단계
Kotlin Slack의 Kotlin/Wasm 커뮤니티에 참여하세요:
더 많은 Kotlin/Wasm 예시를 시도해 보세요: