๋Ÿฌ์ŠคํŠธ (๊ทธ๋ฆฌ๊ณ  ๋ชจ๋“  ์–ธ์–ด)์—์„œ ์›น์–ด์…ˆ๋ธ”๋ฆฌ๋ฅผ ๋” ์ข‹๊ฒŒ๋งŒ๋“ค๊ธฐ

๋Ÿฌ์ŠคํŠธ (๊ทธ๋ฆฌ๊ณ  ๋ชจ๋“  ์–ธ์–ด)์—์„œ ์›น์–ด์…ˆ๋ธ”๋ฆฌ๋ฅผ ๋” ์ข‹๊ฒŒ๋งŒ๋“ค๊ธฐ

2018๋…„ ์›น ์–ธ์–ด๋ฅผ ๋ชฉํ‘œ๋กœํ•˜๋Š” ๋Ÿฌ์ŠคํŠธ ์ปค๋ฎค๋‹ˆํ‹ฐ๋Š” ์ด๋ฅผ ์œ„ํ•ด ๋‹ค์–‘ํ•œ ๋…ธ๋ ฅ์„ ํ•˜๊ณ ์žˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ์ด๋ฅผ ์‹คํ˜„์‹œํ‚ค๊ธฐ ์œ„ํ•ด ๋Ÿฌ์ŠคํŠธ๋กœ ์ž‘์„ฑํ•œ ์›น ์–ด์…ˆ๋ธ”๋ฆฌ ๋„๊ตฌ๋“ค์„ ๋งŒ๋“ค๊ณ  ์žˆ๋‹ค. ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ์™€ ์˜ค๋ธŒ์ ํŠธ๋ฅผ ์ฃผ๊ณ  ๋ฐ›๊ณ , npm ๋ชจ๋“ˆ๋กœ ํŒจํ‚ค์ง• ํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ, ES ๋ชจ๋“ˆ๊ณผ์˜ ํ˜ธํ™˜๊นŒ์ง€. wasm-bindgen, wasm-pack ์ด ์–ด๋–ค ์›๋ฆฌ๋กœ ๋ฌด์Šจ ์ผ์„ ํ•ด์ฃผ๊ณ  ์žˆ๋Š”์ง€ ์•Œ์•„๋ณธ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ์ด๋Ÿฌํ•œ ๋…ธ๋ ฅ๋“ค์€ ๋Ÿฌ์ŠคํŠธ ์ด์™ธ์˜ ์–ธ์–ด๊นŒ์ง€ ์ง€์›ํ•  ์ˆ˜ ์žˆ๋Š” ๊ฐ€๋Šฅ์„ฑ์„ ๋„“ํ˜€์ฃผ๊ณ  ์žˆ๋‹ค.

JavaScript์—์„œ Rust, ๊ทธ๋ฆฌ๊ณ  Rust์—์„œ JavaScript: wasm-bindgen ์Šคํ† ๋ฆฌ

์šฐ๋ฆฌ๋Š” ์ตœ๊ทผ WebAssemblyย ์ปดํŒŒ์ผ์ด ์–ผ๋งˆ๋‚˜ ๋น ๋ฅธ์ง€,ย ์–ผ๋งˆ๋‚˜ ๋น ๋ฅธ JS ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ๋งŒ๋“ค ์ˆ˜ ์žˆ๋Š”์ง€, ๊ฑฐ๊ธฐ์—ย ์–ผ๋งˆ๋‚˜ ๋” ์ž‘์€ ๋ฐ”์ด๋„ˆ๋ฆฌ๋ฅผ ๋งŒ๋“ค์–ด ์ฃผ๋Š”์ง€ย ํ™•์ธํ–ˆ๋‹ค. ๋”์šฑ์ด ์šฐ๋ฆฌ๋Š”ย Rust์™€ JavaScript ์ปค๋ฎค๋‹ˆํ‹ฐ์˜ ๋” ๋‚˜์€ ํ˜‘์—…์„ ์œ„ํ•œ ๊ณ„ํš์„ ์„ธ์› ๊ณ , ์ด๊ฒƒ์—๋Š” ๋‹ค๋ฅธ ์›น ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด๋“ค์„ ์œ„ํ•œ ๊ฒƒ๋„ ํฌํ•จ๋˜์–ด์žˆ๋‹ค.ย ์ด์ „ ๊ธ€์—์„œ๋„ ์Šฌ์ฉ ๋งํ–ˆ์ง€๋งŒ, ๋‚˜๋Š”ย wasm-bidgen์— ๋Œ€ํ•ด์„œ ์ข€ ๋” ์ž์„ธํ•˜๊ฒŒ ์•Œ์•„๋ณด๋ ค ํ•œ๋‹ค.