WebAssembly μΈν°νμ΄μ€ νμ (WIT)μ μ¬μΈ΅ λΆμνκ³ , νμ μμ μ± κ²μ¦μ ν΅ν΄ μΈμ΄ κ° μνΈ μ΄μ©μ±μ μ΄λ»κ² ν₯μμν€λμ§ μμλ΄ λλ€.
WebAssembly μΈν°νμ΄μ€ νμ κ²μ¬: νμ μμ μ±κ³Ό μνΈ μ΄μ©μ± 보μ₯
WebAssembly(Wasm)λ μ½λμ μ΄μμ±, ν¨μ¨μ± λ° λ³΄μμ±μ κ°μΆ μ€ν νκ²½μ μ 곡νμ¬ μΉ κ°λ°μ νμ μ κ°μ Έμμ΅λλ€. κ·Έλ¬λ λΈλΌμ°μ λ₯Ό λμ΄ Wasmμ μ±νμ΄ νλλ¨μ λ°λΌ, νΉν WebAssembly μ»΄ν¬λνΈ λͺ¨λΈκ³Ό νμ€νλ μμ€ν μΈν°νμ΄μ€(WASI)μ λΆμκ³Ό ν¨κ» κ°λ ₯ν νμ μμ μ±κ³Ό μνν μνΈ μ΄μ©μ±μ λν νμμ±μ΄ μ€μν΄μ§κ³ μμ΅λλ€. μ¬κΈ°μ WebAssembly μΈν°νμ΄μ€ νμ (WIT)μ΄ μ€μν μν μ ν©λλ€.
WebAssembly μΈν°νμ΄μ€ νμ (WIT)μ΄λ 무μμΈκ°μ?
WITλ WebAssembly μ»΄ν¬λνΈλ₯Ό μν΄ νΉλ³ν μ€κ³λ νμ€νλ νμ μμ€ν λ° μΈν°νμ΄μ€ μ μ μΈμ΄(IDL)μ λλ€. μ΄λ Wasm λͺ¨λμ μΈν°νμ΄μ€λ₯Ό νμ μμ νκ³ μΈμ΄μ λ 립μ μΈ λ°©μμΌλ‘ μ€λͺ νλ λ°©λ²μ μ 곡ν©λλ€. μ΄λ₯Ό ν΅ν΄ λ€λ₯Έ μΈμ΄(μ: Rust, C++, AssemblyScript, WasmμΌλ‘ μ»΄νμΌλ Python)λ‘ μμ±λ Wasm λͺ¨λμ΄ μμ νκ³ μμ μ μΌλ‘ μλ‘ ν΅μ νκ³ μνΈ μμ©ν μ μμ΅λλ€.
WITλ₯Ό Wasm λͺ¨λμ μν 보νΈμ μΈ λ²μκΈ°λΌκ³ μκ°νμλ©΄ λ©λλ€. μ΄λ λͺ¨λμ΄ λ ΈμΆνλ λ°μ΄ν° λ° ν¨μμ νμ μ μ€λͺ νκΈ° μν κ³΅ν΅ μΈμ΄λ₯Ό μ μνλ©°, λ€λ₯Έ λͺ¨λ(λλ νΈμ€νΈ νκ²½)μ΄ μλ μμ€ μΈμ΄μ κ΄κ³μμ΄ μ΄λ₯Ό μ¬λ°λ₯΄κ² μ΄ν΄νκ³ μνΈ μμ©ν μ μλλ‘ ν©λλ€.
WITμ μ£Όμ μ΄μ :
- νμ μμ μ±: Wasm λͺ¨λ κ°μ μ λ¬λλ λ°μ΄ν°κ° μ¬λ°λ₯Έ νμ μΈμ§ νμΈνμ¬ λ°νμ μ€λ₯ λ° λ³΄μ μ·¨μ½μ μ λ°©μ§ν©λλ€.
- μνΈ μ΄μ©μ±: λ€λ₯Έ μΈμ΄λ‘ μμ±λ Wasm λͺ¨λ κ°μ μνν ν΅μ μ κ°λ₯νκ² νμ¬ μ½λ μ¬μ¬μ© λ° νμ μ μ΄μ§ν©λλ€.
- μΈμ΄ λ 립μ±: κΈ°λ³Έ νλ‘κ·Έλλ° μΈμ΄μ λ 립μ μΈ νμ€νλ μΈν°νμ΄μ€ μ μλ₯Ό μ 곡ν©λλ€.
- ν₯μλ 보μ: λ²νΌ μ€λ²νλ‘μ°, νμ νΌλ λ° κΈ°ν μΌλ°μ μΈ λ³΄μ λ¬Έμ μ μνμ μ€μ λλ€.
- ν₯μλ λꡬ: μ½λ μμ±, κ²μ¦ λ° μ΅μ νλ₯Ό μν λꡬ κ°λ°μ μ΄μ§ν©λλ€.
WIT μλ λ°©μ: μ¬μΈ΅ λΆμ
WITμ ν΅μ¬ κ°λ μ μ μ© IDL(Interface Definition Language)μ μ¬μ©νμ¬ μΈν°νμ΄μ€λ₯Ό μ μνλ κ²μ λλ€. μ΄λ¬ν μΈν°νμ΄μ€λ Wasm λͺ¨λ κ°μ μ λ¬λ μ μλ λ°μ΄ν°μ νμ κ³Ό νΈμΆ κ°λ₯ν ν¨μμ μκ·Έλμ²λ₯Ό μ§μ ν©λλ€. WIT IDLμ κΈ°λ³Έ νμ (μ: μ μ, λΆλ μμμ , λΆμΈ), λ³΅ν© νμ (μ: λ μ½λ, λ³ν, λͺ©λ‘) λ° λ¦¬μμ€ νμ (λ©λͺ¨λ¦¬ λ° κΈ°ν 리μμ€ κ΄λ¦¬μ©)μ ν¬ν¨νλ νλΆν νμ μμ€ν μ μ 곡ν©λλ€.
WIT IDLμ μΌλ°μ μΌλ‘ Wasm λͺ¨λμ ν¬ν¨λ μ μλ μ΄μ§ νμμΌλ‘ μ»΄νμΌλ©λλ€. μ΄ μ΄μ§ νμμ Wasm λ°νμ λ° λκ΅¬κ° λͺ¨λ κ°μ μνΈ μμ©μ λν νμ μμ μ±μ κ²μ¦ν μ μλλ‘ ν©λλ€. μ΄ κ³Όμ μ μΌλ°μ μΌλ‘ λ€μκ³Ό κ°μ λ¨κ³λ₯Ό ν¬ν¨ν©λλ€:
- μΈν°νμ΄μ€ μ μ: WIT IDLμ μ¬μ©νμ¬ Wasm λͺ¨λμ μΈν°νμ΄μ€λ₯Ό μ μν©λλ€.
- μ»΄νμΌ: WIT IDLμ μ΄μ§ νμμΌλ‘ μ»΄νμΌν©λλ€(μ: `wit-bindgen`κ³Ό κ°μ λꡬ μ¬μ©).
- λͺ¨λ ν΅ν©: μ»΄νμΌλ WIT λ°μ΄ν°λ₯Ό Wasm λͺ¨λμ ν¬ν¨μν΅λλ€.
- νμ κ²μ¬: Wasm λ°νμ λλ λꡬλ λͺ¨λ κ°μ μνΈ μμ©μ΄ WIT μΈν°νμ΄μ€μ μ μλ νμ κ³Ό μΌμΉνλμ§ νμΈν©λλ€.
μμ WIT μΈν°νμ΄μ€:
λ μ μλ₯Ό λνλ ν¨μλ₯Ό μ μνλ κ°λ¨ν WIT μΈν°νμ΄μ€ μμλ λ€μκ³Ό κ°μ΅λλ€:
interface add {
add: func(a: s32, b: s32) -> s32;
}
μ΄ μΈν°νμ΄μ€λ λ κ°μ 32λΉνΈ λΆνΈ μλ μ μ(`s32`)λ₯Ό μ λ ₯μΌλ‘ λ°κ³ 32λΉνΈ λΆνΈ μλ μ μλ₯Ό λ°ννλ `add`λΌλ ν¨μλ₯Ό μ μν©λλ€.
WIT μμ μ© λꡬ λ° κΈ°μ :
- `wit-bindgen`: WIT μΈν°νμ΄μ€λ₯Ό κΈ°λ°μΌλ‘ Wasm λͺ¨λκ³Ό νΈμ€νΈ νκ²½ κ°μ μ½λ λ° λ°μΈλ©μ μμ±νλ λꡬμ λλ€.
- `wasm-pack`: Rust κΈ°λ° WebAssembly ν¨ν€μ§λ₯Ό λΉλ, ν μ€νΈ λ° κ²μνλ λꡬμ λλ€.
- `binaryen`: WebAssemblyλ₯Ό μν μ»΄νμΌλ¬ λ° ν΄μ²΄μΈ μΈνλΌ λΌμ΄λΈλ¬λ¦¬μ λλ€. Wasm μ½λμ μ΅μ ν, κ²μ¦ λ° λ³νμ μν λꡬλ₯Ό ν¬ν¨ν©λλ€.
- WebAssembly λ°νμ(μ: wasmer, wasmtime): μ΄λ¬ν λ°νμμ Wasm λͺ¨λ μ€νμ μ§μνκ³ WIT μΈν°νμ΄μ€λ₯Ό κΈ°λ°μΌλ‘ νμ μμ μ±μ κ°μ ν©λλ€.
νμ μμ μ± κ²μ¦: κ²¬κ³ μ± λ³΄μ₯
WITμ μ£Όμ λͺ©νλ Wasm λͺ¨λμ΄ μλ‘ μνΈ μμ©ν λ νμ μμ μ±μ 보μ₯νλ κ²μ λλ€. νμ μμ μ± κ²μ¦μ λͺ¨λ κ°μ μ λ¬λλ λ°μ΄ν°μ νμ μ΄ WIT μΈν°νμ΄μ€μ μ μλ νμ κ³Ό νΈνλλμ§ νμΈνλ κ²μ ν¬ν¨ν©λλ€. μ΄ κ²μ¦μ μ»΄νμΌ νμ, λ°νμ λλ λ λ€μμ μνλ μ μμ΅λλ€.
Wasm λͺ¨λμ΄ λ€λ₯Έ λͺ¨λμ ν¨μλ₯Ό νΈμΆνλ €κ³ ν λ, Wasm λ°νμμ μ λ¬λλ μΈμκ° ν΄λΉ ν¨μμ WIT μΈν°νμ΄μ€μ μ§μ λ νμ κ³Ό μΌμΉνλμ§ νμΈν©λλ€. νμ λΆμΌμΉκ° μλ κ²½μ°, λ°νμμ μ€λ₯λ₯Ό λ°μμμΌ ν¨μ νΈμΆ μ€νμ λ°©μ§ν©λλ€. μ΄λ λͺ¨λ κ°μ μλͺ»λ λ°μ΄ν°λ₯Ό μ λ¬νμ¬ λ°μν μ μλ λ°νμ μ€λ₯ λ° λ³΄μ μ·¨μ½μ μ λ°©μ§νλ λ° λμμ΄ λ©λλ€.
WITκ° νμ μμ μ±μ 보μ₯νλ λ° λμμ΄ λλ λͺ κ°μ§ ꡬ체μ μΈ μλ λ€μκ³Ό κ°μ΅λλ€:
- μ μ νμ : WITλ₯Ό μ¬μ©νλ©΄ μ μ νμ μ ν¬κΈ° λ° λΆνΈ μ¬λΆ(μ: `s8`, `u8`, `s16`, `u16`, `s32`, `u32`, `s64`, `u64`)λ₯Ό μ§μ ν μ μμ΅λλ€. λ°νμμ λͺ¨λ κ°μ μ λ¬λλ μ μ κ°μ΄ μ΄λ¬ν νμ κ³Ό μΌμΉνλμ§ νμΈν©λλ€.
- λΆλ μμμ νμ : WITλ λΆλ μμμ νμ (`f32`, `f64`)μ μ§μν©λλ€. λ°νμμ λͺ¨λ κ°μ μ λ¬λλ λΆλ μμμ κ°μ΄ μ¬λ°λ₯Έ νμ μΈμ§ νμΈν©λλ€.
- λ¬Έμμ΄ νμ : WITλ λͺ¨λ κ°μ μμ νκ² λ¬Έμμ΄μ μ λ¬νκΈ° μν λ©μ»€λμ¦μ μ 곡νμ¬ μ¬λ°λ₯΄κ² μΈμ½λ©λκ³ μ’ λ£λμλμ§ νμΈν©λλ€.
- λ μ½λ νμ : WITλ₯Ό μ¬μ©νλ©΄ μ΄λ¦ μλ νλλ₯Ό κ°μ§ ꡬ쑰νλ λ°μ΄ν° νμ (λ μ½λ)μ μ μν μ μμ΅λλ€. λ°νμμ λͺ¨λ κ°μ μ λ¬λλ λ μ½λμ νλκ° μ¬λ°λ₯Έ νμ μ κ°μ§κ³ μλμ§ νμΈν©λλ€.
- λ³ν νμ : WITλ λ³ν νμ (νκ·Έκ° μ§μ λ μ λμ¨μ΄λΌκ³ λ ν¨)μ μ§μνλ©°, μ¬λ¬ λ€λ₯Έ νμ μ€ νλκ° λ μ μλ κ°μ λνλΌ μ μμ΅λλ€. λ°νμμ λͺ¨λ κ°μ μ λ¬λλ λ³ν κ°μ΄ μ ν¨νκ³ μ¬λ°λ₯Έ νμ μ μ‘μΈμ€λλμ§ νμΈν©λλ€.
- 리μμ€ νμ : WITλ λ©λͺ¨λ¦¬ λ° κΈ°ν 리μμ€λ₯Ό κ΄λ¦¬νκΈ° μν 리μμ€ νμ μ μ 곡ν©λλ€. λ°νμμ 리μμ€μ μμ κΆ λ° μλͺ μ μΆμ νμ¬ λ©λͺ¨λ¦¬ λμ λ° κΈ°ν 리μμ€ κ΄λ ¨ μ€λ₯λ₯Ό λ°©μ§ν©λλ€.
μ€μ μμ λ° μ¬μ© μ¬λ‘
WITλ λ€λ₯Έ μΈμ΄λ‘ μμ±λ Wasm λͺ¨λμ΄ μλ‘ μνΈ μμ©ν΄μΌ νλ μλ리μ€μμ νΉν μ μ©ν©λλ€. λͺ κ°μ§ μ€μ μμλ λ€μκ³Ό κ°μ΅λλ€:
- λ§μ΄ν¬λ‘μλΉμ€ μν€ν μ²: μΌλΆ μλΉμ€λ Rustλ‘ μμ±λμ΄ WasmμΌλ‘ μ»΄νμΌλκ³ , λ€λ₯Έ μλΉμ€λ JavaScriptλ‘ μμ±λμ΄ AssemblyScriptλ₯Ό μ¬μ©νμ¬ WasmμΌλ‘ μ»΄νμΌλλ λ§μ΄ν¬λ‘μλΉμ€ μν€ν μ²λ₯Ό μμν΄ λ³΄μΈμ. WITλ₯Ό μ¬μ©νλ©΄ μ΄λ¬ν μλΉμ€κ° νμ μμ νκ³ μμ μ μΈ λ°©μμΌλ‘ μλ‘ ν΅μ ν μ μμ΅λλ€.
- WebAssembly νλ¬κ·ΈμΈ: WITλ₯Ό μ¬μ©νμ¬ WebAssembly νλ¬κ·ΈμΈμ μΈν°νμ΄μ€λ₯Ό μ μν μ μμΌλ―λ‘ κ°λ°μλ λ€λ₯Έ μΈμ΄λ‘ νλ¬κ·ΈμΈμ μμ±νκ³ νΈμ€νΈ μ ν리μΌμ΄μ μ μννκ² ν΅ν©ν μ μμ΅λλ€.
- ν¬λ‘μ€ νλ«νΌ κ°λ°: WITλ λ€λ₯Έ νλ«νΌ(μ: μΉ λΈλΌμ°μ , μλ² μΈ‘ νκ²½, μλ² λλ μ₯μΉ)μμ μ€νλ μ μλ Wasm λͺ¨λμ λν κ³΅ν΅ μΈν°νμ΄μ€λ₯Ό μ 곡νμ¬ ν¬λ‘μ€ νλ«νΌ κ°λ°μ μ΄μ§ν μ μμ΅λλ€.
- μλ²λ¦¬μ€ ν¨μ: WITλ₯Ό μ¬μ©νμ¬ WasmμΌλ‘ μμ±λ μλ²λ¦¬μ€ ν¨μμ μΈν°νμ΄μ€λ₯Ό μ μν μ μμΌλ―λ‘ μλ‘ λ€λ₯Έ μ΄λ²€νΈ μμ€μμ νμ μμ ν λ°©μμΌλ‘ νΈμΆν μ μμ΅λλ€.
μμ: μ΄λ―Έμ§ μ²λ¦¬ νμ΄νλΌμΈ
WasmμΌλ‘ ꡬνλ μ΄λ―Έμ§ μ²λ¦¬ νμ΄νλΌμΈμ κ³ λ €ν΄ λ³΄μΈμ. νλμ λͺ¨λ(Rustλ‘ μμ±)μ μ΄λ―Έμ§ λμ½λ©μ μ²λ¦¬νκ³ , λ€λ₯Έ λͺ¨λ(C++λ‘ μμ±)μ νν°λ₯Ό μ μ©νκ³ , μΈ λ²μ§Έ λͺ¨λ(AssemblyScriptλ‘ μμ±)μ μΈμ½λ©μ μ²λ¦¬ν μ μμ΅λλ€. WITλ μ΄λ¬ν λͺ¨λ κ°μ μ λ¬λλ μ΄λ―Έμ§ λ°μ΄ν°κ° μ¬λ°λ₯΄κ² νμνλκ³ νν°κ° μ¬λ°λ₯΄κ² μ μ©λμ΄ μμμ΄λ μμμΉ λͺ»ν λμμ λ°©μ§νλλ‘ ν©λλ€.
μμ: λ°μ΄ν° μ§λ ¬ν
λ λ€λ₯Έ μΌλ°μ μΈ μ¬μ© μ¬λ‘λ λ°μ΄ν° μ§λ ¬νμ λλ€. νΉμ νμ(μ: JSON, MessagePack)μΌλ‘ λ°μ΄ν°λ₯Ό μ§λ ¬νν΄μΌ νλ Wasm λͺ¨λμ΄ μλ€κ³ κ°μ ν΄ λ³΄μΈμ. WITλ₯Ό μ¬μ©νμ¬ μ§λ ¬νλλ λ°μ΄ν° ꡬ쑰λ₯Ό μ μνμ¬ λ°μ΄ν°κ° μ¬λ°λ₯΄κ² νμνλμκ³ μ§λ ¬ν νλ‘μΈμ€ μ€μ νμ μ€λ₯κ° λ°μνμ§ μμλμ§ νμΈν μ μμ΅λλ€.
WIT λ° WebAssembly μ»΄ν¬λνΈ λͺ¨λΈμ λ―Έλ
WITλ λͺ¨λμμ΄κ³ μ¬μ¬μ© κ°λ₯ν Wasm μ»΄ν¬λνΈλ₯Ό ꡬμΆνκΈ° μν μλ‘μ΄ νμ€μΈ WebAssembly μ»΄ν¬λνΈ λͺ¨λΈμ ν΅μ¬ κ΅¬μ± μμμ λλ€. μ»΄ν¬λνΈ λͺ¨λΈμ Wasm μνκ³μμ μνΈ μ΄μ©μ± λ° μ¬μ¬μ©μ± λ¬Έμ λ₯Ό ν΄κ²°νλ κ²μ λͺ©νλ‘ νλ©°, Wasm λͺ¨λμ μ μνκ³ κ΅¬μ±νλ νμ€νλ λ°©λ²μ μ 곡ν©λλ€.
WebAssembly μ»΄ν¬λνΈ λͺ¨λΈμ WITλ₯Ό κΈ°λ°μΌλ‘ μ»΄ν¬λνΈμ ν΄λΉ μ’ μμ±μ μ μνκΈ° μν λ λμ μμ€μ μΆμνλ₯Ό μ 곡ν©λλ€. μ΄λ₯Ό ν΅ν΄ κ°λ°μλ λ€μν μ ν리μΌμ΄μ λ° νκ²½μ μ½κ² ν΅ν©ν μ μλ μ¬μ¬μ© κ°λ₯ν μ»΄ν¬λνΈλ₯Ό λ§λ€ μ μμ΅λλ€.
WIT λ° WebAssembly μ»΄ν¬λνΈ λͺ¨λΈμ κ°λ°μ κ³μ μ§ν μ€μ΄λ©°, μμΌλ‘ λ§μ ν₯λ―Έλ‘μ΄ λ°μ μ΄ μμ κ²μ λλ€. μ£Όμ μ€μ μμμ λ€μκ³Ό κ°μ΅λλ€:
- ν₯μλ λꡬ: WIT μΈν°νμ΄μ€λ₯Ό κΈ°λ°μΌλ‘ νλ μ½λ μμ±, κ²μ¦ λ° μ΅μ νλ₯Ό μν λꡬμ μ§μμ μΈ κ°λ°.
- νμ₯λ νμ μμ€ν : λ 볡μ‘ν λ°μ΄ν° νμ λ° νλ‘κ·Έλλ° ν¨λ¬λ€μμ μ§μνκΈ° μν΄ WIT νμ μμ€ν μ νμ₯ν©λλ€.
- κ°νλ 보μ: μ·¨μ½μ μ λ°©μ§νκΈ° μν΄ WIT νλ μμν¬μ μΆκ° 보μ κΈ°λ₯μ ν΅ν©ν©λλ€.
- λ λμ μΈμ΄ μ§μ: WIT μμ μ μν λ λ§μ νλ‘κ·Έλλ° μΈμ΄ λ° ν΄μ²΄μΈμ μ§μν©λλ€.
κ³Όμ λ° κ³ λ € μ¬ν
WITλ μλΉν μ΄μ μ μ 곡νμ§λ§, λͺ μ¬ν΄μΌ ν λͺ κ°μ§ κ³Όμ μ κ³ λ € μ¬νλ μμ΅λλ€:
- νμ΅ κ³‘μ : κ°λ°μλ WIT IDL λ° κ΄λ ¨ λꡬλ₯Ό λ°°μμΌ ν©λλ€.
- μ±λ₯ μ€λ²ν€λ: νμ κ²μ¬λ μ½κ°μ μ±λ₯ μ€λ²ν€λλ₯Ό λ°μμν¬ μ μμ§λ§, μΌλ°μ μΌλ‘ μ΅μνμ λλ€.
- 볡μ‘μ±: νΉν 리μμ€ νμ λ° κΈ°ν κ³ κΈ κΈ°λ₯μ λ€λ£° λ 볡μ‘ν μΈν°νμ΄μ€λ₯Ό μ μνλ κ²μ μ΄λ €μΈ μ μμ΅λλ€.
- λꡬ μ±μλ: WIT λꡬλ μμ§ μλμ μΌλ‘ μλ‘κ³ λ°μ μ€μ΄λ―λ‘ κ°λ°μλ λͺ κ°μ§ λ²κ·Έλ μ ν μ¬νμ μ§λ©΄ν μ μμ΅λλ€.
WIT μ¬μ©μ μν λͺ¨λ² μ¬λ‘
WITμ μ΄μ μ μ΅λν νμ©νλ €λ©΄ λ€μ λͺ¨λ² μ¬λ‘λ₯Ό κ³ λ €νμΈμ:
- κ°λ¨νκ² μμ: κ°λ¨ν μΈν°νμ΄μ€λ‘ μμνμ¬ νμμ λ°λΌ μ μ§μ μΌλ‘ 볡μ‘μ±μ λ립λλ€.
- λͺ ννκ³ κ°κ²°ν μ΄λ¦ μ¬μ©: μΈν°νμ΄μ€, ν¨μ λ° νμ μ λν μ€λͺ μ μΈ μ΄λ¦μ μ νν©λλ€.
- μΈν°νμ΄μ€ λ¬Έμν: WIT μΈν°νμ΄μ€μ λν λͺ ννκ³ ν¬κ΄μ μΈ λ¬Έμλ₯Ό μ 곡ν©λλ€.
- μ½λ μ² μ ν ν μ€νΈ: Wasm λͺ¨λμ΄ μ¬λ°λ₯΄κ² μλνκ³ νμ μμ μ± κ²μ¦μ΄ ν¨κ³Όμ μΈμ§ νμΈνκΈ° μν΄ Wasm λͺ¨λμ κ΄λ²μνκ² ν μ€νΈν©λλ€.
- μ΅μ μ 보 μ μ§: WIT μνκ³μ μ΅μ κ°λ° μ 보λ₯Ό νμ νκ³ νμμ λ°λΌ λꡬλ₯Ό μ λ°μ΄νΈν©λλ€.
κ²°λ‘
WebAssembly μΈν°νμ΄μ€ νμ (WIT)μ WebAssembly μνκ³μμ νμ μμ μ±κ³Ό μνΈ μ΄μ©μ±μ 보μ₯νλ λ° μ€μν κΈ°μ μ λλ€. Wasm λͺ¨λμ μΈν°νμ΄μ€λ₯Ό μ μνκ³ κ²μ¦νλ νμ€νλ λ°©λ²μ μ 곡ν¨μΌλ‘μ¨ WITλ κ°λ°μκ° λ κ²¬κ³ νκ³ μμ νλ©° μ¬μ¬μ© κ°λ₯ν μ ν리μΌμ΄μ μ ꡬμΆν μ μλλ‘ ν©λλ€. WebAssembly μ»΄ν¬λνΈ λͺ¨λΈμ΄ κ³μ λ°μ ν¨μ λ°λΌ WITλ WebAssembly κ°λ°μ λ―Έλμμ μ μ λ μ€μν μν μ ν κ²μ λλ€. λ€μν μΈμ΄λ‘ μμ±λ λͺ¨λμ νμ μμ μ±μ κ²μ¦νμ¬ μννκ² ν΅ν©νλ κΈ°λ₯μ λ€μν νλ«νΌ λ° νκ²½μμ 볡μ‘νκ³ νμ₯ κ°λ₯ν μ ν리μΌμ΄μ μ ꡬμΆνκΈ° μν ν₯λ―Έλ‘μ΄ κ°λ₯μ±μ μ΄μ΄μ£Όλ©°, μ§μ ν κΈλ‘λ² WebAssembly μ»΄ν¬λνΈ μνκ³λ₯Ό μ‘μ±ν©λλ€.