Node.js ๋์์ ๋ ธ๋ฆฌ๊ณ ์๋ค๊ณ ํ๋ Bun.
ํ๋ก๋์ ํ๊ฒฝ์ ์ํ ๋ฒ์ 1.0์ ์ถ์ํ๋ค๊ณ ํ๋๋ฐ..
์ผ๋งํผ์ ์ด์ ์ ๊ฐ์ง๊ณ ์๊ณ , ์ด๋ค ๋จ์ ์ ์ง๋๊ณ ์๋์ง ํน์ฑ์ ๊ด์ฌ์ด ์๊ฒจ ํฌ์คํ ์๋ ํด๋ณธ๋ค.
Bun ์ด๋?
javascript ์ typescript ๊ธฐ๋ฐ ํ๋ก์ ํธ์์ ์คํ, ๊ฐ๋ฐ, ํ ์คํธ, ๋๋ฒ๊น ๊ณผ์ ์ ํ ๋ฒ์ ์ํํ๋ ๊ฒ์ ๋ชฉํ๋ก ๊ฐ๋ฐ๋ AllinOne ๋ฐํ์ ํดํท.
Bun ํน์ง
1. ์ ์ฐจ ๋ณต์กํด์ง๋ ์์คํ ๊ตฌ์กฐ๋ก ์ธํ ์๋์ ํ๋ฅผ ๊ฐ์ ํ ๊ฒ์ด ํน์ง. node.js์ ๋นํด ์ต๋ 5๋ฐฐ ๊ฐ๋ ๋น ๋ฅด๋ค๊ณ ํ๋ค.
1-1. ์ฝ์ด ์๋ฐ์คํฌ๋ฆฝํธ ์ฌ์ฉ
2. Javascript์ ๊ธฐ์กด ๋ผ์ด๋ธ๋ฌ๋ฆฌ์ ํ๋ ์์ํฌ๋ ๊ทธ๋๋ก ์ฌ์ฉํ ์ ์๋ค.
3. ์ง๊ทธ(Zig)๋ผ๋ ์๋ก์ด lowlevel ํ๋ก๊ทธ๋๋ฐ ์ธ์ด๋ก ๋ฉ๋ชจ๋ฆฌ๋ฅผ ์ง์ ๊ด๋ฆฌํ๋ ๋ฑ ๋ฉ๋ชจ๋ฆฌ ํจ์จ ์งํฅ ํ๋ก๊ทธ๋๋ฐ์ด ๊ฐ๋ฅํด์ง.
4. Node.js Common.js, ESM ํธํ์ฑ ์ ๊ณต
์๋ ๋น๊ต๋ถ
console.log("hi") ์ node.js๋ณด๋ค 4.5๋ฐฐ ๋น ๋ฅธ ์๋ ๋ณด์ฌ์ค๋ค.
* ๋ฒ์์ ์ฌ์ฉํ๋ ํจํค์ง ๋งค๋์ ๋ npm๋ณด๋ค ๋น ๋ฆ.
- ์ถํ Bun ์ฌ์ฉ๋ฒ์ ๋ํ์ฌ ํฌ์คํ ํด๋ณด๋๋ก ํ๊ฒ ๋ค.
์๋ ์ธก๋ฉด๋ ์ข์ง๋ง ์์ ์ฑ์ด๋, ์ ์ง๋ณด์ ์ธก๋ฉด์ ๋ํ ํน์ง ๊ธ๋ ์ฐพ์๋ณด๊ณ ์ถ์์ง๋ง ๋ชป ์ฐพ์. ๊ตฌ์กฐ๋ฅผ ๋ฏ์ด๋ด์ผํ๋ ๊ฑธ๊น..?
https://snyk.io/blog/javascript-runtime-compare-node-deno-bun/
์ฐ์ ์ด๋ฐ ๊ธ์ ์ฐพ๊ธฐ๋ ํ๋ค.
๋ฐํ์ ๋น๊ต
- ์ฑ๋ฅ๋ฉด์์ Bun์ด ๋ชจ๋ ์น๋ฆฌ
- ํ๊ท ์ฟผ๋ฆฌ/์ด: Bun 81.37 > Deno 43.50 > Node 21.29
- ๋์ ์ปค๋ฅ์ : Bun 110,000 > Deno 67,000 > Node 60,000
- ์ง์ ๋ฐ ์ปค๋ฎค๋ํฐ
- ์คํ์ค๋ฒํ๋ก์ฐ ์ง๋ฌธ์ : Node 46๋ง๊ฐ > Deno 917๊ฐ > Bun 52๊ฐ
- ์ฌ์ฉ์์(StateOfJS ์กฐ์ฌ๊ฒฐ๊ณผ) : Node 27976 > Deno 3355 > Bun 1263
- ์์ ์ฑ
- Node.js ๋ ์ ์ธ๊ณ ์น์ฌ์ดํธ 2.1%๊ฐ ์ฌ์ฉ์ค
- Deno ๋ 1.0์ด 2020๋ ์ ๋์๊ณ ์์ฉ์ด ๋๋ฆผ
- Bun ์ ์์ง 0.73์ผ๋ก ๋ฒ ํ. 9์์ 1.0 ์์
- ๋ณด์
- Node.js ์ ๋ถ์กฑํ ๋ณด์์ Deno๊ฐ ๊ฐ์ ํ์ง๋ง, Node๋ ๊ถํ ๋ชจ๋ธ์ ๋์ ํ๋ฉด์ ๋น์ทํด์ง
- Bun ์ ์์ง ๋ณด์ ๊ด๋ จ ์ ๋ณด๊ฐ ๋ง์ด ์์
- ์ถ๊ฐ ๊ธฐ๋ฅ๋ค
- Node.js ๊ฐ ์ต๊ทผ Deno/Bun ๊ณผ ๋น์ทํ ๊ธฐ๋ฅ์ ๋ง์ด ๋์ ์ค. Typescript ์ง์๋ ํ๋ฐํ ๋ ผ์ ์ค
- Deno ์๋ Dependency Inspector ์ Code Formatter ๋ด์ฅ
- Bun ์ Transpiler ์ Package Manager ๋ด์ฅ. ์ด๋ฆ์์ ๋ณผ์ ์๋ฏ์ด ๋ฒ๋ค๋ง ๊ธฐ๋ฅ๋ ํฌํจ
์ด๋ค๊ฒ ๋์๊ฒ ์ ํฉํ ๊น ?
- Bun ์ด ํ์คํ ์๋๋ฉด์์ ์ฐ์ํจ. ํ์ง๋ง ์๋ก์ด ๊ฒ์ด๋ผ ์ํ์ด ์์.
- Node.js ์ ์ฅ์ ์ ์ฑ์๋์ ์ํ๊ณ
- Deno ๋ Node์ ๋นํด ๋ ์ํํ ๊ฐ๋ฐ์ ๊ฐ๋ฅํ๊ฒ ํ๊ณ , ๋ณต์กํ ํ๋ก์ ํธ๋ฅผ ๊ณ ํ์ง๋ก ์ฝ๊ฒ ๊ตฌ์ถํ ์ ์๊ฒ ํด์ฃผ๋ ๊ธฐ๋ฅ๋ค์ ํฌํจ. ์์ ํ๊ณ Node ๋ณด๋ค ๋น ๋ฅด์ง๋ง Bun์ ๋นํด ์ฝ๊ฐ ๋๋ฆผ
- Node๊ฐ ์ฌ๋ก๊ฐ ๋ง์ ์์ ํ ์ต์ . Deno๋ ์ถ์ฒํ ๊ธฐ๋ฅ๋ค์ด ๋ง๊ณ ์ต์ ๊ธฐ๋ฅ๋ฑ์ ๋ง์ด ํฌํจ. Bun ์ ์๋์ ๊ด์ฌ์ด ์๊ฑฐ๋ ์ต์ฒจ๋จ ๊ธฐ์ ์ ์ด์ฉํ๊ณ ์ถ์ ๊ฒฝ์ฐ ์ ํ์ ๊ถํจ