⚛️ ๋ฆฌ์•กํŠธ ๊ฐœ๋ฐœ ํ™˜๊ฒฝ ์„ธํŒ…: CRA vs Vite

โš›๏ธ ๋ฆฌ์•กํŠธ ๊ฐœ๋ฐœ ํ™˜๊ฒฝ ์„ธํŒ…: CRA vs Vite

๐Ÿš€ ์›น์‚ฌ์ดํŠธ๊ฐ€ ๋А๋ฆฌ๋‹ค๋ฉด? ์ด๋ฏธ์ง€ ์ง€์—ฐ ๋กœ๋”ฉ(Lazy Loading)์ด ์ •๋‹ต์ž…๋‹ˆ๋‹ค

ํ˜น์‹œ ์ธํ„ฐ๋„ท ์‡ผํ•‘๋ชฐ์ด๋‚˜ ์‚ฌ์ง„์ด ๋งŽ์€ ๋ธ”๋กœ๊ทธ์— ๋“ค์–ด๊ฐ”์„ ๋•Œ, ํ™”๋ฉด์ด ๋ฒ„๋ฒ…๊ฑฐ๋ฆฌ๊ฑฐ๋‚˜ ์Šคํฌ๋กค์ด ๋š๋š ๋Š๊ธฐ๋Š” ๊ฒฝํ—˜์„ ํ•ด๋ณด์‹  ์ ์ด ์žˆ์œผ์‹ ๊ฐ€์š”?
์šฐ๋ฆฌ๋Š” ๋งค์ผ ์ˆ˜๋งŽ์€ ์›น์‚ฌ์ดํŠธ๋ฅผ ๋ฐฉ๋ฌธํ•˜์ง€๋งŒ, ๊ทธ ์†๋„๊ฐ€ ์กฐ๊ธˆ๋งŒ ๋А๋ ค์ ธ๋„ ๋‹ต๋‹ตํ•จ์„ ๋А๋ผ๊ณ  '๋’ค๋กœ ๊ฐ€๊ธฐ' ๋ฒ„ํŠผ์„ ๋ˆ„๋ฅด๊ณค ํ•ฉ๋‹ˆ๋‹ค.
์›น์‚ฌ์ดํŠธ๊ฐ€ ๋А๋ ค์ง€๋Š” ๊ฐ€์žฅ ํฐ ์›์ธ ์ค‘ ํ•˜๋‚˜๋Š” ๋ฐ”๋กœ ๋ฌด๊ฑฐ์šด ์ด๋ฏธ์ง€ ํŒŒ์ผ๋“ค ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค.

๐Ÿ’ก ํ•ต์‹ฌ ์งˆ๋ฌธ:
"๋‚ด๊ฐ€ ์ง€๊ธˆ ๋ณด๊ณ  ์žˆ๋Š” ํ™”๋ฉด ์•„๋ž˜์ชฝ์˜ ์ด๋ฏธ์ง€๊นŒ์ง€, ๊ตณ์ด ์ฒ˜์Œ๋ถ€ํ„ฐ ๋‹ค ๋ถˆ๋Ÿฌ์™€์•ผ ํ• ๊นŒ์š”?"
์˜ค๋Š˜ ์†Œ๊ฐœํ•  ์ด๋ฏธ์ง€ ์ง€์—ฐ ๋กœ๋”ฉ(Lazy Loading)์€ ๋ฐ”๋กœ ์ด ์งˆ๋ฌธ์—์„œ ์‹œ์ž‘๋œ ๊ธฐ์ˆ ์ž…๋‹ˆ๋‹ค.

์˜ค๋Š˜์€ ๊ฐœ๋ฐœ์ž๊ฐ€ ์•„๋‹ˆ๋”๋ผ๋„ ๋ˆ„๊ตฌ๋‚˜ ์ดํ•ดํ•  ์ˆ˜ ์žˆ๋Š” ์ง€์—ฐ ๋กœ๋”ฉ์˜ ์›๋ฆฌ์™€, ์ด๊ฒƒ์ด ์–ด๋–ป๊ฒŒ ์šฐ๋ฆฌ ๋ฐ์ดํ„ฐ๋ฅผ ์•„๊ปด์ฃผ๊ณ  ์›น ์„œํ•‘์„ ์พŒ์ ํ•˜๊ฒŒ ๋งŒ๋“œ๋Š”์ง€ ์•Œ์•„๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค.


๐Ÿข 1. ์ด๋ฏธ์ง€ ์ง€์—ฐ ๋กœ๋”ฉ(Lazy Loading)์ด๋ž€ ๋ฌด์—‡์ธ๊ฐ€์š”?

์ด๋ฆ„์—์„œ ์•Œ ์ˆ˜ ์žˆ๋“ฏ์ด, Lazy Loading(๊ฒŒ์œผ๋ฅธ ๋กœ๋”ฉ)์€ ์ด๋ฏธ์ง€๋ฅผ '๊ฒŒ์œผ๋ฅด๊ฒŒ', ์ฆ‰ ์ฒœ์ฒœํžˆ ๋ถˆ๋Ÿฌ์˜ค๋Š” ๊ธฐ์ˆ ์„ ๋งํ•ฉ๋‹ˆ๋‹ค.
์‰ฝ๊ฒŒ ๋น„์œ ํ•˜์ž๋ฉด ๋ท”ํŽ˜ ์‹๋‹น์„ ์ƒ๊ฐํ•ด๋ณด๋ฉด ์ดํ•ด๊ฐ€ ๋น ๋ฆ…๋‹ˆ๋‹ค.

❌ ์ผ๋ฐ˜ ๋กœ๋”ฉ (Eager Loading)

์†๋‹˜์ด ์‹๋‹น์— ๋“ค์–ด์˜ค์ž๋งˆ์ž, ์ฃผ๋ฌธ๋„ ํ•˜๊ธฐ ์ „์— 100๊ฐ€์ง€ ์Œ์‹์„ ํ…Œ์ด๋ธ”์— ํ•œ๊บผ๋ฒˆ์— ๋‹ค ์ฐจ๋ ค๋†“์Šต๋‹ˆ๋‹ค.
ํ…Œ์ด๋ธ”์ด ๊ฝ‰ ์ฐจ์„œ ์‹์‚ฌํ•˜๊ธฐ ๋ถˆํŽธํ•˜๊ณ , ์Œ์‹ ์ค€๋น„ ์‹œ๊ฐ„๋„ ์˜ค๋ž˜ ๊ฑธ๋ฆฝ๋‹ˆ๋‹ค.
๊ฒฐ๊ณผ: ์›น์‚ฌ์ดํŠธ ๋กœ๋”ฉ์ด ๋А๋ ค์ง€๊ณ  ๋ฐ์ดํ„ฐ ๋‚ญ๋น„๊ฐ€ ์‹ฌํ•จ.

✅ ์ง€์—ฐ ๋กœ๋”ฉ (Lazy Loading)

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

์ฆ‰, ์‚ฌ์šฉ์ž๊ฐ€ ์Šคํฌ๋กค์„ ๋‚ด๋ ค์„œ ์ด๋ฏธ์ง€๊ฐ€ ํ™”๋ฉด์— ๋ณด์ด๊ธฐ ์ง์ „์— ๋กœ๋”ฉ์„ ์‹œ์ž‘ํ•˜๋Š” ๋ฐฉ์‹์ž…๋‹ˆ๋‹ค.
๋ณด์ด์ง€ ์•Š๋Š” ๊ณณ์— ์žˆ๋Š” ์ด๋ฏธ์ง€๋Š” ์•„์ง ๋ถˆ๋Ÿฌ์˜ค์ง€ ์•Š์•˜์œผ๋ฏ€๋กœ, ์ปดํ“จํ„ฐ์™€ ์Šค๋งˆํŠธํฐ์˜ ์ž์›์„ ์•„๋‚„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.


⚙️ 2. ์–ด๋–ค ์›๋ฆฌ๋กœ ์ž‘๋™ํ•˜๋‚˜์š”?

๊ธฐ์ˆ ์ ์œผ๋กœ ๋ณต์žกํ•ด ๋ณด์ด์ง€๋งŒ, ์›๋ฆฌ๋Š” '๋ทฐํฌํŠธ(Viewport)'๋ผ๋Š” ๊ฐœ๋…๋งŒ ์•Œ๋ฉด ๊ฐ„๋‹จํ•ฉ๋‹ˆ๋‹ค.
๋ทฐํฌํŠธ๋Š” ํ˜„์žฌ ์—ฌ๋Ÿฌ๋ถ„์ด ๋ณด๊ณ  ์žˆ๋Š” ์Šค๋งˆํŠธํฐ์ด๋‚˜ ๋ชจ๋‹ˆํ„ฐ์˜ ํ™”๋ฉด ์˜์—ญ์„ ๋œปํ•ฉ๋‹ˆ๋‹ค.

์›น ๋ธŒ๋ผ์šฐ์ €๋Š” ๋Š์ž„์—†์ด "์‚ฌ์šฉ์ž๊ฐ€ ์ง€๊ธˆ ์–ด๋””๋ฅผ ๋ณด๊ณ  ์žˆ๋Š”๊ฐ€?"๋ฅผ ๊ฐ์‹œํ•ฉ๋‹ˆ๋‹ค.
๊ทธ๋ฆฌ๊ณ  ์•„๋ž˜์™€ ๊ฐ™์€ ์ˆœ์„œ๋กœ ์ด๋ฏธ์ง€๋ฅผ ์ฒ˜๋ฆฌํ•ฉ๋‹ˆ๋‹ค.

  • Step 1: ํŽ˜์ด์ง€์— ์ ‘์†ํ•˜๋ฉด, ํ™”๋ฉด์— ๋ณด์ด๋Š” ๋งจ ์œ„ ์ด๋ฏธ์ง€๋“ค๋งŒ ๋กœ๋”ฉํ•ฉ๋‹ˆ๋‹ค.
  • Step 2: ํ™”๋ฉด ์•„๋ž˜์ชฝ์— ์žˆ๋Š” ์ด๋ฏธ์ง€๋“ค์€ '๊ฐ€์งœ ์ด๋ฏธ์ง€(๋นˆ ๋ฐ•์Šค)' ์ƒํƒœ๋กœ ๋Œ€๊ธฐํ•ฉ๋‹ˆ๋‹ค.
  • Step 3: ์‚ฌ์šฉ์ž๊ฐ€ ์Šคํฌ๋กค์„ ๋‚ด๋ ค ์ด๋ฏธ์ง€๊ฐ€ ๋ทฐํฌํŠธ(ํ™”๋ฉด) ๊ทผ์ฒ˜์— ๋„๋‹ฌํ•ฉ๋‹ˆ๋‹ค.
  • Step 4: ๋ธŒ๋ผ์šฐ์ €๊ฐ€ "์–ด? ์ด์ œ ๋ณด์—ฌ์ค˜์•ผ๊ฒ ๋„ค!"๋ผ๊ณ  ์ธ์‹ํ•˜๊ณ  ์ง„์งœ ์ด๋ฏธ์ง€๋ฅผ ๋‹ค์šด๋กœ๋“œํ•˜์—ฌ ๋ณด์—ฌ์ค๋‹ˆ๋‹ค.

์ตœ๊ทผ์—๋Š” ๊ฐœ๋ฐœ์ž๋“ค์ด ๋ณต์žกํ•œ ์ฝ”๋“œ๋ฅผ ์งœ์ง€ ์•Š์•„๋„, ์ด๋ฏธ์ง€ ํƒœ๊ทธ์— loading="lazy"๋ผ๋Š” ๊ฐ„๋‹จํ•œ ์†์„ฑ๋งŒ ๋ถ™์ด๋ฉด ๋ธŒ๋ผ์šฐ์ €๊ฐ€ ์•Œ์•„์„œ ์ด ๊ธฐ๋Šฅ์„ ์ˆ˜ํ–‰ํ•ด์ค๋‹ˆ๋‹ค.


๐Ÿ“Š 3. ์‚ฌ์šฉ์ž๊ฐ€ ์–ป๋Š” 3๊ฐ€์ง€ ์ด๋“

"๊ฐœ๋ฐœ ๊ธฐ์ˆ ์ด๋‹ˆ๊นŒ ๋‚˜๋ž‘์€ ์ƒ๊ด€์—†์ง€ ์•Š๋‚˜?"๋ผ๊ณ  ์ƒ๊ฐํ•˜์‹ค ์ˆ˜ ์žˆ์ง€๋งŒ, ์ง€์—ฐ ๋กœ๋”ฉ์€ ์‚ฌ์šฉ์ž ๊ฒฝํ—˜(UX)์— ์ง์ ‘์ ์ธ ์˜ํ–ฅ์„ ๋ฏธ์นฉ๋‹ˆ๋‹ค.
์—ฌ๋Ÿฌ๋ถ„์ด ์–ป๋Š” ๊ตฌ์ฒด์ ์ธ ์ด๋“์€ ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.

์žฅ์  ๊ตฌ๋ถ„ ์ƒ์„ธ ๋‚ด์šฉ
⚡ 1. ๋น ๋ฅธ ์ดˆ๊ธฐ ์†๋„ ๋‹น์žฅ ํ•„์š”ํ•œ ๋ฐ์ดํ„ฐ๋งŒ ๋ฐ›๊ธฐ ๋•Œ๋ฌธ์— ์›น์‚ฌ์ดํŠธ๊ฐ€ ๋œจ๋Š” ์†๋„๊ฐ€ 2๋ฐฐ ์ด์ƒ ๋นจ๋ผ์งˆ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
๐Ÿ’ธ 2. ๋ฐ์ดํ„ฐ ์ ˆ์•ฝ ๋๊นŒ์ง€ ์Šคํฌ๋กคํ•˜์ง€ ์•Š์œผ๋ฉด ์•„๋ž˜์ชฝ ์ด๋ฏธ์ง€๋Š” ๋‹ค์šด๋กœ๋“œํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. LTE/5G ๋ฐ์ดํ„ฐ ์š”๊ธˆ์„ ์•„๋‚„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
๐Ÿ”‹ 3. ๋ฐฐํ„ฐ๋ฆฌ ์ ˆ์•ฝ ์Šค๋งˆํŠธํฐ์ด ์ฒ˜๋ฆฌํ•ด์•ผ ํ•  ์ž‘์—…๋Ÿ‰์ด ์ค„์–ด๋“ค์–ด ๋ฐฐํ„ฐ๋ฆฌ ์†Œ๋ชจ๋ฅผ ์ค„์ด๋Š” ๋ฐ ๊ธฐ์—ฌํ•ฉ๋‹ˆ๋‹ค.

⚠️ ์ฃผ์˜ํ•  ์ : ๋ฌด์กฐ๊ฑด ์ข‹์€ ๊ฑด ์•„๋‹™๋‹ˆ๋‹ค!

์›น์‚ฌ์ดํŠธ์˜ ๊ฐ€์žฅ ์ƒ๋‹จ์— ์žˆ๋Š” ๋ฉ”์ธ ๋ฐฐ๋„ˆ ์ด๋ฏธ์ง€๊นŒ์ง€ ์ง€์—ฐ ๋กœ๋”ฉ์„ ์ ์šฉํ•˜๋ฉด ์˜คํžˆ๋ ค ์—ญํšจ๊ณผ๊ฐ€ ๋‚ฉ๋‹ˆ๋‹ค.
์‚ฌ์šฉ์ž๊ฐ€ ์ฒ˜์Œ ์ ‘์†ํ–ˆ์„ ๋•Œ ํ™”๋ฉด์ด ํ…… ๋น„์–ด ๋ณด์ผ ์ˆ˜ ์žˆ๊ธฐ ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค.
๊ทธ๋ž˜์„œ '์ฒซ ํ™”๋ฉด(Above the Fold)' ์ด๋ฏธ์ง€๋Š” ๋ฐ”๋กœ ๋กœ๋”ฉํ•˜๊ณ , ๊ทธ ์•„๋ž˜๋ถ€ํ„ฐ ์ง€์—ฐ ๋กœ๋”ฉ์„ ์ ์šฉํ•˜๋Š” ๊ฒƒ์ด ์ •์„์ž…๋‹ˆ๋‹ค.

✨ ์พŒ์ ํ•œ ์›น ์„œํ•‘์„ ์œ„ํ•˜์—ฌ

์ง€๊ธˆ๊นŒ์ง€ ์ด๋ฏธ์ง€ ์ง€์—ฐ ๋กœ๋”ฉ(Lazy Loading)์— ๋Œ€ํ•ด ์•Œ์•„๋ณด์•˜์Šต๋‹ˆ๋‹ค.
๊ฐ„๋‹จํžˆ ์š”์•ฝํ•˜์ž๋ฉด, ์ด ๊ธฐ์ˆ ์€ "ํ•„์š”ํ•  ๋•Œ๋งŒ ๋ณด์—ฌ์ฃผ๋Š” ๋˜‘๋˜‘ํ•œ ๋ฐฐ๋‹ฌ ์‹œ์Šคํ…œ"๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.
์‚ฌ์šฉ์ž์—๊ฒŒ๋Š” ๋น ๋ฅด๊ณ  ์พŒ์ ํ•œ ํ™˜๊ฒฝ์„ ์ œ๊ณตํ•˜๊ณ , ์„œ๋น„์Šค ์šด์˜์ž์—๊ฒŒ๋Š” ์„œ๋ฒ„ ๋น„์šฉ์„ ์ ˆ๊ฐํ•ด์ฃผ๋Š” '์œˆ-์œˆ(Win-Win)' ๊ธฐ์ˆ ์ž…๋‹ˆ๋‹ค.

์•ž์œผ๋กœ ์›น์‚ฌ์ดํŠธ๋ฅผ ์ด์šฉํ•˜๋‹ค๊ฐ€ ์Šคํฌ๋กค์„ ๋‚ด๋ฆด ๋•Œ ์ด๋ฏธ์ง€๊ฐ€ '์Šค๋ฅด๋ฅต' ๋‚˜ํƒ€๋‚˜๋Š” ํšจ๊ณผ๋ฅผ ๋ณธ๋‹ค๋ฉด,
"์•„, ๋‚ด ๋ฐ์ดํ„ฐ๋ฅผ ์•„๊ปด์ฃผ๋ ค๊ณ  ์ง€์—ฐ ๋กœ๋”ฉ์ด ์ž‘๋™ํ•˜๊ณ  ์žˆ๊ตฌ๋‚˜!"๋ผ๊ณ  ์ƒ๊ฐํ•ด์ฃผ์‹œ๋ฉด ๋ฉ๋‹ˆ๋‹ค.
์ž‘์€ ๊ธฐ์ˆ  ํ•˜๋‚˜๊ฐ€ ์šฐ๋ฆฌ์˜ ๋””์ง€ํ„ธ ๋ผ์ดํ”„๋ฅผ ๋” ๊ฐ€๋ณ๊ณ  ๋น ๋ฅด๊ฒŒ ๋งŒ๋“ค๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.

๋Œ“๊ธ€ ์“ฐ๊ธฐ