nyximos.log

[Vue.js] Vue.js๋ž€? ๋ณธ๋ฌธ

Programming/Vue.js

[Vue.js] Vue.js๋ž€?

nyximos 2022. 2. 12. 19:25

๐Ÿงถ Vue.js๋ž€?

์‚ฌ์šฉ์ž ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ๋งŒ๋“ค๊ธฐ ์œ„ํ•œ ํ”„๋กœ๊ทธ๋ ˆ์‹œ๋ธŒ ํ”„๋ ˆ์ž„์›Œํฌ

MVVM ํŒจํ„ด์˜ ViewModel ๋ ˆ์ด์–ด์— ํ•ด๋‹นํ•˜๋Š” ํ™”๋ฉด๋‹จ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ

 

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

 

๐Ÿ“Œ MVVM ํŒจํ„ด

Backend ๋กœ์ง๊ณผ Client์˜ ๋งˆํฌ์—… & ๋ฐ์ดํ„ฐ ํ‘œํ˜„๋‹จ์„ ๋ถ„๋ฆฌํ•˜๊ธฐ ์œ„ํ•œ ๊ตฌ์กฐ๋กœ ์ „ํ†ต์ ์ธ MVC ํŒจํ„ด์˜ ๋ฐฉ์‹์—์„œ ๊ธฐ์ธํ•œ๋‹ค.

๊ฐ„๋‹จํ•˜๊ฒŒ ์ƒ๊ฐํ•ด์„œ ํ™”๋ฉด ์•ž๋‹จ์˜ ํ™”๋ฉด ๋™์ž‘ ๊ด€๋ จ ๋กœ์ง๊ณผ ๋’ท๋‹จ์˜ DB ๋ฐ์ดํ„ฐ ์ฒ˜๋ฆฌ ๋ฐ ์„œ๋ฒ„ ๋กœ์ง์„ ๋ถ„๋ฆฌํ•˜๊ณ ,

๋’ท๋‹จ์—์„œ ๋„˜์–ด์˜จ ๋ฐ์ดํ„ฐ๋ฅผ Model์— ๋‹ด์•„ View๋กœ ๋„˜์–ด์ฃผ๋Š” ์ค‘๊ฐ„ ์ง€์ ์ด๋ผ๊ณ  ๋ณด๋ฉด ๋œ๋‹ค.

 

๐Ÿ“Œ ๋ฐ์ดํ„ฐ ๋ฐ”์ธ๋”ฉ Data binding

View์™€ Moedel์„ ํ•˜๋‚˜๋กœ ๋ฌถ์–ด ์œ ๊ธฐ์ ์œผ๋กœ ๋™์ž‘ํ•˜๊ฒŒ ํ•˜๋Š” ๊ฒƒ

๊ธฐ์กด์—๋Š” DOM API๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ DOM์„ ์ง์ ‘ ์กฐ์ž‘ํ•˜๋Š” ๋ฐฉ์‹์ด๋ผ์„œ View๊ฐ€ ๋ณ€๊ฒฝ๋˜๋ฉด ๋กœ์ง์ด ๋ณ€๊ฒฝ๋  ๊ฐ€๋Šฅ์„ฑ์ด ๋†’๋‹ค.

๋ฐ์ดํ„ฐ ๋ฐ”์ธ๋”ฉ์„ ์‚ฌ์šฉํ•˜๋ฉด ํ…œํ”Œ๋ฆฟ ๋ฌธ๋ฒ•์„ ์‚ฌ์šฉํ•˜์—ฌ ํ…œํ”Œ๋ฆฟ์—์„œ ์ง์ ‘ ์ปดํฌ๋„ŒํŠธ ํด๋ž˜์Šค์˜ ํ”„๋กœํผํ‹ฐ๋ฅผ ์ฐธ์กฐํ•ด์„œ ๋กœ์ง์„ ๋ณ€๊ฒฝํ•  ํ•„์š”๊ฐ€ ์—†๋‹ค.

 

๐Ÿ“Œ ์–‘๋ฐฉํ–ฅ ๋ฐ์ดํ„ฐ ๋ฐ”์ธ๋”ฉ

๋ฐ์ดํ„ฐ์˜ ๋ณ€๊ฒฝ์„ ํ”„๋ ˆ์ž„ ์›Œํฌ์—์„œ ๊ฐ์ง€

→ ๋ฐ์ดํ„ฐ๊ฐ€ ๋ณ€๊ฒฝ๋˜๋Š” ์‹œ์ ์— DOM ๊ฐ์ฒด์— ๋ Œ๋”๋ง์„ ํ•ด์ฃผ๊ฑฐ๋‚˜ ํŽ˜์ด์ง€ ๋‚ด์—์„œ ๋ชจ๋ธ์˜ ๋ณ€๊ฒฝ์„ ๊ฐ์ง€ ํ›„, ๋‚ด์šฉ ๋ณ€๊ฒฝ

์ฝ”๋“œ๋Ÿ‰์„ ์ค„์—ฌ์ฃผ์–ด ์œ ์ง€๋ณด์ˆ˜, ์ฝ”๋“œ๊ด€๋ฆฌ๊ฐ€ ์šฉ์ดํ•˜๋‹ค.

 

๐Ÿ“Œ ์ปดํฌ๋„ŒํŠธ ํ˜•ํƒœ

ํ™”๋ฉด์˜ ์˜์—ญ์„ ์ผ์ •ํ•œ ๋‹จ์œ„๋กœ ์ชผ๊ฐœ์–ด ์žฌํ™œ์šฉ ๊ฐ€๋Šฅํ•œ ํ˜•ํƒœ๋กœ ๊ด€๋ฆฌํ•˜๋Š” ๊ฒƒ

→ ์šฐ๋ฆฌ๊ฐ€ ํ”„๋ ˆ์ž„์›Œํฌ๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ์ด์œ !

 

 

 

์ฐธ์กฐ

 

์–‘๋ฐฉํ–ฅ ๋ฐ์ดํ„ฐ ๋ฐ”์ธ๋”ฉ - https://velog.io/@sunaaank/data-binding