Frontend/Angular vs React

Angular vs React | ์ƒ๋ช…์ฃผ๊ธฐ ๋ฉ”์„œ๋“œ์— ๋Œ€ํ•ด์„œ

์ด์ œํฌ 2023. 12. 6. 18:00


๊ณตํ†ต์ 

1. ์ดˆ๊ธฐํ™” ๋‹จ๊ณ„

  • ๋‘ ํ”„๋ ˆ์ž„์›Œํฌ ๋ชจ๋‘ ์ปดํฌ๋„ŒํŠธ ์ดˆ๊ธฐํ™” ๋‹จ๊ณ„์—์„œ ํŠน์ • ๋ฉ”์„œ๋“œ๋ฅผ ์‹คํ–‰ํ•œ๋‹ค.
    • Angular : ngOnInit
    • React : constructor, componentDidMount

2. ์†Œ๋ฉธ ๋‹จ๊ณ„

  • ๋‘ ํ”„๋ ˆ์ž„์›Œํฌ ๋ชจ๋‘ ์ปดํฌ๋„ŒํŠธ ์†Œ๋ฉธ ๋‹จ๊ณ„์—์„œ ํŠน์ • ๋ฉ”์„œ๋“œ๋ฅผ ์‹คํ–‰ํ•œ๋‹ค.
    • Angular : ngOnDestroy
    • React : componentWillUnmount

์ฐจ์ด์ 

1. ๋ณ€๊ฒฝ ๊ฐ์ง€ (Change Detection)

  • Angular
    • ๋ณ€๊ฒฝ ๊ฐ์ง€ ๋ฉ”์ปค๋‹ˆ์ฆ˜์„ ๋‚ด๋ถ€์ ์œผ๋กœ ์ฒ˜๋ฆฌํ•œ๋‹ค.
    • ์ปดํฌ๋„ŒํŠธ์˜ ์ƒํƒœ๋‚˜ ๋ฐ์ดํ„ฐ๊ฐ€ ๋ณ€๊ฒฝ๋  ๋•Œ๋งˆ๋‹ค Angular๋Š” ์ปดํฌ๋„ŒํŠธ์˜ ๋ทฐ๋ฅผ ์—…๋ฐ์ดํŠธํ•œ๋‹ค.
    • ex) ngOnChanges, ngDoCheck
  • React
    • Virtual DOM์„ ์‚ฌ์šฉํ•˜์—ฌ ๋ณ€๊ฒฝ ๊ฐ์ง€๋ฅผ ์ˆ˜ํ–‰ํ•œ๋‹ค.
    • ์ปดํฌ๋„ŒํŠธ์˜ ์ƒํƒœ๋‚˜ ์†์„ฑ์ด ๋ณ€๊ฒฝ๋  ๋•Œ๋งˆ๋‹ค ๊ฐ€์ƒ DOM์„ ์—…๋ฐ์ดํŠธ ํ•œ๋‹ค.
    • ์ด์ „๊ณผ ํ˜„์žฌ์˜ ๊ฐ€์ƒ DOM์„ ๋น„๊ตํ•˜์—ฌ ์‹ค์ œ DOM์— ์ตœ์†Œํ•œ์˜ ๋ณ€๊ฒฝ๋งŒ ๋ฐ˜์˜ํ•œ๋‹ค.
    • ex) shouldComponentUpdate

2. ๋ Œ๋”๋ง๊ณผ ์—…๋ฐ์ดํŠธ

  • Angular
    • ๋žœ๋”๋ง๊ณผ ์—…๋ฐ์ดํŠธ๊ฐ€ ํ†ตํ•ฉ๋œ ๋Š๋‚Œ์ด๋‹ค.
  • React
    • ๋ Œ๋”๋ง๊ณผ ์—…๋ฐ์ดํŠธ๊ฐ€ ๋ช…ํ™•ํ•˜๊ฒŒ ๊ตฌ๋ถ„๋˜์–ด ์žˆ๋‹ค.
    • ex) render, componentDisUpdate

3. ๋™๊ธฐ vs ๋น„๋™๊ธฐ

  • Angular
    • ์ƒ๋ช…์ฃผ๊ธฐ ๋ฉ”์„œ๋“œ๊ฐ€ ๋™๊ธฐ์ ์œผ๋กœ ํ˜ธ์ถœ๋œ๋‹ค.
    • ex) ngOnInit : ์ปดํฌ๋„ŒํŠธ๊ฐ€ ์ดˆ๊ธฐํ™”๋  ๋•Œ ๋™๊ธฐ์ ์œผ๋กœ ํ˜ธ์ถœ๋œ๋‹ค.
  • React
    • ์ผ๋ถ€ ์ƒ๋ช…์ฃผ๊ธฐ ๋ฉ”์„œ๋“œ๊ฐ€ ๋น„๋™๊ธฐ์ ์œผ๋กœ ๋™์ž‘๋  ์ˆ˜ ์žˆ๋‹ค.
    • ex) componentDidMount : ๋„คํŠธ์›Œํฌ ์š”์ฒญ๊ณผ ๊ฐ™์€ ๋น„๋™๊ธฐ ์ž‘์—…์„ ์ˆ˜ํ–‰ํ•  ๋•Œ ์‚ฌ์šฉ๋œ๋‹ค.
๋ฐ˜์‘ํ˜•