JavaScript ํ”„๋ ˆ์ž„์›Œํฌ์˜ ๊ฐ€๊ฒฉ

์›น์‚ฌ์ดํŠธ์— JavaScript ์ฝ”๋“œ๋ฅผ ๋งŽ์ด ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ๋ณด๋‹ค ์›น์‚ฌ์ดํŠธ ์†๋„๋ฅผ ๋Šฆ์ถ”๋Š” ๋” ๋น ๋ฅธ ๋ฐฉ๋ฒ•์€ ์—†์Šต๋‹ˆ๋‹ค. JavaScript๋ฅผ ์‚ฌ์šฉํ•  ๋•Œ XNUMX๋ฐฐ ์ด์ƒ์˜ ํ”„๋กœ์ ํŠธ ์„ฑ๋Šฅ์œผ๋กœ ๋น„์šฉ์„ ์ง€๋ถˆํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์‚ฌ์ดํŠธ์˜ JavaScript ์ฝ”๋“œ๊ฐ€ ์‚ฌ์šฉ์ž ์‹œ์Šคํ…œ์„ ๋กœ๋“œํ•˜๋Š” ๋ฐฉ๋ฒ•์€ ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.

  • ๋„คํŠธ์›Œํฌ๋ฅผ ํ†ตํ•ด ํŒŒ์ผ์„ ๋‹ค์šด๋กœ๋“œํ•ฉ๋‹ˆ๋‹ค.
  • ๋‹ค์šด๋กœ๋“œ ํ›„ ์••์ถ•์„ ํ‘ผ ์†Œ์Šค ์ฝ”๋“œ๋ฅผ ํŒŒ์‹ฑํ•˜๊ณ  ์ปดํŒŒ์ผํ•ฉ๋‹ˆ๋‹ค.
  • JavaScript ์ฝ”๋“œ ์‹คํ–‰.
  • ๋ฉ”๋ชจ๋ฆฌ ์†Œ๋น„.

์ด ์กฐํ•ฉ์ด ๋‚˜์˜จ๋‹ค ๋งค์šฐ ๋น„์‹ธ๋‹ค.

JavaScript ํ”„๋ ˆ์ž„์›Œํฌ์˜ ๊ฐ€๊ฒฉ

๊ทธ๋ฆฌ๊ณ  ์šฐ๋ฆฌ๋Š” ํ”„๋กœ์ ํŠธ์— ์ ์  ๋” ๋งŽ์€ JS ์ฝ”๋“œ๋ฅผ ํฌํ•จํ•ฉ๋‹ˆ๋‹ค. ์กฐ์ง์ด React, Vue ๋“ฑ๊ณผ ๊ฐ™์€ ํ”„๋ ˆ์ž„์›Œํฌ ๋ฐ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋กœ ๊ตฌ๋™๋˜๋Š” ์‚ฌ์ดํŠธ๋กœ ์ด๋™ํ•จ์— ๋”ฐ๋ผ ์šฐ๋ฆฌ๋Š” ์‚ฌ์ดํŠธ์˜ ํ•ต์‹ฌ ๊ธฐ๋Šฅ์„ JavaScript์— ํฌ๊ฒŒ ์˜์กดํ•˜๊ฒŒ ๋งŒ๋“ค๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.

JavaScript ํ”„๋ ˆ์ž„์›Œํฌ๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๋งค์šฐ ๋ฌด๊ฑฐ์šด ์‚ฌ์ดํŠธ๋ฅผ ๋งŽ์ด ๋ณด์•˜์Šต๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ์ด ๋ฌธ์ œ์— ๋Œ€ํ•œ ๋‚˜์˜ ์‹œ๊ฐ์€ ๋งค์šฐ ํŽธํ–ฅ๋˜์–ด ์žˆ๋‹ค. ์‚ฌ์‹ค ์ œ๊ฐ€ ํ•จ๊ป˜ ์ผํ•˜๋Š” ํšŒ์‚ฌ๋Š” ์‚ฌ์ดํŠธ ์„ฑ๋Šฅ ๋ถ„์•ผ์—์„œ ๋ณต์žกํ•œ ๋ฌธ์ œ์— ์ง๋ฉดํ–ˆ๊ธฐ ๋•Œ๋ฌธ์— ์ •ํ™•ํ•˜๊ฒŒ ์ €์—๊ฒŒ ์˜์ง€ํ•ฉ๋‹ˆ๋‹ค. ๊ทธ ๊ฒฐ๊ณผ ์ด โ€‹โ€‹๋ฌธ์ œ๊ฐ€ ์–ผ๋งˆ๋‚˜ ํ”ํ•œ์ง€, ํŠน์ • ์‚ฌ์ดํŠธ์˜ ๊ธฐ๋ฐ˜์œผ๋กœ ํ•˜๋‚˜ ๋˜๋Š” ๋‹ค๋ฅธ ํ”„๋ ˆ์ž„์›Œํฌ๋ฅผ ์„ ํƒํ•  ๋•Œ ์–ด๋–ค ์ข…๋ฅ˜์˜ "๋ฒŒ๊ธˆ"์„ ์ง€๋ถˆํ•˜๋Š”์ง€์— ๋Œ€ํ•ด ๊ถ๊ธˆํ•ด์กŒ์Šต๋‹ˆ๋‹ค.

์ด ํ”„๋กœ์ ํŠธ๋Š” ๋‚ด๊ฐ€ ์ด๊ฒƒ์„ ์•Œ์•„๋‚ด๋Š” ๋ฐ ๋„์›€์ด ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. HTTP ์•„์นด์ด๋ธŒ.

๋ฐ์ดํ„ฐ

HTTP ์•„์นด์ด๋ธŒ ํ”„๋กœ์ ํŠธ๋Š” ์ผ๋ฐ˜ ๋ฐ์Šคํฌํ†ฑ ์‚ฌ์ดํŠธ์— ๋Œ€ํ•œ ์ด 4308655๊ฐœ์˜ ๋งํฌ์™€ ๋ชจ๋ฐ”์ผ ์‚ฌ์ดํŠธ์— ๋Œ€ํ•œ 5484239๊ฐœ์˜ ๋งํฌ๋ฅผ ์ถ”์ ํ•ฉ๋‹ˆ๋‹ค. ์ด๋Ÿฌํ•œ ๋งํฌ์™€ ๊ด€๋ จ๋œ ๋งŽ์€ ์ง€ํ‘œ ์ค‘์—๋Š” ๊ฐ ์‚ฌ์ดํŠธ์—์„œ ๋ฐœ๊ฒฌ๋˜๋Š” ๊ธฐ์ˆ  ๋ชฉ๋ก์ด ์žˆ์Šต๋‹ˆ๋‹ค. ์ฆ‰, ๋‹ค์–‘ํ•œ ํ”„๋ ˆ์ž„์›Œํฌ์™€ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ์ˆ˜์ฒœ ๊ฐœ์˜ ์‚ฌ์ดํŠธ๋ฅผ ์ƒ˜ํ”Œ๋งํ•˜๊ณ  ํด๋ผ์ด์–ธํŠธ์— ๋ณด๋‚ด๋Š” ์ฝ”๋“œ์˜ ์–‘๊ณผ ์ด ์ฝ”๋“œ๊ฐ€ ์‚ฌ์šฉ์ž ์‹œ์Šคํ…œ์— ์ƒ์„ฑํ•˜๋Š” ๋กœ๋“œ์˜ ์–‘์„ ์•Œ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๋‚ด๊ฐ€ ์ ‘๊ทผํ•  ์ˆ˜ ์žˆ์—ˆ๋˜ ๊ฐ€์žฅ ์ตœ๊ทผ ๋ฐ์ดํ„ฐ์ธ 2020๋…„ XNUMX์›” ๋ฐ์ดํ„ฐ๋ฅผ ์ˆ˜์ง‘ํ–ˆ์Šต๋‹ˆ๋‹ค.

๋ชจ๋“  ์‚ฌ์ดํŠธ์—์„œ ์ง‘๊ณ„๋œ HTTP ์•„์นด์ด๋ธŒ ๋ฐ์ดํ„ฐ๋ฅผ React, Vue ๋ฐ Angular๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ฐพ์€ ์‚ฌ์ดํŠธ์˜ ๋ฐ์ดํ„ฐ์™€ ๋น„๊ตํ•˜๊ธฐ๋กœ ๊ฒฐ์ •ํ–ˆ์ง€๋งŒ ๋‹ค๋ฅธ ์†Œ์Šค ์ž๋ฃŒ๋„ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์„ ๊ณ ๋ คํ–ˆ์Šต๋‹ˆ๋‹ค.

๋” ํฅ๋ฏธ๋กญ๊ฒŒ ๋งŒ๋“ค๊ธฐ ์œ„ํ•ด ์†Œ์Šค ๋ฐ์ดํ„ฐ ์„ธํŠธ์— jQuery๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ์‚ฌ์ดํŠธ๋„ ์ถ”๊ฐ€ํ–ˆ์Šต๋‹ˆ๋‹ค. ์ด ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋Š” ์—ฌ์ „ํžˆ ๋งค์šฐ ์ธ๊ธฐ๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค. ๋˜ํ•œ React, Vue ๋ฐ Angular์—์„œ ์ œ๊ณตํ•˜๋Š” ๋‹จ์ผ ํŽ˜์ด์ง€ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜(SPA) ๋ชจ๋ธ๊ณผ ๋‹ค๋ฅธ ์›น ๊ฐœ๋ฐœ ์ ‘๊ทผ ๋ฐฉ์‹์„ ๋„์ž…ํ•ฉ๋‹ˆ๋‹ค.

๊ด€์‹ฌ ์žˆ๋Š” ๊ธฐ์ˆ ์„ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์œผ๋กœ ํ™•์ธ๋œ ์‚ฌ์ดํŠธ๋ฅผ ๋‚˜ํƒ€๋‚ด๋Š” HTTP ์•„์นด์ด๋ธŒ์˜ ๋งํฌ

ํ”„๋ ˆ์ž„์›Œํฌ ๋˜๋Š” ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ
๋ชจ๋ฐ”์ผ ์‚ฌ์ดํŠธ ๋งํฌ
์ผ๋ฐ˜ ์‚ฌ์ดํŠธ ๋งํฌ

jQuery๋ฅผ
4615474
3714643

๋ฐ˜์‘
489827
241023

๋ทฐ
85649
43691

๋ชจ๋‚œ
19423
18088

๊ฟˆ๊ณผ ํฌ๋ง

๋ฐ์ดํ„ฐ ๋ถ„์„์œผ๋กœ ๋„˜์–ด๊ฐ€๊ธฐ ์ „์— ์ œ๊ฐ€ ๋ฐ”๋ผ๋Š” ์ ์— ๋Œ€ํ•ด ์ด์•ผ๊ธฐํ•˜๊ณ  ์‹ถ์Šต๋‹ˆ๋‹ค.

์ด์ƒ์ ์ธ ์„ธ์ƒ์—์„œ ํ”„๋ ˆ์ž„์›Œํฌ๋Š” ๊ฐœ๋ฐœ์ž์˜ ์š”๊ตฌ ์‚ฌํ•ญ์„ ์ถฉ์กฑํ•˜๋Š” ๊ฒƒ ์ด์ƒ์ด์–ด์•ผ ํ•˜๋ฉฐ ์šฐ๋ฆฌ ์‚ฌ์ดํŠธ์—์„œ ์ž‘์—…ํ•˜๋Š” ์ผ๋ฐ˜ ์‚ฌ์šฉ์ž์—๊ฒŒ ํŠน์ •ํ•œ ์ด์ ์„ ์ œ๊ณตํ•ด์•ผ ํ•œ๋‹ค๊ณ  ์ƒ๊ฐํ•ฉ๋‹ˆ๋‹ค. ์„ฑ๋Šฅ์€ ์ด๋Ÿฌํ•œ ์ด์  ์ค‘ ํ•˜๋‚˜์— ๋ถˆ๊ณผํ•ฉ๋‹ˆ๋‹ค. ์—ฌ๊ธฐ์„œ ์ ‘๊ทผ์„ฑ๊ณผ ๋ณด์•ˆ์ด ์ž‘์šฉํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ์ด๊ฒƒ์€ ๊ฐ€์žฅ ์ค‘์š”ํ•œ ๊ฒƒ์ž…๋‹ˆ๋‹ค.

๋”ฐ๋ผ์„œ ์ด์ƒ์ ์ธ ์„ธ์ƒ์—์„œ๋Š” ์ผ์ข…์˜ ํ”„๋ ˆ์ž„์›Œํฌ๋ฅผ ํ†ตํ•ด ๊ณ ์„ฑ๋Šฅ ์‚ฌ์ดํŠธ๋ฅผ ์‰ฝ๊ฒŒ ๋งŒ๋“ค ์ˆ˜ ์žˆ์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์ด๋Š” ํ”„๋ ˆ์ž„์›Œํฌ๊ฐ€ ๊ฐœ๋ฐœ์ž์—๊ฒŒ ํ”„๋กœ์ ํŠธ๋ฅผ ๊ตฌ์ถ•ํ•  ์ˆ˜ ์žˆ๋Š” ์ ์ ˆํ•œ ๊ธฐ๋ฐ˜์„ ์ œ๊ณตํ•˜๊ฑฐ๋‚˜ ๊ฐœ๋ฐœ์— ์ œํ•œ์„ ๋ถ€๊ณผํ•œ๋‹ค๋Š” ์‚ฌ์‹ค ๋•Œ๋ฌธ์— ์ˆ˜ํ–‰๋˜์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์ฒœ์ฒœํžˆ ๋ฐ–์œผ๋กœ.

์ตœ๊ณ ์˜ ํ”„๋ ˆ์ž„์›Œํฌ๋Š” ๋‘ ๊ฐ€์ง€ ๋ชจ๋‘๋ฅผ ์ˆ˜ํ–‰ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์ข‹์€ ๊ธฐ๋ฐ˜์„ ์ œ๊ณตํ•˜๊ณ  ์ž‘์—…์— ์ œํ•œ์„ ๊ฐ€ํ•˜์—ฌ ์ ์ ˆํ•œ ๊ฒฐ๊ณผ๋ฅผ ์–ป์„ ์ˆ˜ ์žˆ๋„๋ก ํ•ฉ๋‹ˆ๋‹ค.

๋ฐ์ดํ„ฐ์˜ ์ค‘์•™๊ฐ’์„ ๋ถ„์„ํ•ด๋„ ํ•„์š”ํ•œ ์ •๋ณด๋ฅผ ์–ป์„ ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ์‚ฌ์‹ค ์ด ์ ‘๊ทผ ๋ฐฉ์‹์€ ์šฐ๋ฆฌ์˜ ๊ด€์‹ฌ์—์„œ ๋ฒ—์–ด๋‚ฉ๋‹ˆ๋‹ค. ๋งŽ์€ ์ค‘์š”ํ•œ. ๋Œ€์‹  ๋‚ด๊ฐ€ ๊ฐ€์ง€๊ณ  ์žˆ๋Š” ๋ฐ์ดํ„ฐ์—์„œ ๋ฐฑ๋ถ„์œจ์„ ๋„์ถœํ–ˆ์Šต๋‹ˆ๋‹ค. ์ด๋“ค์€ 10, 25, 50(์ค‘์•™๊ฐ’), 75, 90 ๋ฐฑ๋ถ„์œ„์ˆ˜์ž…๋‹ˆ๋‹ค.

์ €๋Š” ํŠนํžˆ 10๋ฒˆ์งธ์™€ 90๋ฒˆ์งธ ๋ฐฑ๋ถ„์œ„์ˆ˜์— ๊ด€์‹ฌ์ด ์žˆ์Šต๋‹ˆ๋‹ค. 10๋ฒˆ์งธ ๋ฐฑ๋ถ„์œ„์ˆ˜๋Š” ํŠน์ • ํ”„๋ ˆ์ž„์›Œํฌ์˜ ์ตœ๊ณ  ์„ฑ๋Šฅ(๋˜๋Š” ์ ์–ด๋„ ์ตœ๊ณ ์— ๊ฑฐ์˜ ๊ทผ์ ‘)์„ ๋‚˜ํƒ€๋ƒ…๋‹ˆ๋‹ค. ์ฆ‰, ํŠน์ • ํ”„๋ ˆ์ž„์›Œํฌ๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ์‚ฌ์ดํŠธ์˜ 10%๋งŒ์ด ์ด ์ˆ˜์ค€ ์ด์ƒ์— ๋„๋‹ฌํ•œ๋‹ค๋Š” ์˜๋ฏธ์ž…๋‹ˆ๋‹ค. ๋ฐ˜๋ฉด์— 90๋ฒˆ์งธ ๋ฐฑ๋ถ„์œ„์ˆ˜๋Š” ๋™์ „์˜ ๋’ท๋ฉด์ž…๋‹ˆ๋‹ค. ์ƒํ™ฉ์ด ์–ผ๋งˆ๋‚˜ ๋‚˜๋น ์งˆ ์ˆ˜ ์žˆ๋Š”์ง€ ๋ณด์—ฌ์ค๋‹ˆ๋‹ค. 90๋ฒˆ์งธ ๋ฐฑ๋ถ„์œ„์ˆ˜๋Š” JS ์ฝ”๋“œ๊ฐ€ ๊ฐ€์žฅ ๋งŽ๊ฑฐ๋‚˜ ๋ฉ”์ธ ์Šค๋ ˆ๋“œ์—์„œ ์ฝ”๋“œ๋ฅผ ์ฒ˜๋ฆฌํ•˜๋Š” ๋ฐ ๊ฐ€์žฅ ์˜ค๋žœ ์‹œ๊ฐ„์ด ๊ฑธ๋ฆฌ๋Š” ํ•˜์œ„ 10% ์‚ฌ์ดํŠธ์ž…๋‹ˆ๋‹ค.

JavaScript ์ฝ”๋“œ์˜ ์–‘

๋จผ์ € ๋„คํŠธ์›Œํฌ๋ฅผ ํ†ตํ•ด ์—ฌ๋Ÿฌ ์‚ฌ์ดํŠธ์—์„œ ์ „์†ก๋˜๋Š” JavaScript ์ฝ”๋“œ์˜ ํฌ๊ธฐ๋ฅผ ๋ถ„์„ํ•˜๋Š” ๊ฒƒ์ด ์ข‹์Šต๋‹ˆ๋‹ค.

๋ชจ๋ฐ”์ผ ์žฅ์น˜๋กœ ์ „์†ก๋œ JavaScript ์ฝ”๋“œ์˜ ์–‘(Kb)

๋ฐฑ๋ถ„์œ„์ˆ˜
10
25
50
75
90

๋ชจ๋“  ์‚ฌ์ดํŠธ
93.4 
196.6 
413.5 
746.8 
1201.6 

jQuery ์‚ฌ์ดํŠธ
110.3 
219.8 
430.4 
748.6 
1162.3 

๋ทฐ ์‚ฌ์ดํŠธ
244.7 
409.3 
692.1 
1065.5 
1570.7 

๊ฐ๋„ ์‚ฌ์ดํŠธ
445.1 
675.6 
1066.4 
1761.5 
2893.2 

๋ฐ˜์‘ ์‚ฌ์ดํŠธ
345.8 
441.6 
690.3 
1238.5 
1893.6 

JavaScript ํ”„๋ ˆ์ž„์›Œํฌ์˜ ๊ฐ€๊ฒฉ
๋ชจ๋ฐ”์ผ ์žฅ์น˜๋กœ ์ „์†ก๋œ JavaScript ์ฝ”๋“œ์˜ ์–‘

๋ฐ์Šคํฌํ†ฑ ์žฅ์น˜๋กœ ์ „์†ก๋œ JavaScript ์ฝ”๋“œ์˜ ์–‘(Kb)

๋ฐฑ๋ถ„์œ„์ˆ˜
10
25
50
75
90

๋ชจ๋“  ์‚ฌ์ดํŠธ
105.5 
226.6 
450.4 
808.8 
1267.3 

jQuery ์‚ฌ์ดํŠธ
121.7 
242.2 
458.3 
803.4 
1235.3 

๋ทฐ ์‚ฌ์ดํŠธ
248.0 
420.1 
718.0 
1122.5 
1643.1 

๊ฐ๋„ ์‚ฌ์ดํŠธ
468.8 
716.9 
1144.2 
1930.0 
3283.1 

๋ฐ˜์‘ ์‚ฌ์ดํŠธ
308.6 
469.0 
841.9 
1472.2 
2197.8 

JavaScript ํ”„๋ ˆ์ž„์›Œํฌ์˜ ๊ฐ€๊ฒฉ
๋ฐ์Šคํฌํ†ฑ ์žฅ์น˜๋กœ ์ „์†ก๋œ JavaScript ์ฝ”๋“œ์˜ ์–‘

์‚ฌ์ดํŠธ์—์„œ ์žฅ์น˜๋กœ ๋ณด๋‚ด๋Š” JS ์ฝ”๋“œ์˜ ํฌ๊ธฐ์— ๋Œ€ํ•ด์„œ๋งŒ ์ด์•ผ๊ธฐํ•˜๋ฉด ๋ชจ๋“  ๊ฒƒ์ด ์˜ˆ์ƒ๋Œ€๋กœ ๋ณด์ž…๋‹ˆ๋‹ค. ์ฆ‰, ํ”„๋ ˆ์ž„ ์›Œํฌ ์ค‘ ํ•˜๋‚˜๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ์ด์ƒ์ ์ธ ์ƒํ™ฉ์—์„œ๋„ ์‚ฌ์ดํŠธ์˜ JavaScript ์ฝ”๋“œ ์–‘์ด ์ฆ๊ฐ€ํ•œ๋‹ค๋Š” ์˜๋ฏธ์ž…๋‹ˆ๋‹ค. ์ด๋Š” ๋†€๋ผ์šด ์ผ์ด ์•„๋‹™๋‹ˆ๋‹ค. JavaScript ํ”„๋ ˆ์ž„์›Œํฌ๋ฅผ ์‚ฌ์ดํŠธ์˜ ๊ธฐ๋ฐ˜์œผ๋กœ ๋งŒ๋“ค ์ˆ˜ ์—†์œผ๋ฉฐ ํ”„๋กœ์ ํŠธ์˜ JS ์ฝ”๋“œ ์–‘์ด ๋งค์šฐ ์ ์„ ๊ฒƒ์ด๋ผ๊ณ  ์˜ˆ์ƒํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.

์ด ๋ฐ์ดํ„ฐ์—์„œ ์ฃผ๋ชฉํ•  ๋งŒํ•œ ์ ์€ ์ผ๋ถ€ ํ”„๋ ˆ์ž„์›Œํฌ์™€ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๊ฐ€ ๋‹ค๋ฅธ ๊ฒƒ๋ณด๋‹ค ๋” ๋‚˜์€ ํ”„๋กœ์ ํŠธ ์‹œ์ž‘์ ์œผ๋กœ ๊ฐ„์ฃผ๋  ์ˆ˜ ์žˆ๋‹ค๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. jQuery๊ฐ€ ์žˆ๋Š” ์‚ฌ์ดํŠธ๊ฐ€ ๊ฐ€์žฅ ์ข‹์•„ ๋ณด์ž…๋‹ˆ๋‹ค. ์‚ฌ์ดํŠธ์˜ ๋ฐ์Šคํฌํ†ฑ ๋ฒ„์ „์—์„œ๋Š” ๋ชจ๋“  ์‚ฌ์ดํŠธ๋ณด๋‹ค 15% ๋” ๋งŽ์€ JavaScript๋ฅผ ํฌํ•จํ•˜๊ณ  ๋ชจ๋ฐ”์ผ์—์„œ๋Š” 18% ๋” ๋งŽ์ด ํฌํ•จํ•ฉ๋‹ˆ๋‹ค. (๋ฌผ๋ก  ์—ฌ๊ธฐ์—๋Š” ์•ฝ๊ฐ„์˜ ๋ฐ์ดํ„ฐ ์†์ƒ์ด ์žˆ์Šต๋‹ˆ๋‹ค. ์‚ฌ์‹ค jQuery๋Š” ๋งŽ์€ ์‚ฌ์ดํŠธ์— ์กด์žฌํ•˜๋ฏ€๋กœ ๊ทธ๋Ÿฌํ•œ ์‚ฌ์ดํŠธ๊ฐ€ ๋‹ค๋ฅธ ์‚ฌ์ดํŠธ๋ณด๋‹ค ์ด ์‚ฌ์ดํŠธ ์ˆ˜์™€ ๋” ๋ฐ€์ ‘ํ•˜๊ฒŒ ์—ฐ๊ด€๋˜๋Š” ๊ฒƒ์€ ๋‹น์—ฐํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ์ด๊ฒƒ์ด ์–ผ๋งˆ๋‚˜ ์›์‹œ์ ์ธ์ง€์— ์˜ํ–ฅ์„ ๋ฏธ์น˜์ง€๋Š” ์•Š์Šต๋‹ˆ๋‹ค. ๊ฐ ํ”„๋ ˆ์ž„์›Œํฌ์— ๋Œ€ํ•œ ๋ฐ์ดํ„ฐ๊ฐ€ ์ถœ๋ ฅ๋ฉ๋‹ˆ๋‹ค.)

์ฝ”๋“œ ๋ณผ๋ฅจ์˜ 15-18% ์ฆ๊ฐ€๋Š” ๋ˆˆ์— ๋„๋Š” ์ˆ˜์น˜์ด์ง€๋งŒ ์ด๋ฅผ ๋‹ค๋ฅธ ํ”„๋ ˆ์ž„์›Œํฌ ๋ฐ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์™€ ๋น„๊ตํ•˜๋ฉด jQuery๊ฐ€ ๋ถ€๊ณผํ•˜๋Š” "์„ธ๊ธˆ"์ด ๋งค์šฐ ๋‚ฎ๋‹ค๋Š” ๊ฒฐ๋ก ์„ ๋‚ด๋ฆด ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. 10๋ฒˆ์งธ ๋ฐฑ๋ถ„์œ„์ˆ˜์— ์žˆ๋Š” Angular ์‚ฌ์ดํŠธ๋Š” ๋ชจ๋“  ์‚ฌ์ดํŠธ๋ณด๋‹ค ๋ฐ์Šคํฌํƒ‘์— 344% ๋” ๋งŽ์€ ๋ฐ์ดํ„ฐ๋ฅผ ์ „์†กํ•˜๊ณ  ๋ชจ๋ฐ”์ผ์— 377% ๋” ๋งŽ์€ ๋ฐ์ดํ„ฐ๋ฅผ ์ „์†กํ•ฉ๋‹ˆ๋‹ค. React ์‚ฌ์ดํŠธ๋Š” ๋ชจ๋“  ์‚ฌ์ดํŠธ๋ณด๋‹ค ๋ฐ์Šคํฌํƒ‘์— 193% ๋” ๋งŽ์€ ์ฝ”๋“œ๋ฅผ ์ „์†กํ•˜๊ณ  ๋ชจ๋ฐ”์ผ์— 270% ๋” ๋งŽ์€ ์ฝ”๋“œ๋ฅผ ์ „์†กํ•˜์—ฌ ๊ทธ ๋‹ค์Œ์œผ๋กœ ๋ฌด๊ฑฐ์šด ์‚ฌ์ดํŠธ์ž…๋‹ˆ๋‹ค.

์•ž์—์„œ ํ”„๋ ˆ์ž„์›Œํฌ๋ฅผ ์‚ฌ์šฉํ•œ๋‹ค๋Š” ๊ฒƒ์€ ์ผ์ •๋Ÿ‰์˜ ์ฝ”๋“œ๊ฐ€ ํ”„๋กœ์ ํŠธ์— ํฌํ•จ๋œ๋‹ค๋Š” ๊ฒƒ์„ ์˜๋ฏธํ•˜์ง€๋งŒ ์ž‘์—… ์ดˆ๊ธฐ์—๋Š” ํ”„๋ ˆ์ž„์›Œํฌ๊ฐ€ ๊ฐœ๋ฐœ์ž๋ฅผ ์ œํ•œํ•  ์ˆ˜ ์žˆ๊ธฐ๋ฅผ ๋ฐ”๋ž๋‹ˆ๋‹ค. ํŠนํžˆ ์ตœ๋Œ€ ์ฝ”๋“œ ์–‘์„ ์ œํ•œํ•˜๋Š” ๊ฒƒ์— ๋Œ€ํ•ด ์ด์•ผ๊ธฐํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.

ํฅ๋ฏธ๋กญ๊ฒŒ๋„ jQuery ์‚ฌ์ดํŠธ๋Š” ์ด ์•„์ด๋””์–ด๋ฅผ ๋”ฐ๋ฆ…๋‹ˆ๋‹ค. 10๋ฒˆ์งธ ๋ฐฑ๋ถ„์œ„์ˆ˜์—์„œ ๋ชจ๋“  ์‚ฌ์ดํŠธ๋ณด๋‹ค ์•ฝ๊ฐ„ ๋ฌด๊ฒ์ง€๋งŒ(15-18%) 90๋ฒˆ์งธ ๋ฐฑ๋ถ„์œ„์ˆ˜์—์„œ๋Š” ๋ฐ์Šคํฌํƒ‘๊ณผ ๋ชจ๋ฐ”์ผ ๋ชจ๋‘์—์„œ ์•ฝ 3%๋กœ ์•ฝ๊ฐ„ ๊ฐ€๋ณ์Šต๋‹ˆ๋‹ค. ์ด๊ฒƒ์€ ์ด๊ฒƒ์ด ๋งค์šฐ ์ค‘์š”ํ•œ ์ด์ ์ด๋ผ๊ณ  ๋งํ•˜๋Š” ๊ฒƒ์€ ์•„๋‹ˆ์ง€๋งŒ jQuery ์‚ฌ์ดํŠธ๋Š” ์ ์–ด๋„ ๊ฐ€์žฅ ํฐ ๋ฒ„์ „์—์„œ๋„ JavaScript ์ฝ”๋“œ ํฌ๊ธฐ๊ฐ€ ํฌ์ง€ ์•Š๋‹ค๊ณ  ๋งํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๊ทธ๋Ÿฌ๋‚˜ ๋‹ค๋ฅธ ํ”„๋ ˆ์ž„์›Œํฌ์— ๋Œ€ํ•ด์„œ๋„ ๋งˆ์ฐฌ๊ฐ€์ง€์ž…๋‹ˆ๋‹ค.

10๋ฒˆ์งธ ๋ฐฑ๋ถ„์œ„์ˆ˜์˜ ๊ฒฝ์šฐ์™€ ๋งˆ์ฐฌ๊ฐ€์ง€๋กœ Angular ๋ฐ React์˜ 90๋ฒˆ์งธ ๋ฐฑ๋ถ„์œ„์ˆ˜ ์‚ฌ์ดํŠธ๋Š” ๋‹ค๋ฅธ ์‚ฌ์ดํŠธ์™€ ๋‹ค๋ฅด์ง€๋งŒ ๋ถˆํ–‰ํžˆ๋„ ๋” ๋‚˜์ฉ๋‹ˆ๋‹ค.

90๋ฒˆ์งธ ๋ฐฑ๋ถ„์œ„์ˆ˜์—์„œ Angular ์‚ฌ์ดํŠธ๋Š” ๋ชจ๋“  ์‚ฌ์ดํŠธ๋ณด๋‹ค ๋ชจ๋ฐ”์ผ์— 141% ๋” ๋งŽ์€ ๋ฐ์ดํ„ฐ๋ฅผ ๋ณด๋‚ด๊ณ  ๋ฐ์Šคํฌํƒ‘์— 159% ๋” ๋งŽ์€ ๋ฐ์ดํ„ฐ๋ฅผ ๋ณด๋ƒ…๋‹ˆ๋‹ค. React ์‚ฌ์ดํŠธ๋Š” ๋ชจ๋“  ์‚ฌ์ดํŠธ๋ณด๋‹ค ๋ฐ์Šคํฌํ†ฑ์— 73% ๋” ๋งŽ์ด ๋ณด๋‚ด๊ณ  ๋ชจ๋ฐ”์ผ์— 58% ๋” ๋งŽ์ด ๋ณด๋ƒ…๋‹ˆ๋‹ค. 90๋ฒˆ์งธ ๋ฐฑ๋ถ„์œ„์ˆ˜์— ์žˆ๋Š” React ์‚ฌ์ดํŠธ์˜ ์ฝ”๋“œ ํฌ๊ธฐ๋Š” 2197.8KB์ž…๋‹ˆ๋‹ค. ์ฆ‰, ์ด๋Ÿฌํ•œ ์‚ฌ์ดํŠธ๋Š” Vue๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ๊ฐ€์žฅ ๊ฐ€๊นŒ์šด ๊ฒฝ์Ÿ์‚ฌ๋ณด๋‹ค ๋ชจ๋ฐ”์ผ ์žฅ์น˜์— 322.9KB ๋” ๋งŽ์€ ๋ฐ์ดํ„ฐ๋ฅผ ์ „์†กํ•ฉ๋‹ˆ๋‹ค. Angular ๋ฐ React๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ํ•˜๋Š” ๋ฐ์Šคํฌํ†ฑ ์‚ฌ์ดํŠธ์™€ ๋‹ค๋ฅธ ์‚ฌ์ดํŠธ ๊ฐ„์˜ ๊ฒฉ์ฐจ๋Š” ํ›จ์”ฌ ๋” ํฝ๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด ๋ฐ์Šคํฌํ†ฑ React ์‚ฌ์ดํŠธ๋Š” ๋™๋“ฑํ•œ Vue ์‚ฌ์ดํŠธ๋ณด๋‹ค 554.7KB ๋” ๋งŽ์€ JS ์ฝ”๋“œ๋ฅผ ์žฅ์น˜์— ๋ณด๋ƒ…๋‹ˆ๋‹ค.

๋ฉ”์ธ ์Šค๋ ˆ๋“œ์—์„œ JavaScript ์ฝ”๋“œ๋ฅผ ์ฒ˜๋ฆฌํ•˜๋Š” ๋ฐ ๊ฑธ๋ฆฌ๋Š” ์‹œ๊ฐ„

์œ„์˜ ๋ฐ์ดํ„ฐ๋Š” ์—ฐ๊ตฌ ์ค‘์ธ ํ”„๋ ˆ์ž„์›Œํฌ์™€ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ์‚ฌ์ดํŠธ์— ๋งŽ์€ ์–‘์˜ JavaScript ์ฝ”๋“œ๊ฐ€ ํฌํ•จ๋˜์–ด ์žˆ์Œ์„ ๋ถ„๋ช…ํžˆ ๋‚˜ํƒ€๋ƒ…๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ๋ฌผ๋ก  ๊ทธ๊ฒƒ์€ ์šฐ๋ฆฌ ๋ฐฉ์ •์‹์˜ ํ•œ ๋ถ€๋ถ„์ผ ๋ฟ์ž…๋‹ˆ๋‹ค.

JavaScript ์ฝ”๋“œ๊ฐ€ ๋ธŒ๋ผ์šฐ์ €์— ๋„์ฐฉํ•œ ํ›„์—๋Š” ์ž‘๋™ ๊ฐ€๋Šฅํ•œ ์ƒํƒœ๋กœ ๊ฐ€์ ธ์™€์•ผ ํ•ฉ๋‹ˆ๋‹ค. ํŠนํžˆ ๋ฉ”์ธ ๋ธŒ๋ผ์šฐ์ € ์Šค๋ ˆ๋“œ์—์„œ ์ฝ”๋“œ๋กœ ์ˆ˜ํ–‰ํ•ด์•ผ ํ•˜๋Š” ์ž‘์—…์œผ๋กœ ์ธํ•ด ๋งŽ์€ ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค. ๊ธฐ๋ณธ ์Šค๋ ˆ๋“œ๋Š” ์‚ฌ์šฉ์ž ์ž‘์—… ์ฒ˜๋ฆฌ, ์Šคํƒ€์ผ ๊ณ„์‚ฐ, ํŽ˜์ด์ง€ ๋ ˆ์ด์•„์›ƒ ์ž‘์„ฑ ๋ฐ ํ‘œ์‹œ๋ฅผ ๋‹ด๋‹นํ•ฉ๋‹ˆ๋‹ค. JavaScript ์ž‘์—…์œผ๋กœ ๋ฉ”์ธ ์Šค๋ ˆ๋“œ๋ฅผ ์••๋„ํ•˜๋ฉด ๋‚˜๋จธ์ง€ ์ž‘์—…์„ ์ œ ์‹œ๊ฐ„์— ์™„๋ฃŒํ•  ๊ธฐํšŒ๊ฐ€ ์—†์Šต๋‹ˆ๋‹ค. ์ด๋กœ ์ธํ•ด ํŽ˜์ด์ง€ ์ž‘์—…์ด ์ง€์—ฐ๋˜๊ณ  "์ œ๋™"๋ฉ๋‹ˆ๋‹ค.

HTTP ์•„์นด์ด๋ธŒ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์—๋Š” V8 ์—”์ง„์˜ ๊ธฐ๋ณธ ์Šค๋ ˆ๋“œ์—์„œ JavaScript ์ฝ”๋“œ๋ฅผ ์ฒ˜๋ฆฌํ•˜๋Š” ๋ฐ ๊ฑธ๋ฆฌ๋Š” ์‹œ๊ฐ„์— ๋Œ€ํ•œ ์ •๋ณด๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๊ฒƒ์€ ์šฐ๋ฆฌ๊ฐ€ ์ด ๋ฐ์ดํ„ฐ๋ฅผ ์ˆ˜์ง‘ํ•˜๊ณ  ๋ฉ”์ธ ์Šค๋ ˆ๋“œ๊ฐ€ ๋‹ค์–‘ํ•œ ์‚ฌ์ดํŠธ์˜ JavaScript๋ฅผ ์ฒ˜๋ฆฌํ•˜๋Š” ๋ฐ ๊ฑธ๋ฆฌ๋Š” ์‹œ๊ฐ„์„ ์•Œ์•„๋‚ผ ์ˆ˜ ์žˆ์Œ์„ ์˜๋ฏธํ•ฉ๋‹ˆ๋‹ค.

๋ชจ๋ฐ”์ผ ์žฅ์น˜์˜ ์Šคํฌ๋ฆฝํŠธ ์ฒ˜๋ฆฌ์™€ ๊ด€๋ จ๋œ ํ”„๋กœ์„ธ์„œ ์‹œ๊ฐ„(๋ฐ€๋ฆฌ์ดˆ)

๋ฐฑ๋ถ„์œ„์ˆ˜
10
25
50
75
90

๋ชจ๋“  ์‚ฌ์ดํŠธ
356.4
959.7
2372.1
5367.3
10485.8

jQuery ์‚ฌ์ดํŠธ
575.3
1147.4
2555.9
5511.0
10349.4

๋ทฐ ์‚ฌ์ดํŠธ
1130.0
2087.9
4100.4
7676.1
12849.4

๊ฐ๋„ ์‚ฌ์ดํŠธ
1471.3
2380.1
4118.6
7450.8
13296.4

๋ฐ˜์‘ ์‚ฌ์ดํŠธ
2700.1
5090.3
9287.6
14509.6
20813.3

JavaScript ํ”„๋ ˆ์ž„์›Œํฌ์˜ ๊ฐ€๊ฒฉ
๋ชจ๋ฐ”์ผ ์žฅ์น˜์˜ ์Šคํฌ๋ฆฝํŠธ ์ฒ˜๋ฆฌ์™€ ๊ด€๋ จ๋œ ํ”„๋กœ์„ธ์„œ ์‹œ๊ฐ„

๋ฐ์Šคํฌํ†ฑ ์žฅ์น˜์˜ ์Šคํฌ๋ฆฝํŠธ ์ฒ˜๋ฆฌ์™€ ๊ด€๋ จ๋œ CPU ์‹œ๊ฐ„(๋ฐ€๋ฆฌ์ดˆ)

๋ฐฑ๋ถ„์œ„์ˆ˜
10
25
50
75
90

๋ชจ๋“  ์‚ฌ์ดํŠธ
146.0
351.8
831.0
1739.8
3236.8

jQuery ์‚ฌ์ดํŠธ
199.6
399.2
877.5
1779.9
3215.5

๋ทฐ ์‚ฌ์ดํŠธ
350.4
650.8
1280.7
2388.5
4010.8

๊ฐ๋„ ์‚ฌ์ดํŠธ
482.2
777.9
1365.5
2400.6
4171.8

๋ฐ˜์‘ ์‚ฌ์ดํŠธ
508.0
1045.6
2121.1
4235.1
7444.3

JavaScript ํ”„๋ ˆ์ž„์›Œํฌ์˜ ๊ฐ€๊ฒฉ
๋ฐ์Šคํฌํ†ฑ ์žฅ์น˜์˜ ์Šคํฌ๋ฆฝํŠธ ์ฒ˜๋ฆฌ์™€ ๊ด€๋ จ๋œ ํ”„๋กœ์„ธ์„œ ์‹œ๊ฐ„

์—ฌ๊ธฐ์—์„œ ๋งค์šฐ ์นœ์ˆ™ํ•œ ๊ฒƒ์„ ๋ณผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์šฐ์„  jQuery๊ฐ€ ์žˆ๋Š” ์‚ฌ์ดํŠธ๋Š” ๋‹ค๋ฅธ ์‚ฌ์ดํŠธ๋ณด๋‹ค ๋ฉ”์ธ ์Šค๋ ˆ๋“œ์—์„œ JavaScript ์ฒ˜๋ฆฌ์— ํ›จ์”ฌ ์ ์€ ๋น„์šฉ์„ ์†Œ๋น„ํ•ฉ๋‹ˆ๋‹ค. 10๋ฒˆ์งธ ๋ฐฑ๋ถ„์œ„์ˆ˜์—์„œ ๋ชจ๋“  ์‚ฌ์ดํŠธ์™€ ๋น„๊ตํ•˜์—ฌ ๋ชจ๋ฐ”์ผ์˜ jQuery ์‚ฌ์ดํŠธ๋Š” ๊ธฐ๋ณธ ์Šค๋ ˆ๋“œ์—์„œ JS ์ฝ”๋“œ๋ฅผ ์ฒ˜๋ฆฌํ•˜๋Š” ๋ฐ 61% ๋” ๋งŽ์€ ์‹œ๊ฐ„์„ ์†Œ๋น„ํ•ฉ๋‹ˆ๋‹ค. ๋ฐ์Šคํฌํ†ฑ jQuery ์‚ฌ์ดํŠธ์˜ ๊ฒฝ์šฐ ์ฒ˜๋ฆฌ ์‹œ๊ฐ„์ด 37% ์ฆ๊ฐ€ํ•ฉ๋‹ˆ๋‹ค. 90๋ฒˆ์งธ ๋ฐฑ๋ถ„์œ„์ˆ˜์—์„œ jQuery ์‚ฌ์ดํŠธ๋Š” ์ง‘๊ณ„ ์ ์ˆ˜์— ๋งค์šฐ ๊ทผ์ ‘ํ•œ ์ ์ˆ˜๋ฅผ ์–ป์Šต๋‹ˆ๋‹ค. ํŠนํžˆ ๋ชจ๋ฐ”์ผ ์žฅ์น˜์˜ jQuery ์‚ฌ์ดํŠธ๋Š” ๋ชจ๋“  ์‚ฌ์ดํŠธ๋ณด๋‹ค ๊ธฐ๋ณธ ์Šค๋ ˆ๋“œ์—์„œ 1.3% ์ ์€ ์‹œ๊ฐ„์„ ๋ณด๋‚ด๊ณ  ๋ฐ์Šคํฌํ†ฑ ์žฅ์น˜์—์„œ๋Š” 0.7% ์ ์€ ์‹œ๊ฐ„์„ ๋ณด๋ƒ…๋‹ˆ๋‹ค.

์šฐ๋ฆฌ ํ‰๊ฐ€์˜ ๋‹ค๋ฅธ ์ธก๋ฉด์—๋Š” ๋ฉ”์ธ ์Šค๋ ˆ๋“œ์—์„œ ๊ฐ€์žฅ ๋†’์€ ๋กœ๋“œ๋ฅผ ํŠน์ง•์œผ๋กœ ํ•˜๋Š” ํ”„๋ ˆ์ž„์›Œํฌ๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๊ฒƒ์€ ๋‹ค์‹œ Angular์™€ React์ž…๋‹ˆ๋‹ค. ์ด ๋‘˜์˜ ์œ ์ผํ•œ ์ฐจ์ด์ ์€ Angular ์‚ฌ์ดํŠธ๊ฐ€ React ์‚ฌ์ดํŠธ๋ณด๋‹ค ๋ธŒ๋ผ์šฐ์ €์— ๋” ๋งŽ์€ ์ฝ”๋“œ๋ฅผ ๋ณด๋‚ด๋Š” ๋ฐ˜๋ฉด Angular ์‚ฌ์ดํŠธ๋Š” ์ฝ”๋“œ๋ฅผ ์ฒ˜๋ฆฌํ•˜๋Š” ๋ฐ CPU ์‹œ๊ฐ„์ด ๋œ ๊ฑธ๋ฆฐ๋‹ค๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. ํ›จ์”ฌ ์ ์€.

10๋ฒˆ์งธ ๋ฐฑ๋ถ„์œ„์ˆ˜์—์„œ ๋ฐ์Šคํฌํ†ฑ Angular ์‚ฌ์ดํŠธ๋Š” ๋ชจ๋“  ์‚ฌ์ดํŠธ๋ณด๋‹ค JS ์ฝ”๋“œ๋ฅผ ์ฒ˜๋ฆฌํ•˜๋Š” ๊ธฐ๋ณธ ์Šค๋ ˆ๋“œ์—์„œ 230% ๋” ๋งŽ์€ ์‹œ๊ฐ„์„ ์†Œ๋น„ํ•ฉ๋‹ˆ๋‹ค. ๋ชจ๋ฐ”์ผ ์‚ฌ์ดํŠธ์˜ ๊ฒฝ์šฐ ์ด ์ˆ˜์น˜๋Š” 313%์ž…๋‹ˆ๋‹ค. ๋ฐ˜์‘ ์‚ฌ์ดํŠธ๋Š” ์ตœ์•…์˜ ์„ฑ๋Šฅ์„ ๋ณด์ž…๋‹ˆ๋‹ค. ๋ฐ์Šคํฌํ†ฑ์—์„œ๋Š” ๋ชจ๋“  ์‚ฌ์ดํŠธ๋ณด๋‹ค ์ฝ”๋“œ ์ฒ˜๋ฆฌ์— 248% ๋” ๋งŽ์€ ์‹œ๊ฐ„์„, ๋ชจ๋ฐ”์ผ์—์„œ๋Š” 658% ๋” ๋งŽ์€ ์‹œ๊ฐ„์„ ์†Œ๋น„ํ•ฉ๋‹ˆ๋‹ค. 658%๋Š” ์˜คํƒ€๊ฐ€ ์•„๋‹™๋‹ˆ๋‹ค. 10๋ฒˆ์งธ ๋ฐฑ๋ถ„์œ„์ˆ˜์—์„œ React ์‚ฌ์ดํŠธ๋Š” ์ฝ”๋“œ๋ฅผ ์ฒ˜๋ฆฌํ•˜๋Š” ๋ฐ 2.7์ดˆ์˜ ๋ฉ”์ธ ์Šค๋ ˆ๋“œ ์‹œ๊ฐ„์„ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.

90๋ฒˆ์งธ ๋ฐฑ๋ถ„์œ„์ˆ˜๋Š” ์ด๋Ÿฌํ•œ ๊ฑฐ๋Œ€ํ•œ ์ˆซ์ž์™€ ๋น„๊ตํ•  ๋•Œ ์ ์–ด๋„ ์กฐ๊ธˆ ๋” ์ข‹์•„ ๋ณด์ž…๋‹ˆ๋‹ค. ๋ชจ๋“  ์‚ฌ์ดํŠธ์™€ ๋น„๊ตํ•˜์—ฌ Angular ํ”„๋กœ์ ํŠธ๋Š” ๋ฉ”์ธ ์Šค๋ ˆ๋“œ์˜ ๋ฐ์Šคํฌํ†ฑ ์žฅ์น˜์—์„œ 29% ๋” ๋งŽ์€ ์‹œ๊ฐ„์„, ๋ชจ๋ฐ”์ผ ์žฅ์น˜์—์„œ 27% ๋” ๋งŽ์€ ์‹œ๊ฐ„์„ ์†Œ๋น„ํ•ฉ๋‹ˆ๋‹ค. React ์‚ฌ์ดํŠธ์˜ ๊ฒฝ์šฐ ๊ฐ™์€ ์ˆ˜์น˜๊ฐ€ ๊ฐ๊ฐ 130%์™€ 98%๋กœ ๋ณด์ž…๋‹ˆ๋‹ค.

90๋ฒˆ์งธ ๋ฐฑ๋ถ„์œ„์ˆ˜์— ๋Œ€ํ•œ ๋ฐฑ๋ถ„์œจ ํŽธ์ฐจ๋Š” 10๋ฒˆ์งธ ๋ฐฑ๋ถ„์œ„์ˆ˜์— ๋Œ€ํ•œ ์œ ์‚ฌํ•œ ๊ฐ’๋ณด๋‹ค ๋” ์ข‹์•„ ๋ณด์ž…๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ์—ฌ๊ธฐ์„œ ์‹œ๊ฐ„์„ ๋‚˜ํƒ€๋‚ด๋Š” ์ˆซ์ž๊ฐ€ ๋‹ค์†Œ ๋ฌด์„ญ๊ฒŒ ๋ณด์ธ๋‹ค๋Š” ์ ์„ ๊ธฐ์–ตํ•  ๊ฐ€์น˜๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค. React๋กœ ๊ตฌ์ถ•๋œ ์›น์‚ฌ์ดํŠธ์˜ ๋ฉ”์ธ ๋ชจ๋ฐ”์ผ ์Šค๋ ˆ๋“œ์—์„œ 20.8์ดˆ๋ผ๊ณ  ๊ฐ€์ •ํ•ด ๋ด…์‹œ๋‹ค. (์ด ๊ธฐ๊ฐ„ ๋™์•ˆ ์‹ค์ œ๋กœ ์ผ์–ด๋‚œ ์ด์•ผ๊ธฐ๋Š” ๋ณ„๋„์˜ ๊ธฐ์‚ฌ์— ํ•ฉ๋‹นํ•˜๋‹ค๊ณ  ์ƒ๊ฐํ•ฉ๋‹ˆ๋‹ค).

์—ฌ๊ธฐ์— ํ•œ ๊ฐ€์ง€ ์ž ์žฌ์ ์ธ ํ•ฉ๋ณ‘์ฆ์ด ์žˆ์Šต๋‹ˆ๋‹ค(๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค. ์˜ˆ๋ ˆ๋ฏธ์•ผ ์ด ๊ธฐ๋Šฅ์— ์ฃผ์˜๋ฅผ ๊ธฐ์šธ์ด๊ณ  ์ด ๊ด€์ ์—์„œ ๋ฐ์ดํ„ฐ๋ฅผ ์‹ ์ค‘ํ•˜๊ฒŒ ๊ณ ๋ คํ–ˆ์Šต๋‹ˆ๋‹ค). ์‚ฌ์‹ค ๋งŽ์€ ์‚ฌ์ดํŠธ์—์„œ ์—ฌ๋Ÿฌ ํ”„๋ŸฐํŠธ ์—”๋“œ ๋„๊ตฌ๋ฅผ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. ํŠนํžˆ React๋‚˜ Vue์™€ ํ•จ๊ป˜ jQuery๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ์‚ฌ์ดํŠธ๋ฅผ ๋งŽ์ด ๋ดค์Šต๋‹ˆ๋‹ค. ์ด๋Ÿฌํ•œ ์‚ฌ์ดํŠธ๋Š” jQuery์—์„œ ๋‹ค๋ฅธ ํ”„๋ ˆ์ž„์›Œํฌ๋‚˜ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋กœ ๋งˆ์ด๊ทธ๋ ˆ์ด์…˜ํ•˜๊ณ  ์žˆ๊ธฐ ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค. ๊ฒฐ๊ณผ์ ์œผ๋กœ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์— ๋‹ค์‹œ ์ ‘๊ทผํ•˜์—ฌ ์ด๋ฒˆ์—๋Š” React, jQuery, Angular ๋˜๋Š” Vue๋งŒ ์‚ฌ์šฉํ•˜๊ณ  ์ด๋“ค์˜ ์กฐํ•ฉ์€ ์‚ฌ์šฉํ•˜์ง€ ์•Š๋Š” ์‚ฌ์ดํŠธ์— ํ•ด๋‹นํ•˜๋Š” ๋งํฌ๋งŒ ์„ ํƒํ–ˆ์Šต๋‹ˆ๋‹ค. ์—ฌ๊ธฐ ๋‚ด๊ฐ€ ๊ฐ€์ง„ ๊ฒƒ์ด ์žˆ์Šต๋‹ˆ๋‹ค.

์‚ฌ์ดํŠธ์—์„œ ํ•˜๋‚˜์˜ ํ”„๋ ˆ์ž„์›Œํฌ ๋˜๋Š” ํ•˜๋‚˜์˜ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋งŒ ์‚ฌ์šฉํ•˜๋Š” ์ƒํ™ฉ์—์„œ ๋ชจ๋ฐ”์ผ ์žฅ์น˜์˜ ์Šคํฌ๋ฆฝํŠธ ์ฒ˜๋ฆฌ์™€ ๊ด€๋ จ๋œ ํ”„๋กœ์„ธ์„œ ์‹œ๊ฐ„(๋ฐ€๋ฆฌ์ดˆ)

๋ฐฑ๋ถ„์œ„์ˆ˜
10
25
50
75
90

jQuery๋งŒ ์‚ฌ์šฉํ•˜๋Š” ์‚ฌ์ดํŠธ
542.9
1062.2
2297.4
4769.7
8718.2

Vue๋งŒ ์‚ฌ์šฉํ•˜๋Š” ์‚ฌ์ดํŠธ
944.0
1716.3
3194.7
5959.6
9843.8

Angular๋งŒ ์‚ฌ์šฉํ•˜๋Š” ์‚ฌ์ดํŠธ
1328.9
2151.9
3695.3
6629.3
11607.7

React๋งŒ ์‚ฌ์šฉํ•˜๋Š” ์‚ฌ์ดํŠธ
2443.2
4620.5
10061.4
17074.3
24956.3

JavaScript ํ”„๋ ˆ์ž„์›Œํฌ์˜ ๊ฐ€๊ฒฉ
์‚ฌ์ดํŠธ์—์„œ ํ•˜๋‚˜์˜ ํ”„๋ ˆ์ž„์›Œํฌ ๋˜๋Š” ํ•˜๋‚˜์˜ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋งŒ ์‚ฌ์šฉํ•˜๋Š” ์ƒํ™ฉ์—์„œ ๋ชจ๋ฐ”์ผ ์žฅ์น˜์˜ ์Šคํฌ๋ฆฝํŠธ ์ฒ˜๋ฆฌ์™€ ๊ด€๋ จ๋œ ํ”„๋กœ์„ธ์„œ ์‹œ๊ฐ„

์ฒซ์งธ, ๋†€๋ผ์šด ์ผ์ด ์•„๋‹™๋‹ˆ๋‹ค. ์‚ฌ์ดํŠธ์—์„œ ํ•˜๋‚˜์˜ ํ”„๋ ˆ์ž„์›Œํฌ๋‚˜ ํ•˜๋‚˜์˜ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋งŒ ์‚ฌ์šฉํ•˜๋Š” ๊ฒฝ์šฐ ํ•ด๋‹น ์‚ฌ์ดํŠธ์˜ ์„ฑ๋Šฅ์ด ์ž์ฃผ ํ–ฅ์ƒ๋ฉ๋‹ˆ๋‹ค. ๊ฐ ๋„๊ตฌ๋Š” 10๋ฒˆ์งธ ๋ฐ 25๋ฒˆ์งธ ๋ฐฑ๋ถ„์œ„์ˆ˜์—์„œ ๋” ์ž˜ ์ˆ˜ํ–‰๋ฉ๋‹ˆ๋‹ค. ๋ง๋œ๋‹ค. ํ•˜๋‚˜์˜ ํ”„๋ ˆ์ž„์›Œํฌ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋งŒ๋“  ์‚ฌ์ดํŠธ๋Š” ๋‘ ๊ฐœ ์ด์ƒ์˜ ํ”„๋ ˆ์ž„์›Œํฌ๋‚˜ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋งŒ๋“  ์‚ฌ์ดํŠธ๋ณด๋‹ค ๋” ๋‚˜์€ ์„ฑ๋Šฅ์„ ๋ฐœํœ˜ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

์‹ค์ œ๋กœ ์กฐ์‚ฌ๋œ ๊ฐ ํ”„๋ŸฐํŠธ ์—”๋“œ ๋„๊ตฌ์˜ ์„ฑ๋Šฅ์€ ํ•œ ๊ฐ€์ง€ ํฅ๋ฏธ๋กœ์šด ์˜ˆ์™ธ๋ฅผ ์ œ์™ธํ•˜๊ณ  ๋ชจ๋“  ๊ฒฝ์šฐ์—์„œ ๋” ์ข‹์•„ ๋ณด์ž…๋‹ˆ๋‹ค. ์ €๋ฅผ ๋†€๋ผ๊ฒŒ ํ•œ ๊ฒƒ์€ 50๋ฒˆ์งธ ๋ฐฑ๋ถ„์œ„์ˆ˜ ์ด์ƒ์—์„œ React๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ์‚ฌ์ดํŠธ๊ฐ€ ๊ทธ๋“ค์ด ์‚ฌ์šฉํ•˜๋Š” ์œ ์ผํ•œ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์ผ ๋•Œ ์„ฑ๋Šฅ์ด ๋” ๋‚˜๋นด๋‹ค๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. ๊ทธ๊ฑด ๊ทธ๋ ‡๊ณ , ์ด๊ฒƒ์ด ๋‚ด๊ฐ€ ์ด ๋ฐ์ดํ„ฐ๋ฅผ ์—ฌ๊ธฐ์— ์ œ์‹œํ•œ ์ด์œ ์ž…๋‹ˆ๋‹ค.

์ด๊ฒƒ์€ ์กฐ๊ธˆ ์ด์ƒํ•˜์ง€๋งŒ ์—ฌ์ „ํžˆ ์ด ์ด์ƒํ•จ์— ๋Œ€ํ•œ ์„ค๋ช…์„ ์ฐพ์œผ๋ ค๊ณ  ๋…ธ๋ ฅํ•  ๊ฒƒ์ž…๋‹ˆ๋‹ค.

ํ”„๋กœ์ ํŠธ๊ฐ€ React์™€ jQuery๋ฅผ ๋ชจ๋‘ ์‚ฌ์šฉํ•˜๋Š” ๊ฒฝ์šฐ ํ•ด๋‹น ํ”„๋กœ์ ํŠธ๋Š” jQuery์—์„œ React๋กœ ์ „ํ™˜ํ•˜๋Š” ๊ณผ์ •์˜ ์ค‘๊ฐ„์— ์žˆ์„ ๊ฐ€๋Šฅ์„ฑ์ด ๋†’์Šต๋‹ˆ๋‹ค. ์•„๋งˆ๋„ ์ด๋Ÿฌํ•œ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๊ฐ€ ํ˜ผํ•ฉ๋œ ์ฝ”๋“œ๋ฒ ์ด์Šค๊ฐ€ ์žˆ์„ ๊ฒƒ์ž…๋‹ˆ๋‹ค. ์šฐ๋ฆฌ๋Š” ์ด๋ฏธ jQuery ์‚ฌ์ดํŠธ๊ฐ€ React ์‚ฌ์ดํŠธ๋ณด๋‹ค ๋ฉ”์ธ ์Šค๋ ˆ๋“œ์—์„œ ๋” ์ ์€ ์‹œ๊ฐ„์„ ์†Œ๋น„ํ•œ๋‹ค๋Š” ๊ฒƒ์„ ๋ณด์•˜๊ธฐ ๋•Œ๋ฌธ์— jQuery์—์„œ ์ผ๋ถ€ ๊ธฐ๋Šฅ์„ ๊ตฌํ˜„ํ•˜๋ฉด ์‚ฌ์ดํŠธ ์„ฑ๋Šฅ์ด ์กฐ๊ธˆ ๋” ํ–ฅ์ƒ๋œ๋‹ค๋Š” ๊ฒƒ์„ ์•Œ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๊ทธ๋Ÿฌ๋‚˜ ํ”„๋กœ์ ํŠธ๊ฐ€ jQuery์—์„œ React๋กœ ์ „ํ™˜๋˜๊ณ  React์— ๋” ๋งŽ์ด ์˜์กดํ•จ์— ๋”ฐ๋ผ ์ƒํ™ฉ์ด ๋ณ€ํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ์‚ฌ์ดํŠธ๊ฐ€ ์ •๋ง ๊ณ ํ’ˆ์งˆ์ด๊ณ  ์‚ฌ์ดํŠธ ๊ฐœ๋ฐœ์ž๊ฐ€ React๋ฅผ ์‹ ์ค‘ํ•˜๊ฒŒ ์‚ฌ์šฉํ•œ๋‹ค๋ฉด ๊ทธ๋Ÿฌํ•œ ์‚ฌ์ดํŠธ์—์„œ ๋ชจ๋“  ๊ฒƒ์ด ์ž˜ ๋  ๊ฒƒ์ž…๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ์ผ๋ฐ˜์ ์ธ React ์‚ฌ์ดํŠธ์˜ ๊ฒฝ์šฐ React๋ฅผ ๊ด‘๋ฒ”์œ„ํ•˜๊ฒŒ ์‚ฌ์šฉํ•œ๋‹ค๋Š” ๊ฒƒ์€ ๋ฉ”์ธ ์Šค๋ ˆ๋“œ๊ฐ€ ๋งŽ์€ ๋ถ€ํ•˜๋ฅผ ๋ฐ›๊ณ  ์žˆ์Œ์„ ์˜๋ฏธํ•ฉ๋‹ˆ๋‹ค.

๋ชจ๋ฐ”์ผ๊ณผ ๋ฐ์Šคํฌํ†ฑ ๊ธฐ๊ธฐ์˜ ๊ฒฉ์ฐจ

๋‚ด๊ฐ€ ์กฐ์‚ฌํ•œ ๋ฐ์ดํ„ฐ๋ฅผ ์‚ดํŽด๋ณธ ๋˜ ๋‹ค๋ฅธ ๊ด€์ ์€ ๋ชจ๋ฐ”์ผ๊ณผ ๋ฐ์Šคํฌํ†ฑ ์žฅ์น˜์—์„œ ์‚ฌ์ดํŠธ ์ž‘์—… ์‚ฌ์ด์— ์–ผ๋งˆ๋‚˜ ํฐ ๊ฒฉ์ฐจ๊ฐ€ ์žˆ๋Š”์ง€ ์—ฐ๊ตฌํ•˜๋Š” ๊ฒƒ์ด์—ˆ์Šต๋‹ˆ๋‹ค. JavaScript ์ฝ”๋“œ์˜ ์–‘์„ ๋น„๊ตํ•˜๋Š” ๊ฒƒ์— ๋Œ€ํ•ด ์ด์•ผ๊ธฐํ•˜๋ฉด ๊ทธ๋Ÿฌํ•œ ๋น„๊ต๋Š” ๋”์ฐํ•œ ๊ฒƒ์„ ๋“œ๋Ÿฌ๋‚ด์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ๋ฌผ๋ก  ๋‹ค์šด๋กœ๋“œํ•  ์ˆ˜ ์žˆ๋Š” ์ฝ”๋“œ์˜ ์–‘์ด ์ ์œผ๋ฉด ์ข‹๊ฒ ์ง€๋งŒ ๋ชจ๋ฐ”์ผ๊ณผ ๋ฐ์Šคํฌํ†ฑ ์ฝ”๋“œ์˜ ์–‘์—๋Š” ํฐ ์ฐจ์ด๊ฐ€ ์—†์Šต๋‹ˆ๋‹ค.

๊ทธ๋Ÿฌ๋‚˜ ์ฝ”๋“œ๋ฅผ ์ฒ˜๋ฆฌํ•˜๋Š” ๋ฐ ํ•„์š”ํ•œ ์‹œ๊ฐ„์„ ๋ถ„์„ํ•˜๋ฉด ๋ชจ๋ฐ”์ผ๊ณผ ๋ฐ์Šคํฌํ†ฑ ์žฅ์น˜ ์‚ฌ์ด์˜ ๋งค์šฐ ํฐ ๊ฒฉ์ฐจ๊ฐ€ ๋ˆˆ์— ๋•๋‹ˆ๋‹ค.

๋ฐ์Šคํฌํ†ฑ๊ณผ ๋น„๊ตํ•˜์—ฌ ๋ชจ๋ฐ”์ผ ์žฅ์น˜์—์„œ ์Šคํฌ๋ฆฝํŠธ๋ฅผ ์ฒ˜๋ฆฌํ•˜๋Š” ๊ฒƒ๊ณผ ๊ด€๋ จ๋œ ์‹œ๊ฐ„(๋ฐฑ๋ถ„์œจ) ์ฆ๊ฐ€

๋ฐฑ๋ถ„์œ„์ˆ˜
10
25
50
75
90

๋ชจ๋“  ์‚ฌ์ดํŠธ
144.1
172.8
185.5
208.5
224.0

jQuery ์‚ฌ์ดํŠธ
188.2
187.4
191.3
209.6
221.9

๋ทฐ ์‚ฌ์ดํŠธ
222.5
220.8
220.2
221.4
220.4

๊ฐ๋„ ์‚ฌ์ดํŠธ
205.1
206.0
201.6
210.4
218.7

๋ฐ˜์‘ ์‚ฌ์ดํŠธ
431.5
386.8
337.9
242.6
179.6

ํœด๋Œ€ํฐ๊ณผ ๋žฉํ†ฑ ๊ฐ„์˜ ์ฝ”๋“œ ์ฒ˜๋ฆฌ ์†๋„์— ์•ฝ๊ฐ„์˜ ์ฐจ์ด๊ฐ€ ์žˆ์„ ๊ฒƒ์œผ๋กœ ์˜ˆ์ƒ๋˜์ง€๋งŒ ์ด๋Ÿฌํ•œ ํฐ ์ˆซ์ž๋Š” ์ตœ์‹  ํ”„๋ ˆ์ž„์›Œํฌ๊ฐ€ ์ €์ „๋ ฅ ์žฅ์น˜๋ฅผ ์ถฉ๋ถ„ํžˆ ๋Œ€์ƒ์œผ๋กœ ํ•˜์ง€ ์•Š์œผ๋ฉฐ ๊ทธ๋“ค์ด ๋ฐœ๊ฒฌํ•œ ๊ฒฉ์ฐจ๋ฅผ ์ขํžˆ๊ธฐ ์œ„ํ•ด ๋…ธ๋ ฅํ•˜๊ณ  ์žˆ์Œ์„ ๋งํ•ด์ค๋‹ˆ๋‹ค. 10๋ฒˆ์งธ ๋ฐฑ๋ถ„์œ„์ˆ˜์—์„œ๋„ React ์‚ฌ์ดํŠธ๋Š” ๋ฐ์Šคํฌํ†ฑ ๋ฉ”์ธ ์Šค๋ ˆ๋“œ๋ณด๋‹ค ๋ชจ๋ฐ”์ผ ๋ฉ”์ธ ์Šค๋ ˆ๋“œ์—์„œ 431.5% ๋” ๋งŽ์€ ์‹œ๊ฐ„์„ ์†Œ๋น„ํ•ฉ๋‹ˆ๋‹ค. jQuery๋Š” ๊ฒฉ์ฐจ๊ฐ€ ๊ฐ€์žฅ ์ ์ง€๋งŒ ์—ฌ๊ธฐ์—์„œ๋„ ํ•ด๋‹น ์ˆ˜์น˜๋Š” 188.2%์ž…๋‹ˆ๋‹ค. ์›น ์‚ฌ์ดํŠธ ๊ฐœ๋ฐœ์ž๊ฐ€ ์ฒ˜๋ฆฌ์— ๋” ๋งŽ์€ ํ”„๋กœ์„ธ์„œ ์‹œ๊ฐ„์ด ํ•„์š”ํ•œ ๋ฐฉ์‹์œผ๋กœ ํ”„๋กœ์ ํŠธ๋ฅผ ๋งŒ๋“ค๋ฉด(๊ทธ๋ฆฌ๊ณ  ์‹œ๊ฐ„์ด ์ง€๋‚จ์— ๋”ฐ๋ผ ์•…ํ™”๋  ๋ฟ์ž„) ์ €์ „๋ ฅ ์žฅ์น˜ ์†Œ์œ ์ž๋Š” ๋น„์šฉ์„ ์ง€๋ถˆํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

๊ฒฐ๊ณผ

์ข‹์€ ํ”„๋ ˆ์ž„์›Œํฌ๋Š” ๊ฐœ๋ฐœ์ž์—๊ฒŒ ์›น ํ”„๋กœ์ ํŠธ(๋ณด์•ˆ, ์ ‘๊ทผ์„ฑ, ์„ฑ๋Šฅ ์ธก๋ฉด์—์„œ)๋ฅผ ๊ตฌ์ถ•ํ•˜๊ธฐ ์œ„ํ•œ ์ข‹์€ ๊ธฐ๋ฐ˜์„ ์ œ๊ณตํ•˜๊ฑฐ๋‚˜ ์ด๋Ÿฌํ•œ ์ œํ•œ์„ ์œ„๋ฐ˜ํ•˜๋Š” ๊ฒƒ์„ ๊ตฌ์ถ•ํ•˜๊ธฐ ์–ด๋ ต๊ฒŒ ๋งŒ๋“œ๋Š” ๊ธฐ๋ณธ ์ œ๊ณต ์ œํ•œ์ด ์žˆ์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

์ด๊ฒƒ์€ ์›น ํ”„๋กœ์ ํŠธ์˜ ์„ฑ๋Šฅ์—๋Š” ์ ์šฉ๋˜์ง€ ์•Š๋Š” ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค. ์œ ํšจ์„ฑ).

React ๋˜๋Š” Angular ์‚ฌ์ดํŠธ๊ฐ€ ๋‹ค๋ฅธ ์‚ฌ์ดํŠธ๋ณด๋‹ค ์ฝ”๋“œ๋ฅผ ์ค€๋น„ํ•˜๋Š” ๋ฐ ๋” ๋งŽ์€ CPU ์‹œ๊ฐ„์„ ์†Œ๋น„ํ•œ๋‹ค๊ณ  ํ•ด์„œ ๋ฐ˜๋“œ์‹œ React ์‚ฌ์ดํŠธ๊ฐ€ Vue ์‚ฌ์ดํŠธ๋ณด๋‹ค CPU๋ฅผ ๋” ๋งŽ์ด ์‚ฌ์šฉํ•œ๋‹ค๋Š” ์˜๋ฏธ๋Š” ์•„๋‹™๋‹ˆ๋‹ค. ์‚ฌ์‹ค ์šฐ๋ฆฌ๊ฐ€ ๊ฒ€ํ† ํ•œ ๋ฐ์ดํ„ฐ๋Š” ํ”„๋ ˆ์ž„์›Œํฌ์™€ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์˜ ์šด์˜ ์„ฑ๋Šฅ์— ๋Œ€ํ•ด ๊ฑฐ์˜ ์•Œ๋ ค์ฃผ์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ๊ทธ๋“ค์€ ์˜์‹์ ์ด๋“  ์•„๋‹ˆ๋“  ์ด๋Ÿฌํ•œ ํ”„๋ ˆ์ž„์›Œํฌ๊ฐ€ ํ”„๋กœ๊ทธ๋ž˜๋จธ๋ฅผ ์••๋ฐ•ํ•  ์ˆ˜ ์žˆ๋Š” ๊ฐœ๋ฐœ ์ ‘๊ทผ ๋ฐฉ์‹์— ๋Œ€ํ•ด ๋” ๋งŽ์ด ์ด์•ผ๊ธฐํ•ฉ๋‹ˆ๋‹ค. ์šฐ๋ฆฌ๋Š” ํ”„๋ ˆ์ž„์›Œํฌ ๋ฌธ์„œ, ์ƒํƒœ๊ณ„, ์ผ๋ฐ˜์ ์ธ ๊ฐœ๋ฐœ ๊ธฐ์ˆ ์— ๋Œ€ํ•ด ์ด์•ผ๊ธฐํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.

์—ฌ๊ธฐ์—์„œ ๋ถ„์„ํ•˜์ง€ ์•Š์€ ๊ฒƒ, ์ฆ‰ ์‚ฌ์ดํŠธ์˜ ํŽ˜์ด์ง€ ์‚ฌ์ด๋ฅผ ํƒ์ƒ‰ํ•  ๋•Œ ์žฅ์น˜๊ฐ€ JavaScript ์ฝ”๋“œ๋ฅผ ์‹คํ–‰ํ•˜๋Š” ๋ฐ ์†Œ๋น„ํ•˜๋Š” ์‹œ๊ฐ„๋„ ์–ธ๊ธ‰ํ•  ๊ฐ€์น˜๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค. SPA๋ฅผ ์„ ํ˜ธํ•˜๋Š” ์ฃผ์žฅ์€ ๋‹จ์ผ ํŽ˜์ด์ง€ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์ด ๋ธŒ๋ผ์šฐ์ €์— ๋กœ๋“œ๋˜๋ฉด ์ด๋ก ์ ์œผ๋กœ ์‚ฌ์šฉ์ž๊ฐ€ ์‚ฌ์ดํŠธ์˜ ํŽ˜์ด์ง€๋ฅผ ๋” ๋นจ๋ฆฌ ์—ด ์ˆ˜ ์žˆ๋‹ค๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. ๋‚ด ์ž์‹ ์˜ ๊ฒฝํ—˜์— ๋”ฐ๋ฅด๋ฉด ์ด๊ฒƒ์€ ์‚ฌ์‹ค์ด ์•„๋‹™๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ์ด ๋ฌธ์ œ๋ฅผ ๋ช…ํ™•ํžˆ ํ•  ๋ฐ์ดํ„ฐ๊ฐ€ ์—†์Šต๋‹ˆ๋‹ค.

๋ถ„๋ช…ํ•œ ๊ฒƒ์€ ์›น ์‚ฌ์ดํŠธ๋ฅผ ๋งŒ๋“ค๊ธฐ ์œ„ํ•ด ํ”„๋ ˆ์ž„์›Œํฌ๋‚˜ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ฒฝ์šฐ ์ดˆ๊ธฐ์— ํ”„๋กœ์ ํŠธ๋ฅผ ๋กœ๋“œํ•˜๊ณ  ์ค€๋น„ํ•˜๋Š” ์ธก๋ฉด์—์„œ ํƒ€ํ˜‘์„ ํ•˜๊ณ  ์žˆ๋‹ค๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. ์ด๋Š” ๊ฐ€์žฅ ๊ธ์ •์ ์ธ ์‹œ๋‚˜๋ฆฌ์˜ค์—๋„ ์ ์šฉ๋ฉ๋‹ˆ๋‹ค.

์ ์ ˆํ•œ ์ƒํ™ฉ์—์„œ ์–ด๋Š ์ •๋„ ํƒ€ํ˜‘ํ•˜๋Š” ๊ฒƒ์€ ์™„๋ฒฝํ•˜๊ฒŒ ๊ฐ€๋Šฅํ•˜์ง€๋งŒ ๊ฐœ๋ฐœ์ž๊ฐ€ ๊ทธ๋Ÿฌํ•œ ํƒ€ํ˜‘์„ ์˜์‹์ ์œผ๋กœ ํ•˜๋Š” ๊ฒƒ์ด ์ค‘์š”ํ•ฉ๋‹ˆ๋‹ค.

๊ทธ๋Ÿฌ๋‚˜ ๋‚™๊ด€ํ•  ์ด์œ ๋„ ์žˆ์Šต๋‹ˆ๋‹ค. Chrome ๊ฐœ๋ฐœ์ž๊ฐ€ ์ด๋Ÿฌํ•œ ๋„๊ตฌ์˜ ์„ฑ๋Šฅ์„ ๊ฐœ์„ ํ•˜๊ธฐ ์œ„ํ•ด ๊ฒ€ํ† ํ•œ ์ผ๋ถ€ ํ”„๋ŸฐํŠธ ์—”๋“œ ๋„๊ตฌ์˜ ๊ฐœ๋ฐœ์ž์™€ ์–ผ๋งˆ๋‚˜ ๊ธด๋ฐ€ํ•˜๊ฒŒ ํ˜‘๋ ฅํ•˜๊ณ  ์žˆ๋Š”์ง€ ์•Œ๊ฒŒ ๋˜์–ด ๊ธฐ์ฉ๋‹ˆ๋‹ค.

๊ทธ๋Ÿฌ๋‚˜ ๋‚˜๋Š” ์‹ค์šฉ์ ์ธ ์‚ฌ๋žŒ์ž…๋‹ˆ๋‹ค. ์ƒˆ๋กœ์šด ์•„ํ‚คํ…์ฒ˜๋Š” ์„ฑ๋Šฅ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๋Š” ๋งŒํผ ์ž์ฃผ ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ๋ฒ„๊ทธ๋ฅผ ์ˆ˜์ •ํ•˜๋Š” ๋ฐ ์‹œ๊ฐ„์ด ๊ฑธ๋ฆฝ๋‹ˆ๋‹ค. ์šฐ๋ฆฌ๊ฐ€ ๊ธฐ๋Œ€ํ•ด์„œ๋Š” ์•ˆ ๋˜๋Š” ๊ฒƒ์ฒ˜๋Ÿผ ์ƒˆ๋กœ์šด ๋„คํŠธ์›Œํฌ ๊ธฐ์ˆ  ๋ชจ๋“  ์„ฑ๋Šฅ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•  ๊ฒƒ์ž…๋‹ˆ๋‹ค. ์šฐ๋ฆฌ๊ฐ€ ๊ฐ€์žฅ ์ข‹์•„ํ•˜๋Š” ํ”„๋ ˆ์ž„์›Œํฌ์˜ ์ƒˆ ๋ฒ„์ „์—์„œ ์ด๊ฒƒ์„ ๊ธฐ๋Œ€ํ•ด์„œ๋Š” ์•ˆ ๋ฉ๋‹ˆ๋‹ค.

์ด ๊ธฐ์‚ฌ์—์„œ ์„ค๋ช…ํ•œ ํ”„๋ŸฐํŠธ ์—”๋“œ ๋„๊ตฌ ์ค‘ ํ•˜๋‚˜๋ฅผ ์‚ฌ์šฉํ•˜๋ ค๋ฉด ๊ทธ ๋™์•ˆ ํ”„๋กœ์ ํŠธ ์„ฑ๋Šฅ์— ํ•ด๋ฅผ ๋ผ์น˜์ง€ ์•Š๋„๋ก ์ถ”๊ฐ€์ ์ธ ๋…ธ๋ ฅ์„ ๊ธฐ์šธ์—ฌ์•ผ ํ•ฉ๋‹ˆ๋‹ค. ๋‹ค์Œ์€ ์ƒˆ ํ”„๋ ˆ์ž„์›Œํฌ๋ฅผ ์‹œ์ž‘ํ•˜๊ธฐ ์ „์— ๊ณ ๋ คํ•ด์•ผ ํ•  ๋ช‡ ๊ฐ€์ง€ ๊ณ ๋ ค ์‚ฌํ•ญ์ž…๋‹ˆ๋‹ค.

  • ์ƒ์‹์œผ๋กœ ์ž์‹ ์„ ํ…Œ์ŠคํŠธํ•˜์‹ญ์‹œ์˜ค. ์„ ํƒํ•œ ํ”„๋ ˆ์ž„์›Œํฌ๋ฅผ ์‚ฌ์šฉํ•ด์•ผ ํ•ฉ๋‹ˆ๊นŒ? ์˜ค๋Š˜๋‚  ์ˆœ์ˆ˜ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ๋Š” ๋งŽ์€ ๊ฒƒ์„ ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  • ์ด ํ”„๋ ˆ์ž„์›Œํฌ ๊ธฐ๋Šฅ์˜ 90%๋ฅผ ์ œ๊ณตํ•  ์ˆ˜ ์žˆ๋Š” ์„ ํƒํ•œ ํ”„๋ ˆ์ž„์›Œํฌ(์˜ˆ: Preact, Svelte ๋˜๋Š” ๊ธฐํƒ€)์— ๋Œ€ํ•œ ๋” ๊ฐ€๋ฒผ์šด ๋Œ€์•ˆ์ด ์žˆ์Šต๋‹ˆ๊นŒ?
  • ์ด๋ฏธ ํ”„๋ ˆ์ž„์›Œํฌ๋ฅผ ์‚ฌ์šฉํ•˜๊ณ  ์žˆ๋‹ค๋ฉด ๋” ์ข‹๊ณ  ๋” ๋ณด์ˆ˜์ ์ธ ํ‘œ์ค€ ์˜ต์…˜์„ ์ œ๊ณตํ•˜๋Š” ๊ฒƒ์ด ์žˆ๋Š”์ง€ ๊ณ ๋ คํ•˜์‹ญ์‹œ์˜ค(์˜ˆ: Vue ๋Œ€์‹  Nuxt.js, React ๋Œ€์‹  Next.js ๋“ฑ).
  • ๋‹น์‹ ์˜ ์˜ˆ์‚ฐ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ์„ฑ๋Šฅ?
  • ์–ด๋–ป๊ฒŒ ํ•  ์ˆ˜ ์žˆ๋‹ˆ? ์ œํ•œํ•˜๋‹ค ์ ˆ๋Œ€์ ์œผ๋กœ ํ•„์š”ํ•œ ๊ฒƒ๋ณด๋‹ค ๋” ๋งŽ์€ JavaScript ์ฝ”๋“œ๋ฅผ ํ”„๋กœ์ ํŠธ์— ์‚ฝ์ž…ํ•˜๋Š” ๊ฒƒ์„ ์–ด๋ ต๊ฒŒ ๋งŒ๋“œ๋Š” ๊ฐœ๋ฐœ ํ”„๋กœ์„ธ์Šค?
  • ๊ฐœ๋ฐœ ์šฉ์ด์„ฑ์„ ์œ„ํ•ด ํ”„๋ ˆ์ž„์›Œํฌ๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ฒฝ์šฐ ๋‹ค์Œ์„ ๊ณ ๋ คํ•˜์‹ญ์‹œ์˜ค. ๋‹น์‹ ์ด ํ•„์š”๋กœ ํ•  ํ”„๋ ˆ์ž„์›Œํฌ ์ฝ”๋“œ๋ฅผ ํด๋ผ์ด์–ธํŠธ์— ๋ณด๋ƒ…๋‹ˆ๋‹ค. ์„œ๋ฒ„์˜ ๋ชจ๋“  ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•  ์ˆ˜ ์žˆ์„๊นŒ์š”?

์ผ๋ฐ˜์ ์œผ๋กœ ์ด๋Ÿฌํ•œ ์•„์ด๋””์–ด๋Š” ํ”„๋ŸฐํŠธ ์—”๋“œ ๊ฐœ๋ฐœ์„ ์œ„ํ•ด ์ •ํ™•ํžˆ ๋ฌด์—‡์„ ์„ ํƒํ–ˆ๋Š”์ง€์— ๊ด€๊ณ„์—†์ด ๊ฒ€ํ† ํ•  ๊ฐ€์น˜๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ์ฒ˜์Œ๋ถ€ํ„ฐ ์„ฑ๋Šฅ์ด ๋ถ€์กฑํ•œ ํ”„๋กœ์ ํŠธ๋ฅผ ์ž‘์—…ํ•  ๋•Œ ํŠนํžˆ ์ค‘์š”ํ•ฉ๋‹ˆ๋‹ค.

๋…์ž ์—ฌ๋Ÿฌ๋ถ„! ์ด์ƒ์ ์ธ JavaScript ํ”„๋ ˆ์ž„์›Œํฌ๋ฅผ ์–ด๋–ป๊ฒŒ ๋ณด์‹ญ๋‹ˆ๊นŒ?

JavaScript ํ”„๋ ˆ์ž„์›Œํฌ์˜ ๊ฐ€๊ฒฉ

์ถœ์ฒ˜ : habr.com

์ฝ”๋ฉ˜ํŠธ๋ฅผ ์ถ”๊ฐ€