1 ๋ถ„ ์†Œ์š”

๐Ÿ“š Vue.js


๐Ÿ“š Vue.js

Vue.js ๋ž€

Vue.js ํŠน์ง•

  • Approachable ( ์ ‘๊ทผ์„ฑ )
  • Versatile ( ์œ ์—ฐ์„ฑ )
  • Performant ( ๊ณ ์„ฑ๋Šฅ )

Vue.js ์žฅ์ 

  • ๋‹ค๋ฅธ ํ”„๋ ˆ์ž„์›Œํฌ์™€ ๋‹ฌ๋ฆฌ ์œ ์—ฐํ•˜๊ณ  ๊ฐ€๋ณ๋‹ค
  • angular.js ์™€๋Š” ๋‹ฌ๋ฆฌ ๊ธฐ์กด์˜ ์›น ์–ดํ”Œ๋ฆฌ์ผ€์ด์…˜์˜ ์ผ๋ถ€ UI๋งŒ ์ ์šฉํ•˜๋Š”๊ฒƒ๋„ ๊ฐ€๋Šฅ
  • SPA ( Single Page Application : ๋‹จ์ผ ํŽ˜์ด์ง€ ์–ดํ”Œ๋ฆฌ์ผ€์ด์…˜ ) ๊ตฌ์„ฑ์„ ์œ„ํ•ด ํ•„์š”ํ•œ ๋ผ์šฐํ„ฐ ๊ธฐ๋Šฅ๋„ ์ง€์›
  • react.js ์™€ ๋งˆ์ฐฌ๊ฐ€์ง€๋กœ ๊ฐ€์ƒ DOM์„ ์ง€์›ํ•˜์—ฌ ๋น ๋ฅธ UI ๋žœ๋”๋ง์ด ๊ฐ€๋Šฅ

React, Angular ์˜ ์žฅ์ ์„ ๊ฐ€์ง

Angular์˜ ์–‘๋ฐฉํ–ฅ ๋ฐ์ดํ„ฐ ๋ฐ”์ธ๋”ฉ + React์˜ ๋‹จ๋ฐฉํ–ฅ ๋ฐ์ดํ„ฐ ํ๋ฆ„์˜ ์žฅ์ ์„ ๋ชจ๋‘ ๊ฒฐํ•ฉํ•œ ํ”„๋ ˆ์ž„ ์›Œํฌ

  • ์–‘๋ฐฉํ–ฅ ๋ฐ์ดํ„ฐ ๋ฐ”์ธ๋”ฉ
    • ํ™”๋ฉด์— ํ‘œ์‹œ๋˜๋Š” ๊ฐ’๊ณผ ํ”„๋ ˆ์ž„์›Œํฌ์˜ ๋ชจ๋ธ ๋ฐ์ดํ„ฐ ๊ฐ’์ด ๋™๊ธฐํ™” ๋˜์–ด ํ•œ์ชฝ์ด ๋ณ€๊ฒฝ๋˜๋ฉด ๋‹ค๋ฅธ ํ•œ์ชฝ๋„ ์ž๋™์œผ๋กœ ๋ณ€๊ฒฝ๋˜๋Š” ๊ฒƒ
  • ๋‹จ๋ฐฉํ–ฅ ๋ฐ์ดํ„ฐ ๋ฐ”์ธ๋”ฉ
    • ์ปดํฌ๋„ŒํŠธ ๋‹จ๋ฐฉํ–ฅ ํ†ต์‹ ์„ ์˜๋ฏธํ•˜๋Š”๋ฐ ์ปดํฌ๋„ŒํŠธ ๊ฐ„ ๋ฐ์ดํ„ฐ๋ฅผ ์ „๋‹ฌํ•  ๋•Œ ํ•ญ์ƒ ์ƒ์œ„ ์ปดํฌ๋„ŒํŠธ์—์„œ ํ•˜์œ„ ์ปดํฌ๋„ŒํŠธ ๋ฐฉํ–ฅ์œผ๋กœ ์ „๋‹ฌํ•˜๊ฒŒ๋” ๊ตฌ์กฐํ™” ๋˜์–ด ์žˆ๋Š” ๊ฒƒ์„ ์˜๋ฏธ

MVVM ํŒจํ„ด ์ด๋ž€


MVVM ( Model-View-ViewModel ) ์€ UI ๋ฐ ๋น„ UI ์ฝ”๋“œ๋ฅผ ๋ถ„๋ฆฌํ•˜๊ธฐ ์œ„ํ•œ UI ์•„ํ‚คํ…์ณ ๋””์ž์ธ ํŒจํ„ด์ด๋‹ค.
๊ฐ„๋‹จํžˆ ๋งํ•ด์„œ ํ™”๋ฉด ์•ž๋‹จ์˜ ํ™”๋ฉด ๋™์ž‘ ๊ด€๋ จ ๋กœ์ง๊ณผ ๋’ท๋‹จ์˜ DB ๋ฐ์ดํ„ฐ ์ฒ˜๋ฆฌ ๋ฐ ์„œ๋ฒ„ ๋กœ์ง์„ ๋ถ„๋ฆฌํ•˜๊ณ ,
๋’ท๋‹จ์—์„œ ๋„˜์–ด์˜จ ๋ฐ์ดํ„ฐ๋ฅผ Model์— ๋‹ด์•„ View๋กœ ๋„˜์–ด๊ฐ€๋Š” ์ค‘๊ฐ„ ์ง€์ ์ด๋ผ๊ณ  ๋ณด๋ฉด ๋œ๋‹ค.


๊ธฐ์กด์—๋Š” ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ๋กœ view์— ํ•ด๋‹นํ•˜๋Š” DOM์— ์ ‘๊ทผํ•˜๊ฑฐ๋‚˜ ์ˆ˜์ •ํ•˜๊ธฐ ์œ„ํ•ด jQuery์™€ ๊ฐ™์€ Library๋ฅผ ์ด์šฉํ–ˆ๋‹ค.
Vue๋Š” view์™€ Model์„ ์—ฐ๊ฒฐํ•˜๊ณ  ์ž๋™์œผ๋กœ ๋ฐ”์ธ๋”ฉํ•˜๋ฏ€๋กœ ์–‘๋ฐฉํ–ฅ ํ†ต์‹ ์„ ๊ฐ€๋Šฅํ•˜๊ฒŒ ํ•œ๋‹ค.

MVVM VS MVC