๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
Develop/It ์ด๊ฒƒ์ €๊ฒƒ

2024๋…„ ์ตœ์‹  ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ํ”„๋ ˆ์ž„์›Œํฌ ๋น„๊ต: React vs Angular vs Vue.js vs Svelte

by _mingle 2024. 6. 20.
728x90

React

๊ฐœ์š”

React๋Š” Facebook์—์„œ ๊ฐœ๋ฐœํ•œ ํ”„๋ก ํŠธ์—”๋“œ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋กœ, ๋น ๋ฅด๊ณ  ํšจ์œจ์ ์ธ UI ๋นŒ๋“œ๋ฅผ ์œ„ํ•ด ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค. ๊ฐ€์ƒ DOM(Virtual DOM)๊ณผ ๋‹จ๋ฐฉํ–ฅ ๋ฐ์ดํ„ฐ ํ๋ฆ„์„ ํŠน์ง•์œผ๋กœ ํ•ฉ๋‹ˆ๋‹ค.

์ฃผ์š” ํŠน์ง•

  • ์ปดํฌ๋„ŒํŠธ ๊ธฐ๋ฐ˜ ์•„ํ‚คํ…์ฒ˜: ์žฌ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•œ UI ์ปดํฌ๋„ŒํŠธ ์ƒ์„ฑ
  • Virtual DOM: ์„ฑ๋Šฅ ์ตœ์ ํ™”
  • ํ’๋ถ€ํ•œ ์ƒํƒœ๊ณ„: Redux, React Router ๋“ฑ

์žฅ์ 

  • ๊ฐ•๋ ฅํ•œ ์ปค๋ฎค๋‹ˆํ‹ฐ: ํ’๋ถ€ํ•œ ์ž๋ฃŒ์™€ ํŠœํ† ๋ฆฌ์–ผ
  • ์œ ์—ฐ์„ฑ: ๋‹ค์–‘ํ•œ ํ”„๋กœ์ ํŠธ์— ์ ์šฉ ๊ฐ€๋Šฅ
  • ํผํฌ๋จผ์Šค: ํšจ์œจ์ ์ธ ์—…๋ฐ์ดํŠธ

๋‹จ์ 

  • ์ดˆ๊ธฐ ์„ค์ • ๋ณต์žก์„ฑ: ์ดˆ๋ณด์ž์—๊ฒŒ ์–ด๋ ค์šธ ์ˆ˜ ์žˆ์Œ
  • JSX ๋ฌธ๋ฒ•: HTML๊ณผ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ์˜ ํ˜ผํ•ฉ

์‚ฌ์šฉ ์‚ฌ๋ก€

  • Facebook
  • Instagram
  • Airbnb

Angular

๊ฐœ์š”

Angular๋Š” Google์—์„œ ๊ฐœ๋ฐœํ•œ ํ”„๋ ˆ์ž„์›Œํฌ๋กœ, Typescript ๊ธฐ๋ฐ˜ ํด๋ผ์ด์–ธํŠธ ์‚ฌ์ด๋“œ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๋นŒ๋“œ์— ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค.

์ฃผ์š” ํŠน์ง•

  • Typescript ์‚ฌ์šฉ: ์ •์  ํƒ€์ž…์„ ํ†ตํ•œ ์ฝ”๋“œ ํ’ˆ์งˆ ํ–ฅ์ƒ
  • MVVM ์•„ํ‚คํ…์ฒ˜: ๋ชจ๋ธ-๋ทฐ-๋ทฐ๋ชจ๋ธ ํŒจํ„ด
  • ๊ฐ•๋ ฅํ•œ CLI: ํ”„๋กœ์ ํŠธ ์„ค์ • ๋ฐ ๊ด€๋ฆฌ ์šฉ์ด

์žฅ์ 

  • ์™„์ „ํ•œ ์†”๋ฃจ์…˜: ๋ผ์šฐํŒ…, ํผ, HTTP ํด๋ผ์ด์–ธํŠธ ๋“ฑ ๋‚ด์žฅ
  • ๋ชจ๋“ˆํ™”: ์ฝ”๋“œ ์žฌ์‚ฌ์šฉ์„ฑ ํ–ฅ์ƒ
  • ๊ธฐ์—…์šฉ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜: ๋Œ€๊ทœ๋ชจ ํ”„๋กœ์ ํŠธ์— ์ ํ•ฉ

๋‹จ์ 

  • ํ•™์Šต ๊ณก์„ : ๋Ÿฌ๋‹ ์ปค๋ธŒ๊ฐ€ ๊ฐ€ํŒŒ๋ฆ„
  • ๋ณต์žก์„ฑ: ๊ตฌ์กฐ๊ฐ€ ๋ณต์žกํ•  ์ˆ˜ ์žˆ์Œ

์‚ฌ์šฉ ์‚ฌ๋ก€

  • Google
  • Microsoft
  • IBM

Vue.js

๊ฐœ์š”

Vue.js๋Š” Evan You๊ฐ€ ๊ฐœ๋ฐœํ•œ ํ”„๋กœ๊ทธ๋ ˆ์‹œ๋ธŒ ํ”„๋ ˆ์ž„์›Œํฌ๋กœ, ์ ์ง„์  ์ ์šฉ์ด ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค. ๊ฐ„๊ฒฐํ•œ API์™€ ์œ ์—ฐ์„ฑ์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.

์ฃผ์š” ํŠน์ง•

  • ๋ฐ˜์‘ํ˜• ๋ฐ์ดํ„ฐ ๋ฐ”์ธ๋”ฉ: ๋ฐ์ดํ„ฐ์™€ DOM ๋™๊ธฐํ™”
  • ์ปดํฌ๋„ŒํŠธ ๊ธฐ๋ฐ˜ ์•„ํ‚คํ…์ฒ˜: ์žฌ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•œ ์ปดํฌ๋„ŒํŠธ
  • ๋‹จ๋ฐฉํ–ฅ ๋ฐ์ดํ„ฐ ํ๋ฆ„: ๋‹จ์ˆœํ•œ ๋ฐ์ดํ„ฐ ํ๋ฆ„

์žฅ์ 

  • ์‰ฌ์šด ๋ฌธ๋ฒ•: ์ดˆ๋ณด์ž๋„ ์‰ฝ๊ฒŒ ๋ฐฐ์šธ ์ˆ˜ ์žˆ์Œ
  • ์œ ์—ฐ์„ฑ: ์ ์ง„์  ๋„์ž… ๊ฐ€๋Šฅ
  • ์„ฑ๋Šฅ: ๊ฐ€๋ณ๊ณ  ๋น ๋ฆ„

๋‹จ์ 

  • ์ž‘์€ ์ปค๋ฎค๋‹ˆํ‹ฐ: React๋‚˜ Angular์— ๋น„ํ•ด ์ž‘์Œ
  • ํ”Œ๋Ÿฌ๊ทธ์ธ ์˜์กด์„ฑ: ์ผ๋ถ€ ๊ธฐ๋Šฅ์€ ์„œ๋“œํŒŒํ‹ฐ ํ”Œ๋Ÿฌ๊ทธ์ธ์— ์˜์กด

์‚ฌ์šฉ ์‚ฌ๋ก€

  • Alibaba
  • Xiaomi
  • Grammarly

Svelte

๊ฐœ์š”

Svelte๋Š” ์ปดํŒŒ์ผ ๋‹จ๊ณ„์—์„œ ์ฝ”๋“œ๋ฅผ ๋ณ€ํ™˜ํ•˜์—ฌ ๋Ÿฐํƒ€์ž„ ์‹œ ์ ์€ ์–‘์˜ ์ฝ”๋“œ๋ฅผ ์‹คํ–‰ํ•˜๋Š” ํ”„๋ ˆ์ž„์›Œํฌ์ž…๋‹ˆ๋‹ค.

์ฃผ์š” ํŠน์ง•

  • ์ปดํŒŒ์ผ๋Ÿฌ: ๋นŒ๋“œ ํƒ€์ž„์— ์ปดํฌ๋„ŒํŠธ ์ตœ์ ํ™”
  • ๋” ์ ์€ ์ฝ”๋“œ: ์ ์€ ์ฝ”๋“œ๋กœ ๋™์ผ ๊ธฐ๋Šฅ ๊ตฌํ˜„
  • ๋ฐ˜์‘ํ˜• ๊ตฌ์กฐ: ์ƒํƒœ ๋ณ€ํ™”๋ฅผ ์‰ฝ๊ฒŒ ๊ด€๋ฆฌ

์žฅ์ 

  • ์„ฑ๋Šฅ: ์ปดํŒŒ์ผ๋œ ์ฝ”๋“œ์˜ ํšจ์œจ์„ฑ
  • ๊ฐ„๋‹จํ•œ ์ƒํƒœ ๊ด€๋ฆฌ: ์ƒํƒœ ๊ด€๋ฆฌ๋ฅผ ๋‹จ์ˆœํ™”
  • ์ž‘์€ ๋ฒˆ๋“ค ํฌ๊ธฐ: ๋นŒ๋“œ๋œ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ํฌ๊ธฐ ์ž‘์Œ

๋‹จ์ 

  • ์ž‘์€ ์ƒํƒœ๊ณ„: ์ƒํƒœ๊ณ„๊ฐ€ ์ž‘์•„ ์ผ๋ถ€ ๊ธฐ๋Šฅ ๋ถ€์กฑ
  • ๋Ÿฌ๋‹ ์ปค๋ธŒ: ์ƒˆ๋กœ์šด ์ ‘๊ทผ ๋ฐฉ์‹์— ์ต์ˆ™ํ•ด์ ธ์•ผ ํ•จ

์‚ฌ์šฉ ์‚ฌ๋ก€

  • The New York Times
  • Rive
  • Spotify

๊ฒฐ๋ก 

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

728x90
๋ฐ˜์‘ํ˜•

๋Œ“๊ธ€