React / Vue / Angular / Svelte

silnoonยท2023๋…„ 1์›” 18์ผ
0

๐Ÿ“Œ React / Vue / Angular / Svelte ๋ฅผ ๋น„๊ตํ•ด๋ณด๋Š” ์•„ํ‹ฐํด์„ ์ž‘์„ฑํ•ด๋ณด์ž

  • ๊ฐ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ/ํ”„๋ ˆ์ž„์›Œํฌ์˜ ์ฃผ๋œ ์ฐจ์ด์ ์€ ๋ฌด์—‡์ธ๊ฐ€?
  • ์Šคํƒ€ํŠธ์—…์„ ์ฐฝ์—…ํ•œ๋‹ค๊ณ  ํ•  ๋•Œ, ๋ฌด์Šจ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ/ํ”„๋ ˆ์ž„์›Œํฌ๋ฅผ ์‚ฌ์šฉํ•ด์•ผ ํ• ๊นŒ?
  • ๋‚œ ๋ฌด์—‡์„ ์œ„ํ•ด React ๋ฅผ ํ•™์Šตํ•˜๋Š”๊ฐ€?

๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์™€ ํ”„๋ ˆ์ž„์›Œํฌ์˜ ์ฐจ์ด๋ฅผ ์งš๊ณ  ๊ฐ€์ž๋ฉด?

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

*๋ฆฌ์•กํŠธ์˜ ๊ฒฝ์šฐ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋กœ ๋ถ„๋ฅ˜๊ฐ€ ๋ฉ๋‹ˆ๋‹ค!

แ„‰แ…ณแ„แ…ณแ„…แ…ตแ†ซแ„‰แ…ฃแ†บ 2022-11-04 แ„‹แ…ฉแ„’แ…ฎ 3 59 36

https://2021.stateofjs.com/en-US/libraries/front-end-frameworks

ํ”„๋ก ํŠธ์—”๋“œ์—์„œ ๊ฐ€์žฅ ๋งŽ์ด ์–ธ๊ธ‰๋˜๊ณ  ์‚ฌ์šฉ๋˜๋Š” React, Vue, Angular, Svelte์˜ ์‚ฌ์šฉ ํ˜„ํ™ฉ์ž…๋‹ˆ๋‹ค.

Usage Golden trio! React, Angular, Vue.js

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

1. React

๐Ÿ“ขย ์‚ฌ์šฉ์ž ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ๋งŒ๋“ค๊ธฐ ์œ„ํ•œ JavaScript ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ

  1. ์„ ์–ธํ˜•

    ๋ฐ์ดํ„ฐ๊ฐ€ ๋ณ€๊ฒฝ๋˜๋Š” ์ปดํฌ๋„ŒํŠธ๋งŒ ํšจ์œจ์ ์œผ๋กœ ๋ Œ๋”๋ง. โ†’ ์ฝ”๋“œ๋ฅผ ์˜ˆ์ธก ๊ฐ€๋Šฅํ•˜๊ณ  ๋””๋ฒ„๊น… ํ•˜๊ธฐ ์‰ฌ์›€.

  2. ์ปดํฌ๋„ŒํŠธ ๊ธฐ๋ฐ˜

    JS๊ธฐ๋ฐ˜์œผ๋กœ ์ž‘์„ฑ๋˜๋Š” ์ปดํฌ๋„ŒํŠธ ๋กœ์ง. DOM๊ณผ ๋ณ„๊ฐœ๋กœ ์ƒํƒœ ๊ด€๋ฆฌ ๊ฐ€๋Šฅ

  3. ํ•œ ๋ฒˆ ๋ฐฐ์›Œ์„œ ์–ด๋””์„œ๋‚˜ ์‚ฌ์šฉํ•˜๊ธฐ

    ๊ธฐ์ˆ  ์Šคํƒ์˜ ๋‚˜๋จธ์ง€ ๋ถ€๋ถ„์—๋Š” ๊ด€์—ฌํ•˜์ง€ ์•Š๊ธฐ ๋•Œ๋ฌธ์— React์˜ ์ƒˆ๋กœ์šด ๊ธฐ๋Šฅ์„ ์ด์šฉํ•ด ๊ฐœ๋ฐœํ•  ์ˆ˜ ์žˆ์Œ.

๐Ÿ“Œย ํŠน์ง•

  • virtual DOM
  • create-react-app์ด ์ž๋™์ ์œผ๋กœ boilerplate ์ƒ์„ฑ, React DevTools ์กด์žฌ
  • open source projects ๋งŽ์Œ.

2. Angular

๐Ÿ“ขย the modern web developerโ€™s platform

  1. Develop across all platform

    ํ•œ ๋ฐฉ์‹์œผ๋กœ application์„ buildํ•˜๋ฉด ๋‹ค๋ฅธ ์•ฑ์— ์žฌ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค.

  2. speed & performance

    ์›น ํ”Œ๋žซํผ์—์„œ ๊ฐ€์žฅ ๋น ๋ฅธ ์Šคํ”ผ๋“œ. SSR

  3. incredible tooling

    ๊ฐ„๋‹จํ•˜๊ณ  ๋ช…ํ™•ํ•œ ํ…œํ”Œ๋ฆฟ, ํ™•์žฅ์„ฑ ์ œ์–ด

  4. loved by millions

๐Ÿ“Œย ํŠน์ง•

  • SPA (Single Page Applications)
  • Components-based workflow + ์ปดํฌ๋„ŒํŠธ ๊ด€๋ฆฌํ•˜๋Š” ํ…œํ”Œ๋ฆฟ ์‹œ์Šคํ…œ

3. Vue

๐Ÿ“ขย The Progressive JavaScript Framework

  1. Approchable

    html, css, js ํ‘œ์ค€์œผ๋กœ ๋งŒ๋“ค์–ด์กŒ๋‹ค

  2. Performant

    ๋ฐ˜์‘ํ˜•, ๋ Œ๋”๋ง ์‹œ์Šคํ…œ ์ตœ์ ํ™”, ์ˆ˜๋™ ์ตœ์ ํ™” ์ตœ์†Œํ™”

  3. Versatile(๋‹ค์žฌ๋‹ค๋Šฅํ•œ, ๋‹ค์šฉ๋„์˜)

    ์ ์‘๊ฐ€๋Šฅํ•œ ์ƒํƒœ๊ณ„, ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ถ€ํ„ฐ ์™„์ „ํ•œ ๊ธฐ๋Šฅ์„ ๊ฐ–์ถ˜ ํ”„๋ ˆ์ž„์›Œํฌ๊นŒ์ง€.

๐Ÿ“Œย ํŠน์ง•

  • Vue excels at being flexible. the framework doesnโ€™t impose a strict routine but rather lets you decide on what you want to build.

4. Svelte

๐Ÿ“ขย Cybernetically enhanced web apps

  1. Write less code
  2. No virtual DOM
  3. Truly reactive

๐Ÿ“Œย ํŠน์ง•

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

  • HMR(Hot Module replace)


๊ทธ๋Ÿผ ๋‚˜๋Š” ๋‹ค์Œ์— ๋ญ˜ ์“ธ๊นŒ?

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

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

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

ํ•˜์ง€๋งŒ Svelte์˜ โ€˜๋น ๋ฅด๋‹คโ€™์ด๋ผ๋Š” ํŠน์ง•์€ ์ œ ๋ˆˆ๊ธธ์ด ๊ฐ€๊ฒŒ ํ–ˆ์Šต๋‹ˆ๋‹ค.


Svelte, SvelteKit

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

๋ฆฌ์•กํŠธ์— next.js๊ฐ€ ์žˆ๋Š” ๊ฒƒ์ฒ˜๋Ÿผ svelte์—๋Š” svelteKit๊ฐ€ ์žˆ๋Š”๋ฐ, svelteKit๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด SSR์›น์•ฑ์„ ๊ตฌ์ถ•ํ•˜๊ฑฐ๋‚˜ ๋ผ์šฐํŒ… ๋ฐฉ๋ฉด์—์„œ ํ•ธ๋“ค๋ง์ด ์‰ฌ์›Œ์ง‘๋‹ˆ๋‹ค. (๊ฐ„๋‹จํ•˜๊ฒŒ ์ •๋ฆฌ๋œ ์‚ฌ์šฉ๋ฐฉ๋ฒ• ๋ธ”๋กœ๊ทธ) ์•„์ง svelteKit๋Š” ์ •์‹ ๋ฆด๋ฆฌ์ฆˆ ๋‹จ๊ณ„๊ฐ€ ์•„๋‹ˆ์ง€๋งŒ ์กฐ๋งŒ๊ฐ„ Official Release๊ฐ€ ๋‚˜์˜ฌ ๊ฒƒ ๊ฐ™์•„ ๋ณด์ž…๋‹ˆ๋‹ค.

์ ์€ ์ฝ”๋“œ๋กœ ๊ฐ€๋…์„ฑ โฌ†๏ธ, ๋””๋ฒ„๊น… ์‰ฝ๊ฒŒ

Write less code!
แ„‰แ…ณแ„แ…ณแ„…แ…ตแ†ซแ„‰แ…ฃแ†บ 2022-11-04 แ„‹แ…ฉแ„’แ…ฎ 4 00 09

No virtual DOM
แ„‰แ…ณแ„แ…ณแ„…แ…ตแ†ซแ„‰แ…ฃแ†บ 2022-11-04 แ„‹แ…ฉแ„’แ…ฎ 4 00 20

virtual DOM์„ ์‚ฌ์šฉํ•˜์ง€ ์•Š์Œ์œผ๋กœ์จ(๋ฒ„์ธ„์–ผ ๋”์„ ์ƒ์„ฑํ•˜๊ณ  ๊ธฐ์กด ๋”๊ณผ ๋น„๊ตํ•˜๋Š”๋ฐ ๋ฆฌ์†Œ์Šค๊ฐ€ ๋“ค์–ด๊ฐ€์ง€ ์•Š์Œ) ๋“ค์–ด๊ฐ€๋Š” ๋ฉ”๋ชจ๋ฆฌ ์‚ฌ์šฉ๋Ÿ‰์ด ๋ฆฌ์•กํŠธ์˜ ๊ฑฐ์˜ 1/3๋ฐฐ

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


์ฐธ๊ณ  ์‚ฌ์ดํŠธ
https://yozm.wishket.com/magazine/detail/1620/
https://heropy.blog/2019/09/29/svelte/

profile
์›๋ž˜ ์‹ค๋ˆˆ์บ๊ฐ€ ์‚ฌ๊ธฐ์บ์ž–์•„์š” (v๏ฟฃโ–ฝ๏ฟฃ)

0๊ฐœ์˜ ๋Œ“๊ธ€