(๋ฒˆ์—ญ) ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ์›น ํ”„๋ ˆ์ž„์›Œํฌ์˜ ์ƒˆ๋กœ์šด ํ๋ฆ„

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

์›๋ฌธ: The new wave of Javascript web frameworks

์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ์ƒํƒœ๊ณ„์—์„œ ์ตœ์‹ ์„ ๋”ฐ๋ฅด๋Š” ๊ฒƒ์€ ์ƒˆ๊ฐ€์Šด๋“ค์—๋Š” ์ ํ•ฉํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

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

์—ฌ๋Ÿฌ๋ถ„์ด ๊ธฐ์ˆ ์˜ ์ตœ์ „์„ ์— ์žˆ๋‹ค๋ฉด, ๋ณดํ†ต ์—ฌ๋Ÿฌ๋ถ„์ด ๊ฐ€์žฅ ๋งŽ์€ ํฌ์ƒ์„ ๊ฐ์ˆ˜ํ•˜๋Š” ์„ ๋ฐœ์ฃผ์ž์ธ ๊ฒƒ์„ ์•„๋Š” ๊ฒŒ ์ข‹์Šต๋‹ˆ๋‹ค. ์—ฌ๋Ÿฌ๋ถ„์—๊ฒŒ ์ต์ˆ™ํ•œ โ€œ๊ตฌ์‹โ€ ๊ธฐ์ˆ ์„ ๊ธฐ๋ณธ์œผ๋กœ ํ•˜๊ณ , ์ƒˆ๋กœ์šด ๊ธฐ์ˆ ์— ๋Œ€ํ•ด ๋Šฆ์€ ์ฑ„ํƒ์ž๊ฐ€ ๋˜๋Š” ๊ฒƒ์ด ํ›Œ๋ฅญํ•œ ์„ ํƒ์ผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๊ทธ๋ ‡๋”๋ผ๋„, ์ด ํฌ์ŠคํŠธ๋Š” ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ์ƒํƒœ๊ณ„์—์„œ ํ”„๋ ˆ์ž„์›Œํฌ์˜ ์ตœ์ „์„ ์— ๋Œ€ํ•ด์„œ ๋น ๋ฅด๊ฒŒ ์•Œ๋ ค์ค„ ๊ฒƒ์ž…๋‹ˆ๋‹ค.

์šฐ๋ฆฌ๋Š” ๋Œ€๊ทœ๋ชจ ์›น ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ๋งŒ๋“ค ๋•Œ ๊ณผ๊ฑฐ์˜ ๋ฌธ์ œ์ ๋“ค์„ ์‚ดํŽด๋ณด๋ฉด์„œ ํ˜„์žฌ ์ƒํ™ฉ์„ ์ดํ•ดํ•  ๊ฒƒ์ž…๋‹ˆ๋‹ค.

์†”๋ฃจ์…˜์˜ ํ™•์‚ฐ์— ์ดˆ์ ์„ ๋งž์ถ”๊ธฐ๋ณด๋‹ค๋Š” ๊ทผ๋ณธ์ ์ธ ๋ฌธ์ œ์— ๋Œ€ํ•ด์„œ ์ž์„ธํžˆ ์•Œ์•„๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค. ๊ฐ ํ”„๋ ˆ์ž„์›Œํฌ๋Š” ์„œ๋กœ ๋‹ค๋ฅธ ํ•ด๊ฒฐ๋ฐฉ์•ˆ๊ณผ ์„œ๋กœ ๋‹ค๋ฅธ ์žฅ๋‹จ์ ์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.

๊ฒฐ๊ตญ ์šฐ๋ฆฌ๋Š” React, Svelte, Vue, Solid, Astro, Marko, Fresh, Next, Remix, Qwik ๋ฐ ์˜ค๋Š˜๋‚ ์˜ ํ™˜๊ฒฝ์— ๋งž๋Š” โ€œ๋ฉ”ํƒ€ ํ”„๋ ˆ์ž„์›Œํฌโ€์™€ ๊ฐ™์€ ์ธ๊ธฐ ํ”„๋ ˆ์ž„์›Œํฌ์˜ ์ƒ์œ„ ์ˆ˜์ค€ ๋ชจ๋ธ์„ ์ดํ•ดํ•  ๊ฒƒ์ž…๋‹ˆ๋‹ค.

ํ˜„์žฌ๋ฅผ ์ดํ•ดํ•˜๊ธฐ ์œ„ํ•ด์„œ ๊ณผ๊ฑฐ๋ฅผ ์ดํ•ดํ•˜๋Š” ๊ฒƒ์€ ๋„์›€์ด ๋ฉ๋‹ˆ๋‹ค. ๋ฏธ๋ž˜๋ฅผ ๋ณด๊ธฐ ์œ„ํ•ด ๊ธฐ์–ต์„ ๋”ฐ๋ผ ๊ณผ๊ฑฐ๋ถ€ํ„ฐ ์ฐจ๊ทผ์ฐจ๊ทผ ์‚ดํŽด๋ณด๋ฉฐ ์‹œ์ž‘ํ•ด๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค.

์ด์ „์— ์ด์•ผ๊ธฐ ํ–ˆ์ง€๋งŒ, ์ด๋ฒˆ์—๋Š” ๋Œ€์•ˆ์ ์ธ ์ ‘๊ทผ ๋ฐฉ์‹๊ณผ ์‚ฌ๊ณ ๋ฐฉ์‹์„ ์ด‰๋ฐœํ•œ ๋” ํฐ ํ”„๋กœ์ ํŠธ์˜ ๋ฌธ์ œ์— ์ดˆ์ ์„ ๋งž์ถฐ๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค.

์›นํŽ˜์ด์ง€์˜ ๊ฐ„๋žตํ•œ ์—ญ์‚ฌ

์›น์€ ํ•จ๊ป˜ ์—ฐ๊ฒฐ๋œ ์ •์  ๋ฌธ์„œ๋กœ ์‹œ์ž‘๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ๋ˆ„๊ตฐ๊ฐ€ ๋ฏธ๋ฆฌ ๋ฌธ์„œ๋ฅผ ์ค€๋น„ํ•˜๊ณ  ๊ทธ๊ฒƒ์„ ์ปดํ“จํ„ฐ์— ์˜ฌ๋ ค๋†“์„ ์ˆ˜ ์žˆ์—ˆ์Šต๋‹ˆ๋‹ค.

์ด์ œ ๋ฉ‹์ง„ ์ ์€ ๋‹ค๋ฅธ ์‚ฌ๋žŒ์ด ๋ฌผ๋ฆฌ์ ์ธ ์œ„์น˜๋ฅผ ์ด๋™ํ•˜์ง€ ์•Š๊ณ ๋„ ๊ทธ๊ฒƒ์— ์ ‘๊ทผํ•  ์ˆ˜ ์žˆ๋‹ค๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. ์ด๊ฒƒ์€ ๊ฝค ๊น”๋”ํ–ˆ์Šต๋‹ˆ๋‹ค.

์–ด๋Š ์ˆœ๊ฐ„, ์šฐ๋ฆฌ๋Š” ์ด ๋ฌธ์„œ๋“ค์„ ๋™์ ์œผ๋กœ ๋งŒ๋“œ๋Š” ๊ฒƒ์ด ๋ฉ‹์ง€๊ฒ ๋‹ค๊ณ  ์ƒ๊ฐํ–ˆ์Šต๋‹ˆ๋‹ค.

์šฐ๋ฆฌ๋Š” ์š”์ฒญ์— ๋”ฐ๋ผ ๋‹ค๋ฅธ ์ฝ˜ํ…์ธ ๋ฅผ ์ œ๊ณตํ•  ์ˆ˜ ์žˆ๋Š” CGI์™€ ๊ฐ™์€ ๊ธฐ์ˆ ์„ ์–ป์—ˆ์Šต๋‹ˆ๋‹ค.

๊ทธ ๋‹ค์Œ Perl๊ณผ ๊ฐ™์€ ํ‘œํ˜„ํ˜• ์–ธ์–ด๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์Šคํฌ๋ฆฝํŠธ๋ฅผ ์ž‘์„ฑํ–ˆ์Šต๋‹ˆ๋‹ค. ์ด๊ฒƒ์€ ๋ช…์‹œ์ ์œผ๋กœ ์›น์„ ์œ„ํ•ด ๊ตฌ์ถ•๋œ ์ฒซ ๋ฒˆ์งธ ์–ธ์–ด์ธ PHP์— ์˜ํ–ฅ์„ ๋ฏธ์ณค์Šต๋‹ˆ๋‹ค.

PHP์˜ ๋ฉ‹์ง„ ํ˜์‹ ์€ HTML์„ ๋ฐฑ์—”๋“œ ์ฝ”๋“œ์— ์ง์ ‘ ์—ฐ๊ฒฐํ•˜๋Š” ๊ฒƒ์ด์—ˆ์Šต๋‹ˆ๋‹ค. ๋™์ ์ธ ๊ฐ’์„ ํฌํ•จํ•˜๋Š” ๋ฌธ์„œ๋ฅผ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ๋ฐฉ์‹์œผ๋กœ ์‰ฝ๊ฒŒ ๋งŒ๋“ค ์ˆ˜ ์žˆ๋„๋ก ํ–ˆ์Šต๋‹ˆ๋‹ค.

์›น์˜ ๊ฐ€์žฅ ์ค‘์š”ํ•œ ํ˜์‹  ์ค‘ ํ•˜๋‚˜๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.

<html>
  <body>
    ์ด ๋ฌธ์„œ๋Š” ๋ฏธ๋ฆฌ ์ค€๋น„๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค.
  </body>
</html>

๋™์ ์ธ ๊ฐ’์„ ์‰ฝ๊ฒŒ ํฌํ•จํ•  ์ˆ˜ ์žˆ๊ฒŒ ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

<html>
  <body>
    Y2K?
    <?php echo time(); ?>
  </body>
</html>

ํŒ๋„๋ผ์˜ ์ƒ์ž๊ฐ€ ์—ด๋ ธ์Šต๋‹ˆ๋‹ค

์ด๋Ÿฌํ•œ ๋™์ ์ธ ํŽ˜์ด์ง€๋Š” ํžˆํŠธ๋ฅผ ์ณค์Šต๋‹ˆ๋‹ค. ์ด์ œ ์„ธ์…˜์„ ๊ฐ€๋Šฅํ•˜๊ฒŒ ํ•˜๋Š” ์ฟ ํ‚ค ๋ฟ๋งŒ ์•„๋‹ˆ๋ผ ์‚ฌ์šฉ์ž์—๊ฒŒ ๋ณด๋‚ธ ๋‚ด์šฉ์„ ์‰ฝ๊ฒŒ ์ปค์Šคํ„ฐ๋งˆ์ด์ฆˆ ํ•  ์ˆ˜ ์žˆ๊ฒŒ ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

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

์›น์€ ๋น ๋ฅด๊ฒŒ ์ง„ํ™”ํ•˜๊ณ  ์žˆ์—ˆ๊ณ , ์šฐ๋ฆฌ๋Š” ๋” ๋งŽ์€ ์ƒํ˜ธ์ž‘์šฉ ๊ฒฝํ—˜์„ ์›ํ–ˆ์Šต๋‹ˆ๋‹ค. ์ด๋ฅผ ์œ„ํ•ด Flash์™€ ๊ฐ™์€ ๋ธŒ๋ผ์šฐ์ € ํ”Œ๋Ÿฌ๊ทธ์ธ์„ ํ™œ์šฉํ–ˆ์Šต๋‹ˆ๋‹ค. ์ด๋ฐ–์— ๋‹ค๋ฅธ ๊ฒฝ์šฐ์— ์šฐ๋ฆฌ๋Š” ๋ฐฑ์—”๋“œ์—์„œ ์ œ๊ณต๋˜๋Š” HTML ์œ„์— ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ์กฐ๊ฐ์„ โ€œ๋ฟŒ๋ฆฌ๊ณคโ€ํ–ˆ์Šต๋‹ˆ๋‹ค.

jQuery๋‚˜ Prototype๊ณผ ๊ฐ™์€ ๋„๊ตฌ๋“ค์€ ์›น API์˜ ๋‹ค๋“ฌ์–ด์ง€์ง€ ์•Š์€ ๋ถ€๋ถ„๋“ค์„ ๋งค๋„๋Ÿฝ๊ฒŒ ํ•˜๊ณ , ๊ฒฝ์Ÿ์ ์ธ ๋ธŒ๋ผ์šฐ์ €๋“ค์˜ ๋‹จ์ ์„ ๋ณด์™„ํ•˜์˜€์Šต๋‹ˆ๋‹ค.

๋น ๋ฅด๊ณ  ๊ฐ„๋žตํ•˜๊ฒŒ ์ •๋ฆฌํ•˜์ž๋ฉด, ๊ธฐ์ˆ  ํšŒ์‚ฌ๋“ค์€ ์ ์  ์ปค์ง€๊ณ  ์žˆ์—ˆ๊ณ , ํ”„๋กœ์ ํŠธ์™€ ํŒ€์ด ์„ฑ์žฅํ•จ์— ๋”ฐ๋ผ ๋” ๋งŽ์€ ๋น„์ฆˆ๋‹ˆ์Šค ๋กœ์ง๋“ค์ด ์ด๋Ÿฌํ•œ ํ…œํ”Œ๋ฆฟ์— ์นจํˆฌํ•˜๋Š” ๊ฒƒ์ด ์ผ๋ฐ˜์ ์ด์—ˆ์Šต๋‹ˆ๋‹ค.

์„œ๋ฒ„ ์ฝ”๋“œ๋Š” ๋ฐ์ดํ„ฐ๋ฅผ ์„œ๋ฒ„ ํ…œํ”Œ๋ฆฟ ์–ธ์–ด๋กœ ์ฃผ๋ฌด๋ฅด๊ธฐ ์œ„ํ•ด ์ž‘์„ฑ๋˜๊ณ  ์žˆ์—ˆ์Šต๋‹ˆ๋‹ค. ํ…œํ”Œ๋ฆฟ์€ ์ข…์ข… ๊ธ€๋กœ๋ฒŒ ๋ณ€์ˆ˜์— ์ ‘๊ทผํ•˜๋Š” ๋น„์ฆˆ๋‹ˆ์Šค ๋กœ์ง์˜ ๋’ค์ฃฝ๋ฐ•์ฃฝ ํ•œ ํ˜•ํƒœ๋กœ ์ง„ํ™”ํ–ˆ์Šต๋‹ˆ๋‹ค. SQL ์ฃผ์ž…๊ณผ ๊ฐ™์€ ๊ณต๊ฒฉ์ด ์ผ์ƒํ™”๋˜๋ฉด์„œ ๋ณด์•ˆ ๋ฌธ์ œ๊ฐ€ ๋Œ€๋‘๋˜๊ณ  ์žˆ์—ˆ์Šต๋‹ˆ๋‹ค.

๊ฒฐ๊ตญ ์šฐ๋ฆฌ๋Š” โ€œAjax ์›น ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์— ๋Œ€ํ•œ ์ƒˆ๋กœ์šด ์ ‘๊ทผ๋ฒ•โ€์„ ์–ป์—ˆ์Šต๋‹ˆ๋‹ค.

์ด์ œ ๋™๊ธฐ์‹ ์ƒˆ๋กœ๊ณ ์นจ ๋Œ€์‹  ๋น„๋™๊ธฐ์‹ ํŽ˜์ด์ง€๋ฅผ ์—…๋ฐ์ดํŠธํ•  ์ˆ˜ ์žˆ๊ฒŒ ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

์ด ํŒจํ„ด์€ Google maps๋‚˜ Google docs์™€ ๊ฐ™์€ ์ตœ์ดˆ์˜ ๊ฑฐ๋Œ€ํ•œ ํด๋ผ์ด์–ธํŠธ ์‚ฌ์ด๋“œ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์— ์˜ํ•ด ๋Œ€์ค‘ํ™”๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

์šฐ๋ฆฌ๋Š” ๋ฐ์Šคํฌํ†ฑ ์Šคํƒ€์ผ์˜ ์†Œํ”„ํŠธ์›จ์–ด๋ฅผ ์œ„ํ•œ ์›น ๋ฐฐํฌ์˜ ํž˜์„ ๋ณด๊ธฐ ์‹œ์ž‘ํ–ˆ์Šต๋‹ˆ๋‹ค. ์ด๊ฒƒ์€ CD ํ˜•ํƒœ์˜ ์†Œํ”„ํŠธ์›จ์–ด๋ฅผ ๊ตฌ์ž…ํ•˜๋Š” ๊ฒƒ๊ณผ ๋น„๊ตํ–ˆ์„ ๋•Œ, ์ƒ๋‹นํ•œ ์ง„์ „์ด์—ˆ์Šต๋‹ˆ๋‹ค.

์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ๊ฐ€ ๊ฑฐ๋Œ€ํ•ด์กŒ์Šต๋‹ˆ๋‹ค

๋…ธ๋“œ๊ฐ€ ๋“ฑ์žฅํ–ˆ์„ ๋•Œ, ๊ทธ๊ฒƒ์ด ๊ฐ€์ ธ์˜จ ์ƒˆ๋กœ์šด ๊ฒƒ์€ ํ”„๋ŸฐํŠธ์—”๋“œ์™€ ๋™์ผํ•œ ์–ธ์–ด๋กœ ๋ฐฑ์—”๋“œ๋ฅผ ์ž‘์„ฑํ•  ์ˆ˜ ์žˆ๋‹ค๋Š” ๊ฒƒ์ด์—ˆ์Šต๋‹ˆ๋‹ค. ๋น„๋™๊ธฐ ์šฐ์„  ๋ชจ๋ธ ๊ฐœ๋ฐœ์ž ๋ชจ๋‘๋Š” ๊ทธ๊ฒƒ์— ์ต์ˆ™ํ–ˆ์Šต๋‹ˆ๋‹ค.

๋…ธ๋“œ๋Š” (๊ทธ๋ฆฌ๊ณ  ์ง€๊ธˆ๋„)๋งค๋ ฅ์ ์ด์—ˆ์Šต๋‹ˆ๋‹ค. ๋” ๋งŽ์€ ๊ธฐ์—…์ด ์˜จ๋ผ์ธ์œผ๋กœ ์ „ํ™˜๋˜๋ฉด์„œ ๊ฒฝ์Ÿ ์šฐ์œ„๋Š” ๋น ๋ฅด๊ฒŒ ๋ฐฐ์†กํ•˜๊ณ  ๊ทธ๊ฒƒ์„ ๋ฐ˜๋ณตํ•˜๋Š” ๊ฒƒ์ด ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

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

ํ”„๋ŸฐํŠธ์—”๋“œ์™€ ๋ฐฑ์—”๋“œ์˜ ๋ถ„๋ฆฌ

๋ฐ์Šคํฌํ†ฑ๊ณผ ๋ชจ๋ฐ”์ผ์— ํ•„์ ํ•  ์ˆ˜ ์žˆ๋Š” ์›น์— ๋Œ€ํ•œ ์šฐ๋ฆฌ์˜ ์š•๊ตฌ๋Š” ๊ณ„์† ์ปค์กŒ์Šต๋‹ˆ๋‹ค. jQuery UI, Dojo, Mootools, ExtJs ๋ฐ YUI ๊ฐ™์€ ์žฌ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•œ โ€œ์œ„์ ฏโ€ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์™€ ์œ ํ‹ธ๋ฆฌํ‹ฐ์˜ ๋ชจ์Œ์ด ์žˆ์—ˆ์Šต๋‹ˆ๋‹ค.

์šฐ๋ฆฐ ์ด๋Ÿฐ ์กฐ๊ฐ์„ ๋„ˆ๋ฌด ๋งŽ์ด ๋ฟŒ๋ฆฌ๊ณ  ์žˆ์—ˆ๊ณ , ํ”„๋ŸฐํŠธ์—”๋“œ์—์„œ๋Š” ๋” ๋งŽ์€ ๊ฒƒ์„ ํ•˜๊ณ  ์žˆ์—ˆ์Šต๋‹ˆ๋‹ค. ์ด์— ๋”ฐ๋ผ ์ข…์ข… ํ”„๋ŸฐํŠธ์—”๋“œ์™€ ๋ฐฑ์—”๋“œ ์‚ฌ์ด์—์„œ ํ…œํ”Œ๋ฆฟ์ด ์ค‘๋ณต๋˜๋Š” ๊ฒฝ์šฐ๊ฐ€ ๋ฐœ์ƒํ–ˆ์Šต๋‹ˆ๋‹ค.

Backbone ์ด๋‚˜ Knockout ๋ฐ ๋งŽ์€ ๋‹ค๋ฅธ ํ”„๋ ˆ์ž„์›Œํฌ๋“ค์ด ๋“ฑ์žฅํ–ˆ์Šต๋‹ˆ๋‹ค. ์ด๋“ค์€ MVC, MVVM๋“ฑ์˜ ์•„ํ‚คํ…์ฒ˜๋ฅผ ํ†ตํ•ด ํ”„๋ŸฐํŠธ์—”๋“œ์˜ ๊ด€์‹ฌ์‚ฌ๋ฅผ ๋ถ„๋ฆฌํ•˜์˜€๊ณ , jQuery ํ”Œ๋Ÿฌ๊ทธ์ธ ๋ฐ ๋ชจ๋“  ์œ„์ ฏ ๋“ค๊ณผ ํ˜ธํ™˜๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

๊ตฌ์กฐ๋ฅผ ์ถ”๊ฐ€ํ•˜๋Š” ๊ฒƒ์€ ํ”„๋ŸฐํŠธ์—”๋“œ ์ฝ”๋“œ๋ฅผ ํ™•์žฅํ•˜๋Š” ๋ฐ ๋„์›€์ด ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ๋˜ํ•œ ๋ฐฑ์—”๋“œ๋กœ๋ถ€ํ„ฐ ํ…œํ”Œ๋ฆฟ ์ด๋™์„ ๊ฐ€์†ํ–ˆ์Šต๋‹ˆ๋‹ค.

ํ•˜์ง€๋งŒ ์—ฌ์ „ํžˆ ํŽ˜์ด์ง€๋ฅผ ์—…๋ฐ์ดํŠธํ•˜๊ณ  ์ปดํฌ๋„ŒํŠธ๋ฅผ ๋™๊ธฐํ™”ํ•˜๊ธฐ ์œ„ํ•ด์„œ ๋ฏธ์„ธ ์กฐ์ •๋œ DOM์„ ์กฐ์ž‘ํ•˜๊ณ  ์žˆ์—ˆ์Šต๋‹ˆ๋‹ค. ๋ฐ์ดํ„ฐ ๋™๊ธฐํ™”์— ๊ด€๋ จ๋œ ๋ฒ„๊ทธ๋Š” ์ž์ฃผ ๋ฐœ์ƒํ–ˆ๊ณ  ์ด ๋ฌธ์ œ๋Š” ์‚ฌ์†Œํ•˜์ง€ ์•Š์•˜์Šต๋‹ˆ๋‹ค.

์ด๋•Œ, ๊ตฌ๊ธ€์˜ ์ง€์›์„ ๋ฐ›์€ Angular๊ฐ€ ๋“ฑ์žฅํ•˜์˜€์Šต๋‹ˆ๋‹ค. Angular๋Š” HTML์„ ๋™์ ์œผ๋กœ ์ž‘๋™์‹œ์ผœ ์ƒ์‚ฐ์„ฑ ํ–ฅ์ƒ์„ ๋„๋ชจํ•˜์˜€์Šต๋‹ˆ๋‹ค. ๊ทธ๊ฒƒ์€ ์Šคํ”„๋ ˆ๋“œ์‹œํŠธ์—์„œ ์˜๊ฐ์„ ๋ฐ›์€ ๋ฐ˜์‘ํ˜• ์‹œ์Šคํ…œ๊ณผ ํ•จ๊ป˜ ์–‘๋ฐฉํ–ฅ ๋ฐ์ดํ„ฐ ๋ฐ”์ธ๋”ฉ์„ ์ œ๊ณตํ•˜์˜€์Šต๋‹ˆ๋‹ค.

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

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

๋ชจ๋ฐ”์ผ์˜ ๋ถ€์ƒ ์™ธ์—๋„ ์ด๋Ÿฌํ•œ ์ƒ์‚ฐ์„ฑ์„ ๋Œ์–ด์˜ฌ๋ฆฌ๋Š” ํ”„๋ ˆ์ž„์›Œํฌ๋Š” ํ”„๋ŸฐํŠธ์—”๋“œ์™€ ๋ฐฑ์—”๋“œ์˜ ๋ถ„๋ฆฌ๋ฅผ ๊ฐ€์†ํ–ˆ์Šต๋‹ˆ๋‹ค.

์ด๋ฅผ ํ†ตํ•ด, ํ”„๋ŸฐํŠธ์—”๋“œ์™€ ๋ฐฑ์—”๋“œ์˜ ๋ถ„๋ฆฌ๋ฅผ ๊ฐ•์กฐํ•˜๋Š” ๋‹ค์–‘ํ•œ ์•„ํ‚คํ…์ฒ˜๋ฅผ ํƒ์ƒ‰ํ•  ์ˆ˜ ์žˆ๋Š” ๊ธธ์„ ์—ด์—ˆ์Šต๋‹ˆ๋‹ค.

์ด๊ฒƒ์€ HTML์„ ๋ฏธ๋ฆฌ ๋งŒ๋“ค์–ด CDN์—์„œ ์„œ๋น„์Šคํ•˜๋Š” ๊ฒƒ์„ ๊ฐ•์กฐํ•˜๋Š” Jamstack ์ฒ ํ•™์˜ ์ฃผ์š” ๋ถ€๋ถ„์ด์—ˆ์Šต๋‹ˆ๋‹ค.

๊ทธ ๋‹น์‹œ, Jamstack์€ ์ •์  ๋ฌธ์„œ๋ฅผ ์ œ๊ณตํ•˜๋Š” ๊ฒƒ๊ณผ ๋น„์Šทํ–ˆ์Šต๋‹ˆ๋‹ค.

๊ทธ๋Ÿฌ๋‚˜ ์ด์ œ๋Š” Git ๊ธฐ๋ฐ˜์˜ ์›Œํฌํ”Œ๋กœ์šฐ, ๋ฉ€๋ฆฌ ๋–จ์–ด์ง„ ์ค‘์•™ ์ง‘์ค‘์‹ ์„œ๋ฒ„์— ์˜์กดํ•˜์ง€ ์•Š๋Š” ๊ฐ•๋ ฅํ•œ CDN ์ธํ”„๋ผ, ๋ถ„๋ฆฌ๋œ ํ”„๋ŸฐํŠธ์—”๋“œ์™€ ํ†ต์‹ ํ•˜๋Š” ๋…๋ฆฝ๋œ API๋“ค์„ ๊ฐ–์ถ”๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. CDN์˜ ์ •์  ์ž์‚ฐ์„ ์ฒ˜ํ‚น(Chucking)ํ•˜๋Š” ๊ฒƒ์€ ์„œ๋ฒ„๋ฅผ ์šด์˜ํ•˜๋Š” ๊ฒƒ๋ณด๋‹ค ์šด์˜ ๋น„์šฉ์ด ํ›จ์”ฌ ์ €๋ ดํ–ˆ์Šต๋‹ˆ๋‹ค.

์˜ค๋Š˜๋‚  Gatsby, Next ๋“ฑ ๋งŽ์€ ๋‹ค๋ฅธ ํˆด๋“ค์ด ์ด๋Ÿฌํ•œ ์•„์ด๋””์–ด๋ฅผ ํ™œ์šฉํ•ฉ๋‹ˆ๋‹ค.

React์˜ ๋ถ€์ƒ

์‹œ๊ณ„ํƒœ์—ฝ์„ ๋Œ๋ ค ์šฐ๋ฆฌ๋Š” ๋น… ํ…Œํฌ ์‹œ๋Œ€๋ฅผ ํ–ฅํ•ด ๋น ๋ฅด๊ฒŒ ์ง„์ž…ํ–ˆ์Šต๋‹ˆ๋‹ค. ์šฐ๋ฆฌ๋Š” ๊ธฐ๋ฏผํ•˜๊ฒŒ ์›€์ง์ด๊ณ  ํŒ์„ ๋’ค์—Ž๊ธฐ ์œ„ํ•ด ๋…ธ๋ ฅํ•˜์˜€์Šต๋‹ˆ๋‹ค.

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

React๊ฐ€ ํŽ˜์ด์Šค๋ถ์—์„œ ํƒ„์ƒํ•˜๊ฒŒ ๋œ ๋ช‡ ๊ฐ€์ง€ ๊ณผ์ œ๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.

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

React๊ฐ€ ๋“ฑ์žฅํ•˜๋ฉด์„œ ์—ฌ๋Ÿฌ๋ถ„์ด ํ•  ์ˆ˜ ์žˆ๊ฒŒ ๋œ ์ƒˆ๋กœ์šด ๊ฒƒ์€ ์„ ์–ธ์ ์œผ๋กœ ํ”„๋ŸฐํŠธ์—”๋“œ ์ฝ”๋“œ๋ฅผ ์“ฐ๋Š” ๊ฒƒ์ด์—ˆ์Šต๋‹ˆ๋‹ค.

MVC ํ”„๋ ˆ์ž„์›Œํฌ๊ฐ€ ํ™•์žฅ๋˜์ง€ ์•Š์•˜๋˜ ํ”„๋ŸฐํŠธ์—”๋“œ์— ๋Œ€ํ•œ ์šฐ๋ ค์˜ ๋ถ„๋ฆฌ๋ฅผ ๋‹ค์‹œ ์ƒ๊ฐํ•˜๊ฒŒ ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

ํ…œํ”Œ๋ฆฟ์—์„œ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ๊ธฐ๋ฐ˜์˜ JSX๋กœ ์ „ํ™˜ํ•˜๋Š” ๊ฒƒ์€ ์ฒ˜์Œ์—๋Š” ์‰ฝ์ง€ ์•Š์•˜์Šต๋‹ˆ๋‹ค. ํ•˜์ง€๋งŒ ๋Œ€๋ถ€๋ถ„์€ ๊ทธ๋ ‡๊ฒŒ ํ–ˆ์Šต๋‹ˆ๋‹ค.

์ปดํฌ๋„ŒํŠธ ๋ชจ๋ธ์€ ๋…๋ฆฝ์ ์ธ ์ปดํฌ๋„ŒํŠธ๋“ค์„ ๋ณ‘๋ ฌ๋กœ ๋ณด๋‹ค ๋” ์‰ฝ๊ฒŒ ์ž‘์—…ํ•  ์ˆ˜ ์žˆ๋Š” ๋ณ„๋„์˜ ํ”„๋ŸฐํŠธ์—”๋“œ ํŒ€์„ ๋ถ„๋ฆฌํ•  ์ˆ˜ ์žˆ๊ฒŒ ํ–ˆ์Šต๋‹ˆ๋‹ค.

์•„ํ‚คํ…์ฒ˜ ๊ด€์ ์—์„œ ์ปดํฌ๋„ŒํŠธ ๋ชจ๋ธ์€ ๊ณต์œ ๋œ ๊ธฐ๋ณธ ์š”์†Œ(primitives)๋ถ€ํ„ฐ ํŽ˜์ด์ง€์˜ ๋ฟŒ๋ฆฌ๊นŒ์ง€ ๊ตฌ์„ฑ๋œ โ€œ์œ ๊ธฐ์ฒด(organisms)โ€œ๊นŒ์ง€ ์ปดํฌ๋„ŒํŠธ์˜ ๊ณ„์ธตํ™”๋ฅผ ํ—ˆ์šฉํ–ˆ์Šต๋‹ˆ๋‹ค.

๋‹จ๋ฐฉํ–ฅ ๋ฐ์ดํ„ฐ ํ๋ฆ„์€ ๋ฐ์ดํ„ฐ ํ๋ฆ„์„ ์ดํ•ดํ•˜๊ณ  ์ถ”์ ํ•˜๊ณ  ๋””๋ฒ„๊ทธํ•˜๊ธฐ ์‰ฝ๊ฒŒ ๋งŒ๋“ค์—ˆ์Šต๋‹ˆ๋‹ค. ์ด์ „์—๋Š” ์ฐพ์•„๋ณด๊ธฐ ํž˜๋“ค์—ˆ๋˜ ์˜ˆ์ธก ๊ฐ€๋Šฅ์„ฑ์ด ์ถ”๊ฐ€๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

๊ฐ€์ƒ DOM์€ UI์— ๋Œ€ํ•œ ์„ค๋ช…์„ ๋ฐ˜ํ™˜ํ•˜๋Š” ํ•จ์ˆ˜๋ฅผ ์ž‘์„ฑํ•˜๊ณ , React๊ฐ€ ์–ด๋ ค์šด ๋ถ€๋ถ„์„(hard bits)๋ฅผ ํŒŒ์•…ํ•˜๋„๋ก ํ•  ์ˆ˜ ์žˆ์Œ์„ ์˜๋ฏธํ–ˆ์Šต๋‹ˆ๋‹ค.

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

๋Œ€๊ทœ๋ชจ ํ™˜๊ฒฝ์—์„œ์˜ React - CPU ๋ฐ ๋„คํŠธ์›Œํฌ ํ•œ๊ณ„์— ๋„๋‹ฌ

์‹œ๊ณ„ํƒœ์—ฝ์„ ๋” ๋น ๋ฅด๊ฒŒ ๊ฐ์•„๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค. React๋Š” ํžˆํŠธํ–ˆ๊ณ , ์—…๊ณ„ ํ‘œ์ค€์ด ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ์‹ฌ์ง€์–ด๋Š” ์„ฑ๋Šฅ์ด ํ•„์š”ํ•˜์ง€ ์•Š์€ ์‚ฌ์ดํŠธ์—๋„ ๋งˆ์ฐฌ๊ฐ€์ง€์˜€์Šต๋‹ˆ๋‹ค. ๊ทœ๋ชจ๊ฐ€ ์ปค์ง์— ๋”ฐ๋ผ์„œ ์šฐ๋ฆฌ๋Š” ๋ช‡ ๊ฐ€์ง€ ํ•œ๊ณ„์ ์„ ๋ณด๊ธฐ ์‹œ์ž‘ํ–ˆ์Šต๋‹ˆ๋‹ค.

CPU์— ๋Œ€ํ•œ ์‹คํ–‰

DOM์€ React์˜ ๋ชจ๋ธ์˜ ๋ฌธ์ œ์˜€์Šต๋‹ˆ๋‹ค. ๋ธŒ๋ผ์šฐ์ €๋Š” ์—ฐ์†์ ์ธ ๋ Œ๋”๋ง ์ฃผ๊ธฐ์—์„œ DOM ๋…ธ๋“œ๋ฅผ ์ง€์†ํ•ด์„œ ์ƒ์„ฑํ•˜๊ณ  ํŒŒ๊ดดํ•˜๋„๋ก ์„ค๊ณ„๋˜์ง€ ์•Š์•˜์Šต๋‹ˆ๋‹ค.

์ƒˆ๋กœ์šด ์ˆ˜์ค€์˜ ๊ฐ„์ ‘ ์ฐธ์กฐ๋ฅผ ๋„์ž…ํ•˜์—ฌ ํ•ด๊ฒฐํ•  ์ˆ˜ ์žˆ๋Š” ๋ชจ๋“  ๋ฌธ์ œ์™€ ๋งˆ์ฐฌ๊ฐ€์ง€๋กœ React๋Š” ๊ฐ€์ƒ DOM ๋’ค์— ์ถ”์ƒํ™”ํ–ˆ์Šต๋‹ˆ๋‹ค.

๋งค๋„๋Ÿฝ๊ฒŒ ๋Š๊ปด์ง€๋ ค๋ฉด ์‚ฌ๋žŒ๋“ค์€ 100ms ์ดํ•˜์˜ ํ”ผ๋“œ๋ฐฑ์„ ์ธ์‹ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์Šคํฌ๋กค๊ณผ ๊ฐ™์€ ์ž‘์—…์„ ์ˆ˜ํ–‰ํ•  ๋•Œ๋Š” ํ›จ์”ฌ ๋” ๋‚ฎ์Šต๋‹ˆ๋‹ค.

์ด๋Ÿฌํ•œ ์ตœ์ ํ™”๋Š” ๋‹จ์ผ ์Šค๋ ˆ๋“œ ํ™˜๊ฒฝ๊ณผ ๊ฒฐํ•ฉํ•˜์—ฌ ๋Œ€ํ™”ํ˜• ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์˜ ์ƒˆ๋กœ์šด ๋ณ‘๋ชฉ ํ˜„์ƒ์ด ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

๊ฐ€์ƒ DOM๊ณผ ์‹ค์ œ DOM ๊ฐ„์˜ ์กฐ์ •์ด ์ผ์–ด๋‚˜๋Š” ๋™์•ˆ ๋Œ€๊ทœ๋ชจ์˜ ๋Œ€ํ™”ํ˜• ์•ฑ์€ ์‚ฌ์šฉ์ž ์ž…๋ ฅ์— ๋ฐ˜์‘ํ•˜์ง€ ์•Š๊ฒŒ ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. Long task์™€ ๊ฐ™์€ ์šฉ์–ด๊ฐ€ ๋“ฑ์žฅํ•˜๊ธฐ ์‹œ์ž‘ํ–ˆ์Šต๋‹ˆ๋‹ค.

์ด์— ๋”ฐ๋ผ 2017๋…„์— ๋™์‹œ(concurrent) ๋ชจ๋“œ๋ฅผ ์œ„ํ•œ ๊ธฐ๋ฐ˜์ด ํฌํ•จ๋œ React์˜ ์ „์ฒด์ ์ธ ์žฌ์ž‘์„ฑ์ด ์ด๋ฃจ์–ด์กŒ์Šต๋‹ˆ๋‹ค.

๋Ÿฐํƒ€์ž„ ๋น„์šฉ์˜ ์ฆ๊ฐ€

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

์šฐ๋ฆฌ๋Š” HTML๊ณผ ๊ฐ€์ƒ DOM ๋ฟ๋งŒ ์•„๋‹ˆ๋ผ CSS๋ฅผ ์ž‘์„ฑํ•˜๋Š” ๋ฐฉ๋ฒ•์œผ๋กœ ๋ชจ๋“  ์•”๋ฌต์ ์ธ ๋Ÿฐํƒ€์ž„ ๋น„์šฉ์— ์ฃผ๋ชฉํ•˜๊ธฐ ์‹œ์ž‘ํ–ˆ์Šต๋‹ˆ๋‹ค.

์ปดํฌ๋„ŒํŠธ ๋ชจ๋ธ์€ CSS์— ๋Œ€ํ•œ ์šฐ๋ฆฌ์˜ ๊ฒฝํ—˜์„ ๋ถ€๋“œ๋Ÿฝ๊ฒŒ ํ–ˆ์Šต๋‹ˆ๋‹ค. ์Šคํƒ€์ผ์„ ์ปดํฌ๋„ŒํŠธ์™€ ํ•จ๊ป˜ ์œ„์น˜ํ•  ์ˆ˜ ์žˆ๊ฒŒ ํ•˜์—ฌ ์‚ญ์ œ ๊ฐ€๋Šฅ์„ฑ์„ ํ–ฅ์ƒํ–ˆ์Šต๋‹ˆ๋‹ค. ์ด์ „์— CSS ์ฝ”๋“œ๋ฅผ ์‚ญ์ œํ•˜๋Š” ๊ฒƒ์„ ๋‘๋ ค์›Œํ–ˆ๋˜ ๋ชจ๋“  ์‚ฌ๋žŒ๋“ค์—๊ฒŒ ํ™˜์ƒ์ ์ธ ํŠน์„ฑ์ด์—ˆ์Šต๋‹ˆ๋‹ค.

์šฐ๋ฆฌ๊ฐ€ ๋‹ค๋ฃจ๊ณ  ์žˆ๋˜ ์ข…์†(cascade)๊ณผ ๊ทธ๊ฒƒ์˜ ํŠน์ˆ˜์„ฑ์— ๋Œ€ํ•œ ๋ฌธ์ œ๋“ค์€ CSS in JS ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์— ์˜ํ•ด ์ถ”์ƒํ™”๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

์ด๋Ÿฌํ•œ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์˜ ์ฒซ ๋ฒˆ์งธ ํ๋ฆ„์€ ์ข…์ข… ์•”๋ฌต์ ์ธ ๋Ÿฐํƒ€์ž„ ๋น„์šฉ์ด ์ˆ˜๋ฐ˜๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ์ปดํฌ๋„ŒํŠธ๊ฐ€ ๋ Œ๋”๋ง ๋  ๋•Œ๊นŒ์ง€ ๊ธฐ๋‹ค๋ ธ๋‹ค๊ฐ€ ํ•ด๋‹น ์Šคํƒ€์ผ์„ ํŽ˜์ด์ง€์— ์‚ฝ์ž…ํ•ด์•ผ ํ–ˆ์Šต๋‹ˆ๋‹ค. ์ด์— ๋”ฐ๋ผ ์Šคํƒ€์ผ๋ง ๋ฌธ์ œ๊ฐ€ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ๋ฒˆ๋“ค์— ํฌํ•จ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

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

๋„คํŠธ์›Œํฌ ๋น„ํšจ์œจ์„ฑ ๋ฐ ๋ Œ๋”๋ง ์ฐจ๋‹จ ์ปดํฌ๋„ŒํŠธ

๋ธŒ๋ผ์šฐ์ €๊ฐ€ HTML์„ ๋ Œ๋”๋ง ํ•  ๋•Œ CSS๋‚˜ ์Šคํฌ๋ฆฝํŠธ์™€ ๊ฐ™์€ ๋ Œ๋”๋ง ์ฐจ๋‹จ ๋ฆฌ์†Œ์Šค๋Š” HTML์˜ ๋‚˜๋จธ์ง€ ๋ถ€๋ถ„์„ ํ‘œ์‹œํ•˜์ง€ ๋ชปํ•˜๊ฒŒ ํ–ˆ์Šต๋‹ˆ๋‹ค.

๋ถ€๋ชจ๋Š” ์ข…์ข… ์ปดํฌ๋„ŒํŠธ ๊ณ„์ธต์˜ ์ž์‹ ์ปดํฌ๋„ŒํŠธ์— ๋Œ€ํ•œ ๋ Œ๋”๋ง ์ฐจ๋‹จ์˜ ์›์ธ์ด ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ์‹ค์ œ๋กœ ๋งŽ์€ ์ปดํฌ๋„ŒํŠธ๋Š” ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์˜ ๋ฐ์ดํ„ฐ์™€ (์ฝ”๋“œ ์Šคํ”Œ๋ฆฌํŒ…์„ ํ†ตํ•œ) CDN์˜ ์ฝ”๋“œ์— ์˜์กดํ•˜๊ณ  ์žˆ์—ˆ์Šต๋‹ˆ๋‹ค.

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

UI๊ฐ€ ๋กœ๋“œ๋  ๋•Œ ํ™”๋ฉด์— ๋‚˜ํƒ€๋‚˜๋Š” โ€œ์Šคํ”ผ๋„ˆ ์ง€์˜ฅ(spinner hell)โ€ ๋˜๋Š” ๋ˆ„์  ๋ ˆ์ด์•„์›ƒ ์ด๋™์„ ํ”ํžˆ ๋ณผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

React๋Š” ์ดํ›„ Suspense๋ฅผ ์ถœ์‹œํ•˜์—ฌ ํŽ˜์ด์ง€ ๋กœ๋“œ ๋‹จ๊ณ„๋ฅผ ์›ํ™œํ•˜๊ฒŒ ์ง„ํ–‰ํ•  ์ˆ˜ ์žˆ๋„๋ก ์ง€์›ํ–ˆ์Šต๋‹ˆ๋‹ค. ํ•˜์ง€๋งŒ ๊ธฐ๋ณธ์ ์œผ๋กœ ์ˆœ์ฐจ์  ๋„คํŠธ์›Œํฌ ์›Œํ„ฐํด๋ฅผ ๋ฐฉ์ง€ํ•˜์ง€๋Š” ์•Š์Šต๋‹ˆ๋‹ค. ๋ฐ์ดํ„ฐ๋ฅผ ๊ฐ€์ ธ์˜ค๊ธฐ ์œ„ํ•œ Suspense๋Š” ๋ฐ์ดํ„ฐ๋ฅผ ๊ฐ€์ ธ์˜ฌ ๋•Œ ๋ Œ๋”๋งํ•˜๋Š” ํŒจํ„ด์„ ํ—ˆ์šฉํ•ฉ๋‹ˆ๋‹ค.

ํŽ˜์ด์Šค๋ถ์€ ์ด๋Ÿฌํ•œ ๋ฌธ์ œ๋ฅผ ์–ด๋–ป๊ฒŒ ํ•ด๊ฒฐํ–ˆ์Šต๋‹ˆ๊นŒ?

์šฐ๋ฆฌ๋Š” React์˜ ๋ช‡๋ช‡ ํŠธ๋ ˆ์ด๋“œ์˜คํ”„(tradeoffs)๊ฐ€ ์–ด๋–ป๊ฒŒ ๋Œ€๊ทœ๋ชจ๋กœ ์™„ํ™”๋˜๋Š”์ง€ ์ดํ•ดํ•˜๊ธฐ ์œ„ํ•ด ๊ณ„์† ๋Œ์•„๋ณผ ๊ฒƒ์ž…๋‹ˆ๋‹ค. ์ด๊ฒƒ์€ ์ƒˆ๋กœ์šด ํ”„๋ ˆ์ž„์›Œํฌ์—์„œ ํŒจํ„ด์„ ํ”„๋ ˆ์ž„ํ™” ํ•˜๋Š”๋ฐ ๋„์›€์ด ๋  ๊ฒƒ์ž…๋‹ˆ๋‹ค.

  • ๋Ÿฐํƒ€์ž„ ๋น„์šฉ ์ตœ์ ํ™”

React์—์„œ๋Š” ๊ฐ€์ƒ DOM์˜ ๋Ÿฐํƒ€์ž„ ๋น„์šฉ์„ ํ”ผํ•  ์ˆ˜ ์—†์—ˆ์Šต๋‹ˆ๋‹ค. ๋™์‹œ(Concurrent) ๋ชจ๋“œ๋Š” ์ƒํ˜ธ์ž‘์šฉ ๊ฒฝํ—˜์—์„œ ์‚ฌ๋ฌผ์˜ ๋ฐ˜์‘์„ฑ์„ ์œ ์ง€ํ•˜๋Š” ๊ฒƒ์— ๋Œ€ํ•œ ํ•ด๋‹ต์ด์—ˆ์Šต๋‹ˆ๋‹ค.

CSS in JS์˜ ์˜์—ญ์—์„œ๋Š” Stylex๋ผ๊ณ  ๋ถˆ๋ฆฌ๋Š” ๋‚ด๋ถ€ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๊ฐ€ ์‚ฌ์šฉ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ์ด๊ฒƒ์€ ์ˆ˜์ฒœ ๊ฐœ์˜ ์ปดํฌ๋„ŒํŠธ๊ฐ€ ๋ Œ๋”๋ง ๋  ๋•Œ ๋Ÿฐํƒ€์ž„ ๋น„์šฉ ์—†์ด ํšจ์œจ์ ์ธ ๊ฐœ๋ฐœ์ž ๊ฒฝํ—˜์„ ์œ ์ง€ํ•ฉ๋‹ˆ๋‹ค.

  • ๋„คํŠธ์›Œํฌ ์ตœ์ ํ™”

ํŽ˜์ด์Šค๋ถ์€ Relay๋ฅผ ํ†ตํ•ด ์ˆœ์ฐจ์ ์ธ ๋„คํŠธ์›Œํฌ ์›Œํ„ฐํด ๋ฌธ์ œ๋ฅผ ํ”ผํ–ˆ์Šต๋‹ˆ๋‹ค.

์ฃผ์–ด์ง„ ์‹œ์ž‘์ ์— ๋Œ€ํ•ด ์ •์  ๋ถ„์„์€ ๋กœ๋“œํ•ด์•ผ ํ•˜๋Š” ์ฝ”๋“œ์™€ ๋ฐ์ดํ„ฐ๋ฅผ ์ •ํ™•ํ•˜๊ฒŒ ๊ฒฐ์ •ํ–ˆ์Šต๋‹ˆ๋‹ค.

์ฆ‰, ์ตœ์ ํ™”๋œ graphQL ์ฟผ๋ฆฌ์—์„œ ์ฝ”๋“œ์™€ ๋ฐ์ดํ„ฐ๋ฅผ ๋ณ‘๋ ฌ๋กœ ๋กœ๋“œํ•  ์ˆ˜ ์žˆ์—ˆ์Šต๋‹ˆ๋‹ค.

์ด๋Š” ์ดˆ๊ธฐ ๋กœ๋”ฉ ๋ฐ SPA ์ „ํ™˜์ด ์ˆœ์ฐจ์  ๋„คํŠธ์›Œํฌ ์›Œํ„ฐํด๋ณด๋‹ค ํ™•์—ฐํžˆ ๋นจ๋ž์Šต๋‹ˆ๋‹ค.

  • ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ๋ฒˆ๋“ค ์ตœ์ ํ™”

์—ฌ๊ธฐ์„œ ๊ทผ๋ณธ์ ์ธ ๋ฌธ์ œ๋Š” ํŠน์ • ์‚ฌ์šฉ์ž์™€ ๊ด€๋ จ์ด ์—†๋Š” ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ๋ฅผ ์ „์†กํ•˜๋Š” ๊ฒƒ์ด์—ˆ์Šต๋‹ˆ๋‹ค.

์ด๊ฒƒ์€ A/B ํ…Œ์ŠคํŠธ, ๊ธฐ๋Šฅ ํ”Œ๋ž˜๊ทธ(feature-flagged) ๊ฒฝํ—˜ ๋ฐ ํŠน์ • ์œ ํ˜•์˜ ์‚ฌ์šฉ์ž์™€ ์ง‘๋‹จ์„ ์œ„ํ•œ ์ฝ”๋“œ๊ฐ€ ์žˆ์„ ๋•Œ ์–ด๋ ค์› ์Šต๋‹ˆ๋‹ค. ์–ธ์–ด์™€ ๋กœ์ผ€์ผ(Locale) ์„ค์ •๋„ ๊ทธ๋ ‡์Šต๋‹ˆ๋‹ค.

์ฝ”๋“œ์˜ ๋ถ„๊ธฐ๊ฐ€ ๋งŽ์€ ๊ฒฝ์šฐ, ์ •์  ์˜์กด์„ฑ ๊ทธ๋ž˜ํ”„๋Š” ํŠน์ • ์‚ฌ์šฉ์ž ์ง‘๋‹จ์— ๋Œ€ํ•ด ํ•จ๊ป˜ ์‚ฌ์šฉ๋˜๋Š” ๋ชจ๋“ˆ์„ ํ™•์ธํ•˜๊ธฐ ์–ด๋ ค์› ์Šต๋‹ˆ๋‹ค.

ํŽ˜์ด์Šค๋ถ์€ AI๋กœ ๊ตฌ๋™๋˜๋Š” ๋™์  ๋ฒˆ๋“ค๋ง ์‹œ์Šคํ…œ์„ ์‚ฌ์šฉํ–ˆ์Šต๋‹ˆ๋‹ค. ์ด๋Š” ๊ธด๋ฐ€ํ•œ ํด๋ผ์ด์–ธํŠธ-์„œ๋ฒ„ ํ†ตํ•ฉ์„ ํ™œ์šฉํ•ด์„œ ๋Ÿฐํƒ€์ž„ ์š”์ฒญ์„ ๊ธฐ๋ฐ˜์œผ๋กœ ์ตœ์ ์˜ ์ข…์†์„ฑ ๊ทธ๋ž˜ํ”„๋ฅผ ๊ณ„์‚ฐํ–ˆ์Šต๋‹ˆ๋‹ค.

์ด๊ฒƒ์€ ์šฐ์„ ์ˆœ์œ„์— ๋”ฐ๋ผ ๋‹จ๊ณ„์ ์œผ๋กœ ๋ฒˆ๋“ค์„ ๋กœ๋“œํ•˜๋Š” ํ”„๋ ˆ์ž„์›Œํฌ์™€ ๊ฒฐํ•ฉํ•ฉ๋‹ˆ๋‹ค.

๋‚˜๋จธ์ง€ ์ƒํƒœ๊ณ„๋Š” ์–ด๋• ์Šต๋‹ˆ๊นŒ?

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

์ด๊ฒƒ์€ ํ”„๋ŸฐํŠธ์—”๋“œ ์ œํ’ˆ ๊ฐœ๋ฐœ์ž๊ฐ€ ์„ฑ๋Šฅ์„ ์œ ์ง€ํ•˜๋ฉด์„œ ์ž‘์—…์„ ์™„๋ฃŒํ•  ์ˆ˜ ์žˆ๋Š” ์„ฑ๊ณต์˜ ๊ตฌ๋ฉ์ด๋ฅผ ๋งŒ๋“ญ๋‹ˆ๋‹ค.

์šฐ๋ฆฌ ๋Œ€๋ถ€๋ถ„์€ ํŽ˜์ด์Šค๋ถ๊ณผ ๊ฐ™์€ ๊ทœ๋ชจ์— ๋งž๋Š” ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ๋งŒ๋“ค๊ณ  ์žˆ์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ์—ฌ์ „ํžˆ ๋งŽ์€ ์กฐ์ง์—์„œ ์„ฑ๋Šฅ์€ ์ฃผ์š” ํ† ํ”ฝ์ž…๋‹ˆ๋‹ค. ์šฐ๋ฆฌ๋Š” ๊ฐ€๋Šฅํ•œ ์ƒ์œ„ ์ปดํฌ๋„ŒํŠธ์—์„œ ๋ฐ์ดํ„ฐ ๊ฐ€์ ธ์˜ค๊ธฐ, ๋„คํŠธ์›Œํฌ ๋ณ‘๋ ฌํ™”, ์ธ๋ผ์ธ ์š”๊ตฌ์‚ฌํ•ญ๋“ฑ๊ณผ ๊ฐ™์€ ํŒจํ„ด๋“ค์—์„œ ๋ฐฐ์šธ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

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

์ด์— ๋”ฐ๋ผ ๋งŽ์€ ์‚ฌ๋žŒ๋“ค์ด ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ์ƒํƒœ๊ณ„์— ํ”ผ๋กœ๋ฅผ ๊ฒช๊ณ  ํ”„๋ ˆ์ž„์›Œํฌ ๋ฒˆ์•„์›ƒ๊นŒ์ง€ ์ด์–ด์กŒ์Šต๋‹ˆ๋‹ค.

์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ์˜ ์„ธ๊ณ„ : ํฉ์–ด์ง, ๋ถ„์—ด๋จ, ๋ฆฌ๋”์˜ ๋ถ€์žฌ

์•„์ง ์šฐ๋ฆฌ์™€ ํ•จ๊ป˜ํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๊นŒ? ์šฐ๋ฆฌ๋Š” ์—ฌ์ „ํžˆ SPA๊ฐ€ ๊ธฐ๋ณธ์ธ ์‹œ๋Œ€์— ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๊ฒƒ์€ ์—…๊ณ„์— ์ง„์ž…ํ•˜๋Š” ์‚ฌ๋žŒ๋“ค์˜ ํ˜„ ์ฃผ์†Œ์ž…๋‹ˆ๋‹ค.

React๋Š” ๋…ผ์Ÿ์˜ ์—ฌ์ง€๊ฐ€ ์—†๋Š” ์ฑ”ํ”ผ์–ธ์ด๊ณ , ์šฐ๋ฆฌ๋Š” ๋Œ€๊ทœ๋ชจ์˜ ํŠธ๋ ˆ์ด๋“œ์˜คํ”„๋ฅผ ๊ฒช๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.

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

๋ถˆ๋ณ€ ๋Œ€ ๊ฐ€๋ณ€, ํด๋ž˜์Šค ๊ธฐ๋ฐ˜์˜ OOP ๋Œ€ ํ•จ์ˆ˜ํ˜• ์Šคํƒ€์ผ๊ณผ ๊ฐ™์€ ์—ฌ๋Ÿฌ ๊ฐ€์ง€ ํ† ๋ก ๋“ค๊ณผ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋“ค์ด ๊ฝƒ์„ ํ”ผ์› ์Šต๋‹ˆ๋‹ค.

์˜ค๋Š˜๋‚ , ๋งŽ์€ ๊ฐœ๋ฐœ์ž๋“ค์€ ์–ด๋–ค ์„ ํƒ์„ ํ•ด์•ผ ํ•˜๊ณ  ์–ด๋–ป๊ฒŒ ์„ค๊ณ„ํ•ด์•ผ ํ•˜๋Š”์ง€์— ๋Œ€ํ•œ ๋ถˆํ™•์‹ค์„ฑ์— ๋น ์ ธ ์žˆ์Šต๋‹ˆ๋‹ค.

React์˜ ๋Œ€์•ˆ๋“ค์ด์—ฌ ์ผ์–ด๋‚˜์‹ญ์‹œ์˜ค!

์ปดํฌ๋„ŒํŠธ ๋ชจ๋ธ์€ ์—ฌ์ „ํžˆ ํ™•๊ณ ํ–ˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ๋Ÿฐํƒ€์ž„ ๋น„์šฉ, ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ๊ธฐ๋ฐ˜ JSX์™€ ๋ณต์žก์„ฑ์€ ๋…ผ์Ÿ์˜ ๋Œ€์ƒ์ด์—ˆ์Šต๋‹ˆ๋‹ค.

๋น… ํ…Œํฌ ๊ธฐ์—…์œผ๋กœ๋ถ€ํ„ฐ ๋‚˜์˜ค์ง€ ์•Š์€ ๋งŽ์€ ํ’€๋ฟŒ๋ฆฌ ๋Œ€์•ˆ๋“ค์ด ๋งŽ์€ ์‚ฌ๋žŒ์—๊ฒŒ ๊ด‘๋ฒ”์œ„ํ•˜๊ฒŒ ์ฃผ๋ชฉ๋ฐ›์•˜์Šต๋‹ˆ๋‹ค. ์ด ๋Œ€์•ˆ๋“ค์— ๋Œ€ํ•œ ๋งค์šฐ ๋†’์€ ์ˆ˜์ค€์˜ ์š”์•ฝ์„ ์‚ดํŽด๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค.

Vue

์‚ฌ๋žŒ๋“ค์ด Angular 2 ๋˜๋Š” React๋กœ ๋งˆ์ด๊ทธ๋ ˆ์ด์…˜ ํ•˜๋Š” ๊ฒƒ์„ ๋…ผ์˜ํ•  ๋•Œ, Vue๋Š” ์‹œ์ž‘ํ•˜๊ธฐ๊นŒ์ง€ ๋‚ฎ์€ ์ง„์ž… ์žฅ๋ฒฝ์œผ๋กœ ๊ทธ๊ฒƒ๋“ค๊ณผ์˜ ์ฐจ์ด๋ฅผ ๋ฉ”๊พธ์—ˆ์Šต๋‹ˆ๋‹ค.

๋ณต์žกํ•œ ์›นํŒฉ ๊ตฌ์„ฑ์œผ๋กœ ๊ณจ์น˜ ์•„ํ”Œ ํ•„์š”๊ฐ€ ์—†์—ˆ์Šต๋‹ˆ๋‹ค. CDN์„ ํ†ตํ•œ ๋„์ž…์œผ๋กœ ๋งŽ์€ ๊ฐœ๋ฐœ์ž๊ฐ€ ์ง๊ด€์ ์œผ๋กœ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ํ…œํ”Œ๋ฆฟ์œผ๋กœ ์ปดํฌ๋„ŒํŠธ ๊ตฌ์ถ•์„ ์‹œ์ž‘ํ•  ์ˆ˜ ์žˆ์—ˆ์Šต๋‹ˆ๋‹ค.

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

๋˜ํ•œ ํ…œํ”Œ๋ฆฟ์— ์ •์  ๋ถ„์„์„ ์‚ฌ์šฉํ•˜์—ฌ ๋” ๋น ๋ฅธ ๋Ÿฐํƒ€์ž„์„ ์œ„ํ•œ ์ตœ์ ํ™”๋ฅผ ํ—ˆ์šฉํ•จ์œผ๋กœ์จ React์˜ ์กฐ์ • ์•Œ๊ณ ๋ฆฌ์ฆ˜์˜ ์ธก๋ฉด์„ ์™„ํ™”ํ–ˆ์Šต๋‹ˆ๋‹ค. ์ด๊ฒƒ์„ ์ปดํŒŒ์ผ๋Ÿฌ ์ •๋ณด ๊ฐ€์ƒ DOM์ด๋ผ๊ณ  ํ•ฉ๋‹ˆ๋‹ค.

Svelte

Svelte๋Š” ์‚ฌ์ „์— ์ปดํŒŒ์ผํ•˜๋Š” ์ ‘๊ทผ ๋ฐฉ์‹์„ ๊ฐœ์ฒ™ํ•˜์—ฌ, ๋Ÿฐํƒ€์ž„์— ์šฐ๋ฆฌ๊ฐ€ ๊ฒช๋Š” ๋ณต์žก์„ฑ๊ณผ ์˜ค๋ฒ„ํ—ค๋“œ๋ฅผ ์ œ๊ฑฐํ–ˆ์Šต๋‹ˆ๋‹ค.

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

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

Solid

Solid๋Š” Knockout์˜ ์˜๊ฐ์„ ๋ฐ›์•„ ๊ฐ„๋‹จํ•˜๊ณ  ์˜ˆ์ธกํ•  ์ˆ˜ ์žˆ๋Š” ๋ฐ˜์‘ํ˜• ๋ชจ๋ธ์„ ์ œ๊ณตํ•˜์˜€์Šต๋‹ˆ๋‹ค. React์™€ ๋งˆ์ฐฌ๊ฐ€์ง€๋กœ ๊ทธ๊ฒƒ์€ ๊ธฐ๋Šฅ์˜ ํ•ฉ์„ฑ์ด ์šฉ์ดํ•˜๋„๋ก ํ…œํ”Œ๋ฆฟ์„ ํ”ผํ–ˆ์Šต๋‹ˆ๋‹ค.

React๋Š” ๋Š์ž„์—†์ด ๋ฆฌ๋ Œ๋”๋ง ํ•˜๋Š” ์ ‘๊ทผ ๋ฐฉ์‹์„ ์ทจํ•˜๋Š” ๋ฐ ๋ฐ˜ํ•ด, Solid๋Š” ํ•œ ๋ฒˆ ๋ Œ๋”๋ง ํ•œ ๋‹ค์Œ ๊ฐ„์†Œํ™”๋œ ๋ฐ˜์‘ํ˜• ์‹œ์Šคํ…œ์„ ์‚ฌ์šฉํ•˜์—ฌ ๊ฐ€์ƒ DOM์˜ ์˜ค๋ฒ„ํ—ค๋“œ ์—†์ด ์„ธ๋ฐ€ํ•œ ์—…๋ฐ์ดํŠธ๋ฅผ ์ˆ˜ํ–‰ํ•˜๋Š” ๋ฐฉ์‹์„ ์ทจํ–ˆ์Šต๋‹ˆ๋‹ค.

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

์„œ๋กœ์—๊ฒŒ์„œ ๋ฐฐ์šฐ๊ธฐ

์ด๋Ÿฌํ•œ ๊ฐ๊ฐ ํ”„๋ ˆ์ž„์›Œํฌ์— ๋Œ€ํ•ด ๋งํ•  ๊ฒƒ์ด ํ›จ์”ฌ ๋” ๋งŽ์Šต๋‹ˆ๋‹ค. ๊ฐ ํ”„๋ ˆ์ž„์›Œํฌ๋Š” ๊ธฐ๋ณธ์ ์ธ ๋ชจ๋ธ๊ณผ ์„ ํ˜ธ๋„์— ๋”ฐ๋ผ ์„œ๋กœ ๋‹ค๋ฅธ ์žฅ๋‹จ์ ์„ ๊ฐ€์ง€๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.

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

ํฐ ์ฃผ์ œ๋Š” ๊ฐ„์†Œํ™”์™€ ๋‹จ์ˆœํ™”์ž…๋‹ˆ๋‹ค. ๋Ÿฐํƒ€์ž„์—์„œ ์ปดํŒŒ์ผ ์‹œ๊ฐ„์œผ๋กœ ์˜ฎ๊ธฐ๋Š” ๊ฒƒ์€ ์ด๋Ÿฌํ•œ ์ฃผ์ œ ์ค‘ ํ•˜๋‚˜์ด๊ณ , ๋ฉ”๋ชจ์ด์ œ์ด์…˜์— ๋Œ€ํ•œ ํ•„์š”์„ฑ์„ ์ž ์žฌ์ ์œผ๋กœ ์ œ๊ฑฐํ•˜๋Š” ๊ธฐ๋Šฅ์ธ โ€œReact forgetโ€์— ์˜๊ฐ์„ ์ฃผ์—ˆ์Šต๋‹ˆ๋‹ค.

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

ํ•œํŽธ, ์šฐ๋ฆฌ๋Š” ์ˆœ์ˆ˜ํ•œ ํด๋ผ์ด์–ธํŠธ ์ธก ๋ Œ๋”๋ง์˜ ์žฅ๋‹จ์ ์„ ๋ณด๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๊ฒƒ์€ ํŽ˜์ด์ง€๋ฅผ ๋กœ๋”ฉํ•  ๋•Œ, ๋น„์–ด์žˆ๋Š” ํฐ ํ™”๋ฉด์ด ๋” ์˜ค๋ž˜ ์ง€์†๋ฉ๋‹ˆ๋‹ค.

๋ชจ๋ฐ”์ผ ์žฅ์น˜์™€ ๋„คํŠธ์›Œํฌ์—์„œ ํฐ ํ™”๋ฉด์ด ์ง€์†๋˜๋Š”๊ฒƒ์€ ์žฌ์•™์— ๊ฐ€๊น์Šต๋‹ˆ๋‹ค.

๋งŽ์€ ์›น์‚ฌ์ดํŠธ์˜ ๊ฒฝ์šฐ ์ €ํ•˜๋˜์ง€ ์•Š๋Š” ๋น ๋ฅธ ์„ฑ๋Šฅ์œผ๋กœ ๋น ๋ฅด๊ฒŒ ์›€์ง์ด๋Š” ๊ฒƒ์ด ์ค‘์š”ํ•œ ๊ฒฝ์Ÿ ์šฐ์œ„๊ฐ€ ๋ฉ๋‹ˆ๋‹ค.

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

์ด ์ดˆ๊ธฐ ๋‹จ๊ณ„๋Š” ๋งŽ์€ โ€œ๋ฉ”ํƒ€โ€ ํ”„๋ ˆ์ž„์›Œํฌ์™€ HTML ์šฐ์„  ํ”„๋ŸฐํŠธ์—”๋“œ ํ”„๋ ˆ์ž„์›Œํฌ์˜ ์ƒˆ๋กœ์šด ๋ฌผ๊ฒฐ์„ ์œ„ํ•œ ๊ธธ์„ ์—ด์—ˆ์Šต๋‹ˆ๋‹ค.

์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ์›น ํ”„๋ ˆ์ž„์›Œํฌ์˜ ์ƒˆ๋กœ์šด ๋ฌผ๊ฒฐ

โ€œ์šฐ๋ฆฌ๋Š” ํƒํ—˜์„ ๋ฉˆ์ถ”์ง€ ์•Š์„ ๊ฒƒ์ž…๋‹ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ์šฐ๋ฆฌ์˜ ๋ชจ๋“  ํƒํ—˜์˜ ๋์€ ์šฐ๋ฆฌ๊ฐ€ ์ถœ๋ฐœํ–ˆ๋˜ ๊ทธ๊ณณ์— ๋„์ฐฉํ•˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ์ฒ˜์Œ์œผ๋กœ ๊ทธ๊ณณ์„ ์•Œ๊ฒŒ ๋  ๊ฒƒ์ž…๋‹ˆ๋‹ค.โ€

PHP์—์„œ ์˜๊ฐ์„ ์–ป์€ Next๋Š” CDN์œผ๋กœ ํ‘ธ์‹œ ๋˜๋Š” ์ •์  ํŽ˜์ด์ง€๋ฅผ ์ƒ์„ฑํ•˜๋Š” ํ”„๋กœ์„ธ์Šค๋ฅผ ๊ฐ„์†Œํ™”ํ•˜๊ธฐ ์œ„ํ•ด ๋‚˜์„ฐ์Šต๋‹ˆ๋‹ค. ๋˜ํ•œ React ์•ฑ์—์„œ SSR์„ ์‚ฌ์šฉํ•˜๋Š” ๋ฒˆ๊ฑฐ๋กœ์šด ๋ถ€๋ถ„๋„ ์›ํ™œํ•˜๊ฒŒ ์ฒ˜๋ฆฌํ–ˆ์Šต๋‹ˆ๋‹ค.

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

๊ทธ ์ดํ›„๋กœ โ€œ๋ฉ”ํƒ€โ€ ํ”„๋ ˆ์ž„์›Œํฌ์˜ ๋ฌผ๊ฒฐ์ด ๋งŒ๋“ค์–ด์กŒ์Šต๋‹ˆ๋‹ค. Vue์˜ ๊ฒฝ์šฐ, Nuxt๋ผ๋Š” ์œ ์‚ฌํ•œ ํ”„๋ ˆ์ž„์›Œํฌ๋ฅผ ๊ฐ€์ง€๊ณ  ์žˆ๊ณ , Svelte๋Š” Sveltekit, Solid๋Š” ๊ณง ์ถœ์‹œ๋  SolidStart๋ฅผ ๊ฐ€์ง€๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.

์ด ํ”„๋ ˆ์ž„์›Œํฌ๋“ค์€ ๋ชจ๋“  ๋ถ€๋ถ„์„ ํ†ตํ•ฉํ•˜๊ณ  ํšจ์œจ์ ์œผ๋กœ ์„ค๊ณ„๋œ ์„œ๋ฒ„ ์šฐ์„ (server-first) ํ”„๋ ˆ์ž„์›Œํฌ์ž…๋‹ˆ๋‹ค. ์˜ค๋žซ๋™์•ˆ ์ฃผ๋ชฉ์„ ๋ฐ›์•„์˜จ ๊ฒƒ์€ ์ธํ„ฐ๋ ‰ํ‹ฐ๋ธŒ ์š”์†Œ๋ฟ๋งŒ์ด ์•„๋‹™๋‹ˆ๋‹ค.

์‚ฌ์šฉ์ž ๊ฒฝํ—˜๊ณผ ๊ฐœ๋ฐœ์ž ๊ฒฝํ—˜์„ ์„œ๋กœ ์†์ƒํ•˜์ง€ ์•Š๊ณ  ๊ฐœ์„ ํ•˜๋Š” ๊ฒƒ์— ๋Œ€ํ•œ ๋Œ€ํ™”๊ฐ€ ์‹œ์ž‘๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

MPA์˜ ๋ฐ˜๊ฒฉ

๋ฉ€ํ‹ฐ ํŽ˜์ด์ง€ ์•„ํ‚คํ…์ฒ˜๋Š” ์„œ๋ฒ„์—์„œ HTML์„ ์ œ๊ณตํ•˜๋ฉฐ, ๋‚ด๋น„๊ฒŒ์ด์…˜์ด ํ’€ ํŽ˜์ด์ง€ ์ƒˆ๋กœ๊ณ ์นจ์œผ๋กœ ์ผ์–ด๋‚ฉ๋‹ˆ๋‹ค.

๋น ๋ฅธ ์‹œ์ž‘์€ ๋งŽ์€ ์‚ฌ์ดํŠธ, ํŠนํžˆ ๋กœ๊ทธ์ธ ์™ธ๋ถ€ ์‚ฌ์ดํŠธ์—์„œ ๋งค์šฐ ์ค‘์š”ํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๊ฒƒ์€ ๊ฒ€์ƒ‰ ์ˆœ์œ„์™€ ์ดํƒˆ๋ฅ ๊ณผ ์ง์ ‘์ ์ธ ์—ฐ๊ด€์ด ์žˆ์Šต๋‹ˆ๋‹ค.

React์™€ ๊ฐ™์€ ํด๋ผ์ด์–ธํŠธ ๋ Œ๋”๋ง ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์€ ๋‚ฎ์€ ์ƒํ˜ธ์ž‘์šฉ์„ฑ์„ ๊ฐ€์ง„ ๋งŽ์€ ์‚ฌ์ดํŠธ์™€ ์•ฑ์—์„œ๋Š” ์ง€๋‚˜์นฉ๋‹ˆ๋‹ค.

๋งŽ์€ ์‚ฌ๋žŒ์—๊ฒŒ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ์šฐ์„  ๋Œ€์‹  HTML ์šฐ์„ , SPA ๋Œ€์‹  MPA, ์ œ๋กœ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ๋ฅผ ๊ธฐ๋ณธ๊ฐ’์œผ๋กœ ์„ค์ •๊ณผ ๊ฐ™์€ ๊ฒƒ๋“ค์€ ์ƒํ™ฉ์„ ์—ญ์ „์‹œํ‚ค๋Š” ๊ฒƒ์„ ์˜๋ฏธํ•ฉ๋‹ˆ๋‹ค.

Marko, Astro, Fresh, Rocket, ๊ทธ๋ฆฌ๊ณ  Enhance์™€ ๊ฐ™์€ ํ”„๋ ˆ์ž„์›Œํฌ๋“ค์€ ์ด๋Ÿฌํ•œ ์ ‘๊ทผ ๋ฐฉ์‹์„ ์‚ฌ์šฉํ–ˆ์Šต๋‹ˆ๋‹ค.

์ผ๋ถ€ ๋ฉ”ํƒ€ ํ”„๋ ˆ์ž„์›Œํฌ๋“ค๊ณผ๋Š” ๋Œ€์กฐ์ ์œผ๋กœ, ๋ผ์šฐํ„ฐ๋Š” ์ฒซ ๋ฒˆ์งธ ๋กœ๋“œ ํ›„์— ํด๋ผ์ด์–ธํŠธ๋กœ ์ด๊ด€๋˜์ง€ ์•Š๊ณ  ์„œ๋ฒ„์— ๋‚จ์•„์žˆ์—ˆ์Šต๋‹ˆ๋‹ค.

์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ์ƒํƒœ๊ณ„์—์„œ ์ด๊ฒƒ์€ ๋…ธ๋“œ ์งํ›„ ์„œ๋ฒ„ ๊ธฐ๋ฐ˜ ํ…œํ”Œ๋ฆฟ์œผ๋กœ ๋˜๋Œ์•„๊ฐ€๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค.

์ด๋ฒˆ ๋ผ์šด๋“œ์˜ MPA ์ด์ „ ์„ธ๋Œ€์™€ ๋‹ค๋ฆ…๋‹ˆ๋‹ค. ์ปดํฌ๋„ŒํŠธ ๊ธฐ๋ฐ˜ ๋ชจ๋ธ์— ์ž‘์„ฑ๋œ ์Šคํ”„๋งํด์€ ์ข…์ข… ์•„์ผ๋žœ๋“œ ํŒจํ„ด(islands pattern)์„ ์‚ฌ์šฉํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ํ”„๋ŸฐํŠธ์—”๋“œ ๋ฐ ๋ฐฑ์—”๋“œ ์ฝ”๋“œ๊ฐ€ ๋™์ผํ•œ ์–ธ์–ด๋กœ ์ œ๊ณต๋˜๋ฉฐ, ์ข…์ข… ๊ฐ™์€ ํŒŒ์ผ์— ์žˆ์Šต๋‹ˆ๋‹ค.

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

์ ์ง„์ ์ธ ๊ฐœ์„ ์˜ ๊ท€ํ™˜

Remix๋Š” React ์ƒํƒœ๊ณ„์˜ ์ ์ง„์ ์ธ ๊ฐœ์„ ์„ ๊ฐ€์ ธ์™”์Šต๋‹ˆ๋‹ค.

๊ธฐ์ˆ ์ ์ธ ๊ด€์ ์—์„œ ๋ณผ ๋•Œ, ๊ณง ์ถœ์‹œ๋  ๋‹ค๋ฅธ ๋ฉ”ํƒ€ ํ”„๋ ˆ์ž„์›Œํฌ์™€ ๋งˆ์ฐฌ๊ฐ€์ง€๋กœ ์—ฃ์ง€ ํ˜ธํ™˜(edge-compatible)์˜ ๋Ÿฐํƒ€์ž„ React Router์˜ ์ปดํŒŒ์ผ๋Ÿฌ์ž…๋‹ˆ๋‹ค.

์ค‘์ฒฉ ๋ ˆ์ด์•„์›ƒ๊ณผ ๋ฐ์ดํ„ฐ ๊ฐ€์ ธ์˜ค๊ธฐ API๋ฅผ ํ†ตํ•ด Relay๋กœ ํŽ˜์ด์Šค๋ถ์ด ๋Œ€๊ทœ๋ชจ๋กœ ํ•ด๊ฒฐํ•œ ๊ฒƒ๊ณผ ๊ฐ™์ด ๋™์ผํ•œ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•ฉ๋‹ˆ๋‹ค.

์ด๋ฅผ ํ†ตํ•ด ์ฝ”๋“œ์™€ ๋ฐ์ดํ„ฐ๋ฅผ ๋ณ‘๋ ฌ๋กœ ์กฐ๊ธฐ์— ๊ฐ€์ ธ์˜ฌ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. Suspense์™€ ํ•จ๊ป˜ โ€œ๋ Œ๋”๋ง ํ•  ๋•Œ ๊ฐ€์ ธ์˜ค๊ธฐ(fetch as you render)โ€ ํŒจํ„ด์— ๋Œ€ํ•œ ์ข‹์€ ์ „์ œ ์กฐ๊ฑด์ž…๋‹ˆ๋‹ค.

์ ์ง„์  ํ–ฅ์ƒ์— ์ค‘์ ์„ ๋‘”๋‹ค๋Š” ๊ฒƒ์€ ๊ทธ๊ฒƒ์˜ API๊ฐ€ ์›น ํ‘œ์ค€์„ ๊ธฐ๋ฐ˜์œผ๋กœ ํ•˜๋ฉฐ ๋ฐ์ดํ„ฐ ๋ณ€ํ˜• ์Šคํ† ๋ฆฌ๋Š” HTML ํ˜•์‹์„ ๊ธฐ๋ฐ˜์œผ๋กœ ํ•œ๋‹ค๋Š” ๊ฒƒ์„ ์˜๋ฏธํ•ฉ๋‹ˆ๋‹ค.

์ด๋ฒคํŠธ ํ•ธ๋“ค๋Ÿฌ๋ฅผ ์—ฐ๊ฒฐํ•˜์—ฌ ํ•„์ˆ˜ ๊ฐ€์ ธ์˜ค๊ธฐ ์š”์ฒญ์„ ์ˆ˜ํ–‰ํ•˜๋Š” ๋Œ€์‹ , ์„œ๋ฒ„์—์„œ ๋ฐ์ดํ„ฐ๋ฅผ ์ฒ˜๋ฆฌํ•˜๋Š” ์ˆ˜ํ–‰ ๊ธฐ๋Šฅ์— ๋ฐ์ดํ„ฐ๋ฅผ ์ œ์ถœํ•˜๋Š” ์–‘์‹์„ ๋ Œ๋”๋ง ํ•ฉ๋‹ˆ๋‹ค. (์ข…์ข… ๋™์ผํ•œ ํŒŒ์ผ์— ์žˆ์Šต๋‹ˆ๋‹ค) ์ด๊ฒƒ์€ PHP์— ์˜๊ฐ์„ ๋ฐ›์•˜์Šต๋‹ˆ๋‹ค.

Next์™€ ๋งˆ์ฐฌ๊ฐ€์ง€๋กœ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์€ ์ „ํ†ต์ ์ธ ์„œ๋ฒ„ ๋ Œ๋”๋ง MPA์ฒ˜๋Ÿผ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ์—†์ด ์ž‘๋™ํ•˜๋„๋ก ์ถ•์†Œํ•˜๊ฑฐ๋‚˜ ํŽ˜์ด์ง€ ๋‹จ์œ„๋กœ ๋Œ€ํ™”ํ˜• React ์•ฑ์œผ๋กœ ํ™•์žฅํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

Remix ๋˜ํ•œ ๋‚™๊ด€์ ์ธ UI ์—…๋ฐ์ดํŠธ, ๊ฒฝํ•ฉ ์ƒํƒœ ์ฒ˜๋ฆฌ, ์šฐ์•„ํ•œ ์„ฑ๋Šฅ ์ €ํ•˜(graceful degradation)์™€ ๊ฐ™์ด ์ž˜ ๊ฐ–์ถฐ์ง„ ํ”„๋ ˆ์ž„์›Œํฌ๊ฐ€ ์ œ๊ณตํ•˜๊ธฐ๋ฅผ ๋ฐ”๋ผ๋Š” ๊ฒƒ๋“ค์„ ์ฒ˜๋ฆฌํ•˜๊ธฐ ์œ„ํ•œ ์ตœ์ข… ์‚ฌ์šฉ์ž ๊ฒฝํ—˜์— ์ดˆ์ ์„ ๋งž์ถ˜ ๋งŽ์€ API์™€ ํŒจํ„ด์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.

ํ•˜์ด๋ธŒ๋ฆฌ๋“œ ๋ฏธ๋ž˜

Quic ํ”„๋กœํ† ์ฝœ๊ณผ ํ—ท๊ฐˆ๋ฆฌ์ง€ ๋งˆ์„ธ์š”. Qwik ํ”„๋ ˆ์ž„์›Œํฌ๋Š” ๋ถˆํ•„์š”ํ•œ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ๋ฅผ ์ตœ์†Œํ™”ํ•˜๋Š” ๊ฒƒ์ด ์ „๋ถ€์ž…๋‹ˆ๋‹ค.

๊ทธ๊ฒƒ์˜ API๋Š” React์ฒ˜๋Ÿผ ๋ณด์ด์ง€๋งŒ, ๊ทธ๊ฒƒ์˜ ์ ‘๊ทผ ๋ฐฉ์‹์€ ํ•˜์ด๋“œ๋ ˆ์ด์…˜ ๊ณผ์ •์„ ์—ฐ๋งˆํ•จ์œผ๋กœ์จ ๋‹ค๋ฅธ ๋ฉ”ํƒ€ ํ”„๋ ˆ์ž„์›Œํฌ์™€๋Š” ๋‹ค๋ฆ…๋‹ˆ๋‹ค.

๊ฐ€์ƒ ๋จธ์‹ ์„ ์ผ์‹œ ์ค‘์ง€ํ•˜๊ณ  ๋‹ค๋ฅธ ๋ฌผ๋ฆฌ ๋จธ์‹ ์œผ๋กœ ์ด๋™ํ•˜๋Š” ๋ฐฉ๋ฒ•๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค. Qwik์€ ์ด ์•„์ด๋””์–ด๋ฅผ ์„œ๋ฒ„์™€ ๋ธŒ๋ผ์šฐ์ € ์‚ฌ์ด์—์„œ ๋ฐœ์ƒํ•˜๋Š” ์ž‘์—…์œผ๋กœ ๊ฐ€์ ธ๊ฐ‘๋‹ˆ๋‹ค.

์ด๋Š” โ€œ์žฌ๊ฐœ ๊ฐ€๋Šฅํ•œ(resumable)โ€ ํ•˜์ด๋“œ๋ ˆ์ด์…˜์˜ ๊ฐœ๋…์œผ๋กœ, ์„œ๋ฒ„์—์„œ ๋ฌด์–ธ๊ฐ€๋ฅผ ์‹œ์ž‘ํ•˜๊ณ  ํด๋ผ์ด์–ธํŠธ์—์„œ ์žฌ์ž‘์—… ์—†์ด ๋‹ค์‹œ ์‹œ์ž‘ํ•  ์ˆ˜ ์žˆ๋‹ค๋Š” ๊ฒƒ์„ ์˜๋ฏธํ•ฉ๋‹ˆ๋‹ค.

์ด๋Š” ํ•˜์ด๋“œ๋ ˆ์ด์…˜์ด ๋ฐœ์ƒํ•˜๋ฉด ๋”ฐ๋ผ์˜ค๋Š” ๋ถ€๋ถ„ ํ•˜์ด๋“œ๋ ˆ์ด์…˜๊ณผ ๋Œ€์กฐ์ ์œผ๋กœ Qwik์€ ์• ์ดˆ์— ๊ทธ๊ฒƒ์„ ํ”ผํ•˜๋ ค๊ณ  ํ•ฉ๋‹ˆ๋‹ค.

์ด๊ฒƒ์€ ๋™์  ๋ฒˆ๋“ค๋ง๊ณผ ์„œ๋น„์Šค๋ฅผ ๊ฐ€๋Šฅํ•˜๊ฒŒ ํ•˜๋Š” ๊ธด๋ฐ€ํ•œ ์„œ๋ฒ„์™€ ํด๋ผ์ด์–ธํŠธ ํ†ตํ•ฉ์˜ ํž˜์„ ํ™œ์šฉํ•˜๋Š” ๊ฒƒ์€ ํฅ๋ฏธ๋กœ์šด ์•„์ด๋””์–ด์ž…๋‹ˆ๋‹ค.

์ด๋Ÿฌํ•œ ๊ฐœ๋…์€ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์ด MPA๋กœ ์‹œ์ž‘ํ•˜์—ฌ ๋™์ ์œผ๋กœ SPA๋กœ ์ „ํ™˜ํ•  ์ˆ˜ ์žˆ๋Š” MPA์™€ SPA ์‚ฌ์ด์˜ ๊ฒฝ๊ณ„๋ฅผ ํ๋ฆฌ๊ธฐ ์‹œ์ž‘ํ•ฉ๋‹ˆ๋‹ค. ๋•Œ๋•Œ๋กœ (์ฃผ๋กœ ์œ ํ–‰์–ด๋กœ) โ€œ์ „ํ™˜ ์•ฑ(transitional apps)โ€œ์œผ๋กœ ์–ธ๊ธ‰๋ฉ๋‹ˆ๋‹ค.

์ฒจ๋‹จ์—์„œ์˜ ์‚ถ

ํ•œํŽธ ๋ฐฑ์—”๋“œ ์ธํ”„๋ผ์™€ ํ˜ธ์ŠคํŒ…์€ ์ง€์†ํ•ด์„œ ๊ฐœ์„ ๋˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.

์ฒจ๋‹จ์— ์žˆ๋Š” CDN์€ SPA์˜ ์ •์  ์ž์‚ฐ์„ ์‰ฝ๊ณ  ๋น ๋ฅด๊ฒŒ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. ์ด์ œ ๋Ÿฐํƒ€์ž„๊ณผ ๋ฐ์ดํ„ฐ๋ฅผ ์—ฃ์ง€๋กœ ์ด๋™ํ•˜๋Š” ๊ฒƒ๋„ ์‹คํ˜„ ๊ฐ€๋Šฅํ•ด์ง€๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.

์ด๊ฒƒ์€ ๋ธŒ๋ผ์šฐ์ € ์™ธ๋ถ€์— ์ƒˆ๋กœ์šด ๋Ÿฐํƒ€์ž„ ๊ณ„์ธต์„ ์ƒ์„ฑํ•˜์ง€๋งŒ, ์—ฌ์ „ํžˆ ์‚ฌ์šฉ์ž์—๊ฒŒ ์ตœ๋Œ€ํ•œ ๊ฐ€๊น๊ฒŒ ๋งŒ๋“ญ๋‹ˆ๋‹ค.

์ด๋ ‡๊ฒŒ ํ•˜๋ฉด ๋ธŒ๋ผ์šฐ์ €์—์„œ ํ˜„์žฌ ์ˆ˜ํ–‰ํ•œ ๋งŽ์€ ์ž‘์—…์„ ๋‹ค์‹œ ์„œ๋ฒ„๋กœ ์‰ฝ๊ฒŒ ์˜ฎ๊ธธ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๋ฅผ ํ†ตํ•ด ๋ฐœ์ƒํ•˜๋Š” ๋„คํŠธ์›Œํฌ ๋Œ€๊ธฐ ์‹œ๊ฐ„์˜ ๋‹จ์ ์„ ์–ด๋Š ์ •๋„ ์™„ํ™”ํ•ฉ๋‹ˆ๋‹ค.

React ์„œ๋ฒ„ ์ปดํฌ๋„ŒํŠธ์™€ ๊ฐ™์€ ์•„์ด๋””์–ด๋Š” ์ด ๊ณ„์ธต์—์„œ ๋ธŒ๋ผ์šฐ์ €๋กœ ์„œ๋ฒ„ ์ปดํฌ๋„ŒํŠธ ์ถœ๋ ฅ์„ ์ŠคํŠธ๋ฆฌ๋ฐํ•˜๋Š” ๊ฐœ๋…์„ ํƒ๊ตฌํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.

Deno ๋ฐ Bun๊ณผ ๊ฐ™์€ ์ƒˆ๋กœ์šด ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ๋Ÿฐํƒ€์ž„์€ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ์—์ฝ”์‹œ์Šคํ…œ์„ ๋‹จ์ˆœํ™”ํ•˜๊ณ  ๋Šฅ๋ฅ ํ™”ํ•˜๊ธฐ ์œ„ํ•ด ํฌ๋กญ ํ•˜๊ณ  ์žˆ์œผ๋ฉฐ ์†๋„์™€ ๋น ๋ฅธ ์‹œ์ž‘ ์‹œ๊ฐ„์— ์ตœ์ ํ™”๋œ ์ด ์—ฃ์ง€ ์‹คํ–‰ ์‹œ๊ฐ„์˜ ์ƒˆ๋กœ์šด ์„ธ๊ณ„๋ฅผ ์œ„ํ•ด ๊ตฌ์ถ•๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

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

์—ฌ๊ธฐ์„œ ์ŠคํŠธ๋ฆฌ๋ฐ์€ ํฐ ์ฃผ์ œ์ž…๋‹ˆ๋‹ค. HTML์„ ์กฐ๊ธฐ์— ํ”Œ๋Ÿฌ์‹œ ํ•  ์ˆ˜ ์žˆ๊ฒŒ ํ•˜์—ฌ ๋ธŒ๋ผ์šฐ์ €๋Š” HTML์„ ์ˆ˜์‹ ํ•  ๋•Œ ์ ์ง„์ ์œผ๋กœ ๋ Œ๋”๋งํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ๋ฐฑ์—”๋“œ๊ฐ€ ๋ชจ๋“  ๋ฐ์ดํ„ฐ๋ฅผ ๋™์‹œ์— ๊ฐ€์ ธ์˜ค๋Š” ๋™์•ˆ CSS ๋ฐ JS์™€ ๊ฐ™์€ ๋ Œ๋”๋ง ์ฐจ๋‹จ ๋ฆฌ์†Œ์Šค๋ฅผ ๊ฒ€ํ† ํ•˜๊ธฐ ์‹œ์ž‘ํ•ฉ๋‹ˆ๋‹ค. ์ด๋ ‡๊ฒŒ ํ•˜๋ฉด ์ˆœ์ฐจ์ ์ธ ์™•๋ณต์„ ๋ณ‘๋ ฌํ™”ํ•˜๋Š” ๋ฐ ๋„์›€์ด ๋ฉ๋‹ˆ๋‹ค.

์š”์•ฝ

์šฐ๋ฆฌ๋Š” ๋งŽ์€ ๊ฒƒ์„ ์‚ดํŽด๋ดค์ง€๋งŒ, ๊นŠ์€ ๋‚ด์šฉ์„ ํŒŒ๊ณ ๋“ค์ง€๋Š” ๋ชปํ–ˆ์Šต๋‹ˆ๋‹ค.

์ด ํฌ์ŠคํŠธ์™€ ์šฐ๋ฆฌ๊ฐ€ ์–ธ๊ธ‰ํ•˜์ง€ ์•Š์€ ์ˆ˜๋งŽ์€ ๋‹ค๋ฅธ ๊ฒƒ๋“ค์—์„œ ์–ธ๊ธ‰๋œ ์ตœ๊ณ ์˜ ํ”„๋ ˆ์ž„์›Œํฌ, ์•„ํ‚คํ…์ฒ˜ ๋˜๋Š” ํŒจํ„ด์ด ๋ฌด์—‡์ธ์ง€์— ๋Œ€ํ•œ ๋ณดํŽธ์ ์ธ ๋‹ต์€ ์—†์Šต๋‹ˆ๋‹ค.

์ด๊ฒƒ๋“ค์€ ํ•ญ์ƒ ํŠน์ • ์ง€ํ‘œ์— ๋Œ€ํ•œ ๊ตํ™˜์ž…๋‹ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ๋ฌด์—‡์„ ์–ป๊ณ  ํฌ๊ธฐํ•ด์•ผ ํ•˜๋Š”์ง€ ์•„๋Š” ๊ฒƒ์€ ์—ฌ๋Ÿฌ๋ถ„์ด ๋ฌด์—‡์„ ๋งŒ๋“ค๊ณ  ์žˆ๋Š๋ƒ์— ๋”ฐ๋ผ ๋‹ฌ๋ ค์žˆ์Šต๋‹ˆ๋‹ค. ์‚ฌ์šฉ์ž๊ฐ€ ๋ˆ„๊ตฌ์ธ์ง€, ์‚ฌ์šฉ ํŒจํ„ด์€ ์–ด๋–ค์ง€, ์ฃผ์š” ์‚ฌ์šฉ์ž ๊ฒฝํ—˜๊ณผ ๊ด€๋ จ๋œ ๋‹ค๋ฅธ ์š”๊ตฌ์‚ฌํ•ญ(์„ฑ๋Šฅ)๋“ค๋„ ์ค‘์š”ํ•ฉ๋‹ˆ๋‹ค.

์šฐ๋ฆฌ ๋Œ€๋ถ€๋ถ„์—๊ฒŒ ์ง„์‹ค์€ ์ค‘๊ฐ„ ์–ด๋””์—”๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค. ํ”„๋ ˆ์ž„์›Œํฌ์™€ ํ˜์‹ ์˜ ์ƒˆ๋กœ์šด ๋ฌผ๊ฒฐ์˜ ์ข‹์€ ์ ์€ ํ•„์š”์— ๋”ฐ๋ผ ํ™•์žฅ ๋ฐ ์ถ•์†Œํ•  ์ˆ˜ ์žˆ๋Š” ๋ ˆ๋ฒ„๋ฅผ ์ œ๊ณตํ•œ๋‹ค๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค.

์—…๊ณ„์— ์ž…๋ฌธํ•˜๋Š” ์‚ฌ๋žŒ๋“ค๊ณผ ๊ฒฝํ—˜์ด ์žˆ๋Š” ์‚ฌ๋žŒ๋“ค ๋ชจ๋‘์—๊ฒŒ ๊ธฐ๋ณธ์— ํˆฌ์žํ•˜๋Š” ๊ฒƒ์€ ํ•ญ์ƒ ์ข‹์€ ๋ฒ ํŒ…์ž…๋‹ˆ๋‹ค.

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

์ฐธ์กฐ ๋ฐ ๋ฆฌ์†Œ์Šค

๐Ÿš€ ํ•œ๊ตญ์–ด๋กœ ๋œ ํ”„๋ŸฐํŠธ์—”๋“œ ์•„ํ‹ฐํด์„ ๋น ๋ฅด๊ฒŒ ๋ฐ›์•„๋ณด๊ณ  ์‹ถ๋‹ค๋ฉด Korean FE Article(https://kofearticle.substack.com/)์„ ๊ตฌ๋…ํ•ด์ฃผ์„ธ์š”!


Written by@[Ykss]
๊ณ ์ด๊ฒŒ ๋‘์ง€ ์•Š๊ณ  ํ˜๋ ค๋ณด๋‚ด๋Š” ๊ฐœ๋ฐœ์ž๊ฐ€ ๋˜์ž.

GitHubInstagramLinkedIn