240809 React ์†Œ๊ฐœ

์‹ ํ•œ๋ณ„ยท2024๋…„ 8์›” 9์ผ

๐Ÿ’ช ๋งค์ผ ๊ธฐ๋ก

๋ชฉ๋ก ๋ณด๊ธฐ
47/97

๐Ÿšจ ReactJS

UI Library์ธ React.js๋ž€ ๋ฌด์—‡์ธ๊ฐ€ โ“

1. ๊ณต์‹ํ™ˆํŽ˜์ด์ง€์—์„œ ์†Œ๊ฐœํ•˜๋Š” React.js

(1). ์›น๊ณผ ๋„ค์ดํ‹ฐ๋ธŒ UI๋ฅผ ์œ„ํ•œ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ

  • UI๋ฅผ ๋งŒ๋“ค๊ธฐ ์œ„ํ•œ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ผ๊ณ  ์†Œ๊ฐœํ•˜๊ณ  ์žˆ๋‹ค.

(2). ๊ณต์‹ ํ™ˆํŽ˜์ด์ง€

2. React๋Š” ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ?!

(1). ํ”„๋ ˆ์ž„์›Œํฌ์™€ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ

ํ”„๋ ˆ์ž„์›Œํฌ?

  • ๊ฐœ๋ฐœ์ž๊ฐ€ ๊ธฐ๋Šฅ ๊ตฌํ˜„์—๋งŒ ์ง‘์ค‘ํ•  ์ˆ˜ ์žˆ๋„๋ก ํ•„์š”ํ•œ ๋ชจ๋“  ํ”„๋กœ๊ทธ๋ž˜๋ฐ์  ์žฌ์›์„ ์ง€์›ํ•˜๋Š” ๊ธฐ์ˆ ์˜ ์กฐํ•ฉ
    • Spring Framework : Java ๊ธฐ๋ฐ˜์˜ ์›น(๋ฐฑ์—”๋“œ) ํ”„๋ ˆ์ž„์›Œํฌ
    • Vue.js, Angular.js : Javascript ๊ธฐ๋ฐ˜ ์›น ํ”„๋ก ํŠธ์—”๋“œ SPA ํ”„๋ ˆ์ž„์›Œํฌ
    • Django, Flask : Python ๊ธฐ๋ฐ˜์˜ ์›น ํ”„๋ ˆ์ž„์›Œํฌ
    • Ruby on Rails
    • .NET Framework
    • Express.js, NestJS : Javascript ๊ธฐ๋ฐ˜ ์›น ๋ฐฑ์—”๋“œ ํ”„๋ ˆ์ž„์›Œํฌ
    • ๋ณธ๋ž˜ ๊ฐœ๋ฐœ ์‹œ โ€˜์ œ์–ดโ€™๋ฅผ ํ•˜๋Š” ๊ฒƒ์€ ๊ฐœ๋ฐœ์ž์˜ ์—ญํ• 
      - ํ”„๋ ˆ์ž„์›Œํฌ๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ฒฝ์šฐ ์‹œํ‚ค๋Š”๋Œ€๋กœ ์ฝ”๋“œ๋ฅผ ์งœ๊ฒŒ ๋˜๋ฉด ํ”„๋ ˆ์ž„์›Œํฌ๊ฐ€ ์•Œ์•„์„œ ์ œ์–ด์˜ ํ๋ฆ„์„ ๊ฐ€์ ธ๊ฐ

๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ?

  • ๊ณตํ†ต ๊ธฐ๋Šฅ์˜ ๋ชจ๋“ˆํ™”๊ฐ€ ์ด๋ฃจ์–ด์ง„ ํ”„๋กœ๊ทธ๋žจ์˜ ์ง‘ํ•ฉ
    • React.js
    • react-router-dom
    • redux

(2). React.js๋Š” ์™œ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ?

  • ๊ทธ ์ž์ฒด๋งŒ์œผ๋กœ ํ”„๋ ˆ์ž„์›Œํฌ๋ผ๊ณ  ํ•˜๊ธฐ์—” ์ œ๊ณตํ•˜๋Š” ๊ธฐ๋Šฅ์ด ๋ถ€์‹ค
  • ์ƒํƒœ๊ด€๋ฆฌ(Redux), ๋ผ์šฐํŒ…(React-router-dom), ์Šคํƒ€์ผ๋ง ๋“ฑ์˜ ๋ถ€์žฌ

3. React.js์˜ ํŠน์ง•๊ณผ ์ด์ 

(1) SPA

  • SPA
    Single Page Application, ํ•œ ๊ฐœ์˜ ํŽ˜์ด์ง€๋กœ ์ด๋ฃจ์–ด์ง„ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜

(2) ์ธ๊ธฐ๋งŽ์Œ

(3) UI๊ฐ€ ํ•„์š”ํ•œ ๊ณณ์ด๋ฉด ์–ด๋””๋“ 

  • ์›น ๋ฟ ์•„๋‹ˆ๋ผ React Native๋ฅผ ํ™œ์šฉํ•œ ๋ชจ๋ฐ”์ผ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์—์„œ๋„ ํ™œ์šฉ ๊ฐ€๋Šฅ

(4) ์ปค๋ฎค๋‹ˆํ‹ฐ, ์ฑ„์šฉ๊ณต๊ณ ๊ฐ€ ๋งŽ์Œ

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