์น์ฌ์ดํธ์ JavaScript ์ฝ๋๋ฅผ ๋ง์ด ์ฌ์ฉํ๋ ๊ฒ๋ณด๋ค ์น์ฌ์ดํธ ์๋๋ฅผ ๋ฆ์ถ๋ ๋ ๋น ๋ฅธ ๋ฐฉ๋ฒ์ ์์ต๋๋ค. JavaScript๋ฅผ ์ฌ์ฉํ ๋ XNUMX๋ฐฐ ์ด์์ ํ๋ก์ ํธ ์ฑ๋ฅ์ผ๋ก ๋น์ฉ์ ์ง๋ถํด์ผ ํฉ๋๋ค. ์ฌ์ดํธ์ JavaScript ์ฝ๋๊ฐ ์ฌ์ฉ์ ์์คํ ์ ๋ก๋ํ๋ ๋ฐฉ๋ฒ์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
- ๋คํธ์ํฌ๋ฅผ ํตํด ํ์ผ์ ๋ค์ด๋ก๋ํฉ๋๋ค.
- ๋ค์ด๋ก๋ ํ ์์ถ์ ํผ ์์ค ์ฝ๋๋ฅผ ํ์ฑํ๊ณ ์ปดํ์ผํฉ๋๋ค.
- JavaScript ์ฝ๋ ์คํ.
- ๋ฉ๋ชจ๋ฆฌ ์๋น.
์ด ์กฐํฉ์ด ๋์จ๋ค
๊ทธ๋ฆฌ๊ณ ์ฐ๋ฆฌ๋ ํ๋ก์ ํธ์ ์ ์ ๋ ๋ง์ JS ์ฝ๋๋ฅผ ํฌํจํฉ๋๋ค. ์กฐ์ง์ด React, Vue ๋ฑ๊ณผ ๊ฐ์ ํ๋ ์์ํฌ ๋ฐ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ก ๊ตฌ๋๋๋ ์ฌ์ดํธ๋ก ์ด๋ํจ์ ๋ฐ๋ผ ์ฐ๋ฆฌ๋ ์ฌ์ดํธ์ ํต์ฌ ๊ธฐ๋ฅ์ JavaScript์ ํฌ๊ฒ ์์กดํ๊ฒ ๋ง๋ค๊ณ ์์ต๋๋ค.
JavaScript ํ๋ ์์ํฌ๋ฅผ ์ฌ์ฉํ๋ ๋งค์ฐ ๋ฌด๊ฑฐ์ด ์ฌ์ดํธ๋ฅผ ๋ง์ด ๋ณด์์ต๋๋ค. ๊ทธ๋ฌ๋ ์ด ๋ฌธ์ ์ ๋ํ ๋์ ์๊ฐ์ ๋งค์ฐ ํธํฅ๋์ด ์๋ค. ์ฌ์ค ์ ๊ฐ ํจ๊ป ์ผํ๋ ํ์ฌ๋ ์ฌ์ดํธ ์ฑ๋ฅ ๋ถ์ผ์์ ๋ณต์กํ ๋ฌธ์ ์ ์ง๋ฉดํ๊ธฐ ๋๋ฌธ์ ์ ํํ๊ฒ ์ ์๊ฒ ์์งํฉ๋๋ค. ๊ทธ ๊ฒฐ๊ณผ ์ด โโ๋ฌธ์ ๊ฐ ์ผ๋ง๋ ํํ์ง, ํน์ ์ฌ์ดํธ์ ๊ธฐ๋ฐ์ผ๋ก ํ๋ ๋๋ ๋ค๋ฅธ ํ๋ ์์ํฌ๋ฅผ ์ ํํ ๋ ์ด๋ค ์ข ๋ฅ์ "๋ฒ๊ธ"์ ์ง๋ถํ๋์ง์ ๋ํด ๊ถ๊ธํด์ก์ต๋๋ค.
์ด ํ๋ก์ ํธ๋ ๋ด๊ฐ ์ด๊ฒ์ ์์๋ด๋ ๋ฐ ๋์์ด ๋์์ต๋๋ค.
๋ฐ์ดํฐ
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๋ฒ์งธ์ 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 ์ฝ๋์ ์(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 ์ฝ๋์ ์
์ฌ์ดํธ์์ ์ฅ์น๋ก ๋ณด๋ด๋ 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
๋ชจ๋ฐ์ผ ์ฅ์น์ ์คํฌ๋ฆฝํธ ์ฒ๋ฆฌ์ ๊ด๋ จ๋ ํ๋ก์ธ์ ์๊ฐ
๋ฐ์คํฌํฑ ์ฅ์น์ ์คํฌ๋ฆฝํธ ์ฒ๋ฆฌ์ ๊ด๋ จ๋ 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
๋ฐ์คํฌํฑ ์ฅ์น์ ์คํฌ๋ฆฝํธ ์ฒ๋ฆฌ์ ๊ด๋ จ๋ ํ๋ก์ธ์ ์๊ฐ
์ฌ๊ธฐ์์ ๋งค์ฐ ์น์ํ ๊ฒ์ ๋ณผ ์ ์์ต๋๋ค.
์ฐ์ 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์ด๋ผ๊ณ ๊ฐ์ ํด ๋ด ์๋ค. (์ด ๊ธฐ๊ฐ ๋์ ์ค์ ๋ก ์ผ์ด๋ ์ด์ผ๊ธฐ๋ ๋ณ๋์ ๊ธฐ์ฌ์ ํฉ๋นํ๋ค๊ณ ์๊ฐํฉ๋๋ค).
์ฌ๊ธฐ์ ํ ๊ฐ์ง ์ ์ฌ์ ์ธ ํฉ๋ณ์ฆ์ด ์์ต๋๋ค(๊ฐ์ฌํฉ๋๋ค.
์ฌ์ดํธ์์ ํ๋์ ํ๋ ์์ํฌ ๋๋ ํ๋์ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ง ์ฌ์ฉํ๋ ์ํฉ์์ ๋ชจ๋ฐ์ผ ์ฅ์น์ ์คํฌ๋ฆฝํธ ์ฒ๋ฆฌ์ ๊ด๋ จ๋ ํ๋ก์ธ์ ์๊ฐ(๋ฐ๋ฆฌ์ด)
๋ฐฑ๋ถ์์
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
์ฌ์ดํธ์์ ํ๋์ ํ๋ ์์ํฌ ๋๋ ํ๋์ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ง ์ฌ์ฉํ๋ ์ํฉ์์ ๋ชจ๋ฐ์ผ ์ฅ์น์ ์คํฌ๋ฆฝํธ ์ฒ๋ฆฌ์ ๊ด๋ จ๋ ํ๋ก์ธ์ ์๊ฐ
์ฒซ์งธ, ๋๋ผ์ด ์ผ์ด ์๋๋๋ค. ์ฌ์ดํธ์์ ํ๋์ ํ๋ ์์ํฌ๋ ํ๋์ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ง ์ฌ์ฉํ๋ ๊ฒฝ์ฐ ํด๋น ์ฌ์ดํธ์ ์ฑ๋ฅ์ด ์์ฃผ ํฅ์๋ฉ๋๋ค. ๊ฐ ๋๊ตฌ๋ 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 ํ๋ ์์ํฌ๋ฅผ ์ด๋ป๊ฒ ๋ณด์ญ๋๊น?
์ถ์ฒ : habr.com