ํ”„๋ก ํŠธ์—”๋“œ ๊ธฐ์ˆ ์„ ์—ฐ๋งˆํ•˜๊ธฐ ์œ„ํ•œ 9๊ฐ€์ง€ ์ถ”๊ฐ€ ํ”„๋กœ์ ํŠธ

ํ”„๋ก ํŠธ์—”๋“œ ๊ธฐ์ˆ ์„ ์—ฐ๋งˆํ•˜๊ธฐ ์œ„ํ•œ 9๊ฐ€์ง€ ์ถ”๊ฐ€ ํ”„๋กœ์ ํŠธ

์†Œ๊ฐœ

ํ”„๋กœ๊ทธ๋ž˜๋ฐ์„ ์ฒ˜์Œ ์ ‘ํ•˜๋Š” ์‚ฌ๋žŒ์ด๋“  ๋…ธ๋ จํ•œ ๊ฐœ๋ฐœ์ž์ด๋“  ๊ด€๊ณ„์—†์ด ์ƒˆ๋กœ์šด ๊ฐœ๋…๊ณผ ์–ธ์–ด/ํ”„๋ ˆ์ž„์›Œํฌ๋ฅผ ๋ฐฐ์šฐ๋Š” ๊ฒƒ์€ ์ด ์—…๊ณ„์—์„œ ํŠธ๋ Œ๋“œ๋ฅผ ๋”ฐ๋ผ์žก๋Š” ๋ฐ ํ•„์ˆ˜์ž…๋‹ˆ๋‹ค.

์˜ˆ๋ฅผ ๋“ค์–ด Facebook์ด ๋ถˆ๊ณผ XNUMX๋…„ ์ „์— ์˜คํ”ˆ์†Œ์Šค๋กœ ๊ณต๊ฐœํ–ˆ์œผ๋ฉฐ ์ด๋ฏธ ์ „ ์„ธ๊ณ„ JavaScript ๊ฐœ๋ฐœ์ž์—๊ฒŒ ์ตœ๊ณ ์˜ ์„ ํƒ์ด ๋œ React๋ฅผ ์˜ˆ๋กœ ๋“ค์–ด ๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค.

๋ฌผ๋ก  Vue์™€ Angular๋„ ํ•ฉ๋ฒ•์ ์ธ ํŒฌ์ธต์„ ๋ณด์œ ํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  Svelte์™€ Next.js ๋˜๋Š” Nuxt.js์™€ ๊ฐ™์€ ๊ธฐํƒ€ ๋ฒ”์šฉ ํ”„๋ ˆ์ž„์›Œํฌ๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  Gatsby, Gridsome, Quasar... ๊ทธ๋ฆฌ๊ณ  ํ›จ์”ฌ ๋”.

์ˆ™๋ จ๋œ JavaScript ๊ฐœ๋ฐœ์ž๋กœ์„œ ์ž์‹ ์„ ์ฆ๋ช…ํ•˜๋ ค๋ฉด ์˜ค๋ž˜๋œ JS๋กœ ์ž‘์—…ํ•˜๋Š” ๊ฒƒ ์™ธ์—๋„ ๋‹ค์–‘ํ•œ ํ”„๋ ˆ์ž„์›Œํฌ์™€ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์— ๋Œ€ํ•œ ๊ฒฝํ—˜์ด ์ตœ์†Œํ•œ ์–ด๋Š ์ •๋„ ์žˆ์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

2020๋…„์— ํ”„๋ŸฐํŠธ์—”๋“œ ๋งˆ์Šคํ„ฐ๊ฐ€ ๋  ์ˆ˜ ์žˆ๋„๋ก ๋•๊ธฐ ์œ„ํ•ด ์ €๋Š” XNUMX๊ฐœ์˜ ํ”„๋กœ์ ํŠธ๋ฅผ ๊ตฌ์„ฑํ–ˆ์Šต๋‹ˆ๋‹ค. ๊ฐ ํ”„๋กœ์ ํŠธ๋Š” ์—ฌ๋Ÿฌ๋ถ„์ด ๊ตฌ์ถ•ํ•˜๊ณ  ํฌํŠธํด๋ฆฌ์˜ค์— ์ถ”๊ฐ€ํ•  ์ˆ˜ ์žˆ๋Š” ๊ธฐ์ˆ  ์Šคํƒ์œผ๋กœ์„œ ์„œ๋กœ ๋‹ค๋ฅธ JavaScript ํ”„๋ ˆ์ž„์›Œํฌ์™€ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์— ์ค‘์ ์„ ๋‘ก๋‹ˆ๋‹ค. ์‹ค์ œ๋กœ ๋ฌด์–ธ๊ฐ€๋ฅผ ๋งŒ๋“œ๋Š” ๊ฒƒ๋ณด๋‹ค ๋” ๋„์›€์ด ๋˜๋Š” ๊ฒƒ์€ ์—†๋‹ค๋Š” ๊ฒƒ์„ ๊ธฐ์–ตํ•˜์‹ญ์‹œ์˜ค. ๊ทธ๋Ÿฌ๋‹ˆ ์•ž์œผ๋กœ ๋‚˜์•„๊ฐ€๊ณ , ๋งˆ์Œ์„ ์‚ฌ์šฉํ•˜์—ฌ ๊ทธ๊ฒƒ์„ ์‹คํ˜„์‹œํ‚ค์‹ญ์‹œ์˜ค.

ํ”„๋ก ํŠธ์—”๋“œ ๊ธฐ์ˆ ์„ ์—ฐ๋งˆํ•˜๊ธฐ ์œ„ํ•œ 9๊ฐ€์ง€ ์ถ”๊ฐ€ ํ”„๋กœ์ ํŠธ

์ด ๊ธฐ์‚ฌ๋Š” EDISON Software์˜ ์ง€์›์œผ๋กœ ๋ฒˆ์—ญ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ๋ฉ€ํ‹ฐ ๋ธŒ๋žœ๋“œ ๋งค์žฅ์„ ์œ„ํ•œ ๊ฐ€์ƒ ํ”ผํŒ…๋ฃธ ๋งŒ๋“ค๊ธฐ๊ณผ ํ…Œ์ŠคํŠธ ์†Œํ”„ํŠธ์›จ์–ด.

React๋ฅผ ์‚ฌ์šฉํ•œ ์˜ํ™” ๊ฒ€์ƒ‰ ์•ฑ(ํ›„ํฌ ํฌํ•จ)

๊ฐ€์žฅ ๋จผ์ € ์‹œ์ž‘ํ•  ์ˆ˜ ์žˆ๋Š” ์ผ์€ React๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์˜ํ™” ๊ฒ€์ƒ‰ ์•ฑ์„ ๋งŒ๋“œ๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. ์•„๋ž˜๋Š” ์ตœ์ข… ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์˜ ๋ชจ์Šต์„ ๋ณด์—ฌ์ฃผ๋Š” ์ด๋ฏธ์ง€์ž…๋‹ˆ๋‹ค.

ํ”„๋ก ํŠธ์—”๋“œ ๊ธฐ์ˆ ์„ ์—ฐ๋งˆํ•˜๊ธฐ ์œ„ํ•œ 9๊ฐ€์ง€ ์ถ”๊ฐ€ ํ”„๋กœ์ ํŠธ

๋ฌด์—‡์„ ๋ฐฐ์šธ ๊ฒƒ์ธ๊ฐ€
์ด ์•ฑ์„ ๊ตฌ์ถ•ํ•˜๋ฉด ์ƒ๋Œ€์ ์œผ๋กœ ์ƒˆ๋กœ์šด Hooks API๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ React ๊ธฐ์ˆ ์„ ํ–ฅ์ƒ์‹œํ‚ฌ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์˜ˆ์ œ ํ”„๋กœ์ ํŠธ์—์„œ๋Š” React ๊ตฌ์„ฑ ์š”์†Œ, ๋งŽ์€ ํ›„ํฌ, ์™ธ๋ถ€ API ๋ฐ ์ผ๋ถ€ CSS ์Šคํƒ€์ผ์„ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.

๊ธฐ์ˆ  ์Šคํƒ ๋ฐ ๊ธฐ๋Šฅ

  • ํ›„ํฌ๋กœ ๋ฐ˜์‘
  • ๋ฐ˜์‘ ํ˜• ์•ฑ ๋งŒ๋“ค๊ธฐ
  • JSX
  • CSS

ํด๋ž˜์Šค๋ฅผ ์‚ฌ์šฉํ•˜์ง€ ์•Š๊ณ ๋„ ์ด ํ”„๋กœ์ ํŠธ๋Š” ๊ธฐ๋Šฅ์  React์— ๋Œ€ํ•œ ์™„๋ฒฝํ•œ ์ง„์ž…์ ์„ ์ œ๊ณตํ•˜๋ฉฐ 2020๋…„์— ํ™•์‹คํžˆ ๋„์›€์ด ๋  ๊ฒƒ์ž…๋‹ˆ๋‹ค. ๋‹น์‹ ์€ ์ฐพ์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค ์˜ˆ์ œ ํ”„๋กœ์ ํŠธ๋Š” ์—ฌ๊ธฐ. ์ง€์นจ์„ ๋”ฐ๋ฅด๊ฑฐ๋‚˜ ์ง์ ‘ ๋งŒ๋“œ์‹ญ์‹œ์˜ค.

Vue์™€ ์ฑ„ํŒ… ์•ฑ

๋˜ ๋‹ค๋ฅธ ํ›Œ๋ฅญํ•œ ํ”„๋กœ์ ํŠธ๋Š” ์ œ๊ฐ€ ๊ฐ€์žฅ ์ข‹์•„ํ•˜๋Š” JavaScript ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์ธ VueJS๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ฑ„ํŒ… ์•ฑ์„ ๋งŒ๋“œ๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. ์‘์šฉ ํ”„๋กœ๊ทธ๋žจ์€ ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.

ํ”„๋ก ํŠธ์—”๋“œ ๊ธฐ์ˆ ์„ ์—ฐ๋งˆํ•˜๊ธฐ ์œ„ํ•œ 9๊ฐ€์ง€ ์ถ”๊ฐ€ ํ”„๋กœ์ ํŠธ

๋ฌด์—‡์„ ๋ฐฐ์šธ ๊ฒƒ์ธ๊ฐ€
์ด ํŠœํ† ๋ฆฌ์–ผ์—์„œ๋Š” ๊ตฌ์„ฑ ์š”์†Œ ์ƒ์„ฑ, ์ƒํƒœ ์ฒ˜๋ฆฌ, ๊ฒฝ๋กœ ์ƒ์„ฑ, ํƒ€์‚ฌ ์„œ๋น„์Šค ์—ฐ๊ฒฐ, ์ธ์ฆ ์ฒ˜๋ฆฌ ๋“ฑ Vue ์•ฑ์„ ์ฒ˜์Œ๋ถ€ํ„ฐ ๋งŒ๋“œ๋Š” ๋ฐฉ๋ฒ•์„ ๋ฐฐ์›๋‹ˆ๋‹ค.

๊ธฐ์ˆ  ์Šคํƒ ๋ฐ ๊ธฐ๋Šฅ

  • ๋ทฐ
  • ๋ทฐ์—‘์Šค
  • Vue ๋ผ์šฐํ„ฐ
  • ๋ทฐ CLI
  • ๋ฏธ๋Š” ์‚ฌ๋žŒ
  • CSS

์ด๋Š” Vue๋ฅผ ์‹œ์ž‘ํ•˜๊ฑฐ๋‚˜ ๊ธฐ์กด ๊ธฐ์ˆ ์„ ํ–ฅ์ƒํ•˜์—ฌ 2020๋…„ ๊ฐœ๋ฐœ์— ์ฐฉ์ˆ˜ํ•  ์ˆ˜ ์žˆ๋Š” ์ •๋ง ํ›Œ๋ฅญํ•œ ํ”„๋กœ์ ํŠธ์ž…๋‹ˆ๋‹ค. ๋‹น์‹ ์€ ์ฐพ์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค ์—ฌ๊ธฐ ํŠœํ† ๋ฆฌ์–ผ.

Angular 8์„ ์‚ฌ์šฉํ•œ ์•„๋ฆ„๋‹ค์šด ๋‚ ์”จ ์•ฑ

์ด ์˜ˆ๋Š” Angular 8์„ ์‚ฌ์šฉํ•˜์—ฌ ์•„๋ฆ„๋‹ค์šด ๋‚ ์”จ ์•ฑ์„ ๋งŒ๋“œ๋Š” ๋ฐ ๋„์›€์ด ๋ฉ๋‹ˆ๋‹ค.

ํ”„๋ก ํŠธ์—”๋“œ ๊ธฐ์ˆ ์„ ์—ฐ๋งˆํ•˜๊ธฐ ์œ„ํ•œ 9๊ฐ€์ง€ ์ถ”๊ฐ€ ํ”„๋กœ์ ํŠธ

๋ฌด์—‡์„ ๋ฐฐ์šธ ๊ฒƒ์ธ๊ฐ€
์ด ํ”„๋กœ์ ํŠธ๋Š” ์„ค๊ณ„๋ถ€ํ„ฐ ๊ฐœ๋ฐœ, ๋ฐฐํฌ ๊ฐ€๋Šฅํ•œ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์— ์ด๋ฅด๊ธฐ๊นŒ์ง€ ์ฒ˜์Œ๋ถ€ํ„ฐ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ๊ตฌ์ถ•ํ•˜๋Š” ๋ฐ ํ•„์š”ํ•œ ๊ท€์ค‘ํ•œ ๊ธฐ์ˆ ์„ ๊ฐ€๋ฅด์ณ์ค๋‹ˆ๋‹ค.

๊ธฐ์ˆ  ์Šคํƒ ๋ฐ ๊ธฐ๋Šฅ

  • ๊ฐ๋„ 8
  • ์ค‘ํฌ ๊ธฐ์ง€
  • ์„œ๋ฒ„ ์ธก ๋ Œ๋”๋ง
  • ๊ทธ๋ฆฌ๋“œ์™€ Flexbox๊ฐ€ ํฌํ•จ๋œ CSS
  • ๋ชจ๋ฐ”์ผ ์นœํ™”์ ์ด๊ณ  ์ ์‘์„ฑ
  • ๋‹คํฌ ๋ชจ๋“œ
  • ํฌ๋ผ์‹œ๋ฐ” ์ธํ„ฐํŽ˜์ด์Šค

์ด ํฌ๊ด„์ ์ธ ํ”„๋กœ์ ํŠธ์—์„œ ์ œ๊ฐ€ ์ •๋ง ์ข‹์•„ํ•˜๋Š” ์ ์€ ๊ณ ๋ฆฝ๋œ ์ƒํƒœ์—์„œ ๊ณต๋ถ€ํ•˜์ง€ ์•Š๋Š”๋‹ค๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. ๋Œ€์‹  ์„ค๊ณ„๋ถ€ํ„ฐ ์ตœ์ข… ๋ฐฐํฌ๊นŒ์ง€ ์ „์ฒด ๊ฐœ๋ฐœ ํ”„๋กœ์„ธ์Šค๋ฅผ ๋ฐฐ์›๋‹ˆ๋‹ค.

Svelte๋ฅผ ์‚ฌ์šฉํ•œ To-Do ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜

Svelte๋Š” ์ตœ์†Œํ•œ React, Vue ๋ฐ Angular์™€ ์œ ์‚ฌํ•œ ๊ตฌ์„ฑ ์š”์†Œ ๊ธฐ๋ฐ˜ ์ ‘๊ทผ ๋ฐฉ์‹์˜ ์ƒˆ๋กœ์šด ์•„์ด์™€ ๊ฐ™์Šต๋‹ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ์ด๊ฒƒ์€ 2020๋…„ ๊ฐ€์žฅ ํ•ซํ•œ ์‹ ์ œํ’ˆ ์ค‘ ํ•˜๋‚˜์ž…๋‹ˆ๋‹ค.

To-Do ์•ฑ์€ ๋ฐ˜๋“œ์‹œ ๊ฐ€์žฅ ์ธ๊ธฐ ์žˆ๋Š” ์ฃผ์ œ๋Š” ์•„๋‹ˆ์ง€๋งŒ Svelte ๊ธฐ์ˆ ์„ ์—ฐ๋งˆํ•˜๋Š” ๋ฐ ์‹ค์ œ๋กœ ๋„์›€์ด ๋  ๊ฒƒ์ž…๋‹ˆ๋‹ค. ๋‹ค์Œ๊ณผ ๊ฐ™์ด ๋ณด์ผ ๊ฒƒ์ž…๋‹ˆ๋‹ค:

ํ”„๋ก ํŠธ์—”๋“œ ๊ธฐ์ˆ ์„ ์—ฐ๋งˆํ•˜๊ธฐ ์œ„ํ•œ 9๊ฐ€์ง€ ์ถ”๊ฐ€ ํ”„๋กœ์ ํŠธ

๋ฌด์—‡์„ ๋ฐฐ์šธ ๊ฒƒ์ธ๊ฐ€
์ด ํŠœํ† ๋ฆฌ์–ผ์—์„œ๋Š” ์ฒ˜์Œ๋ถ€ํ„ฐ ๋๊นŒ์ง€ Svelte 3๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ๋งŒ๋“œ๋Š” ๋ฐฉ๋ฒ•์„ ๋ณด์—ฌ์ค๋‹ˆ๋‹ค. ๊ตฌ์„ฑ์š”์†Œ, ์Šคํƒ€์ผ, ์ด๋ฒคํŠธ ํ•ธ๋“ค๋Ÿฌ๋ฅผ ์‚ฌ์šฉํ•˜๊ฒŒ ๋ฉ๋‹ˆ๋‹ค.

๊ธฐ์ˆ  ์Šคํƒ ๋ฐ ๊ธฐ๋Šฅ

  • ๋‚ ์”ฌํ•œ 3
  • ๊ตฌ์„ฑ ์š”์†Œ
  • CSS๋ฅผ ์‚ฌ์šฉํ•œ ์Šคํƒ€์ผ๋ง
  • ES 6 ๊ตฌ๋ฌธ

์ข‹์€ Svelte ์Šคํƒ€ํ„ฐ ํ”„๋กœ์ ํŠธ๊ฐ€ ๋งŽ์ง€ ์•Š์•„์„œ ์ฐพ์•˜์Šต๋‹ˆ๋‹ค. ์ด๊ฒƒ์€ ์‹œ์ž‘ํ•˜๊ธฐ์— ์ข‹์€ ์˜ต์…˜์ž…๋‹ˆ๋‹ค.

Next.js๋ฅผ ์‚ฌ์šฉํ•œ ์ „์ž์ƒ๊ฑฐ๋ž˜ ์•ฑ

Next.js๋Š” ์ฆ‰์‹œ ์„œ๋ฒ„ ์ธก ๋ Œ๋”๋ง์„ ์ง€์›ํ•˜๋Š” React ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ๊ตฌ์ถ•ํ•˜๋Š” ๋ฐ ๊ฐ€์žฅ ๋„๋ฆฌ ์‚ฌ์šฉ๋˜๋Š” ํ”„๋ ˆ์ž„์›Œํฌ์ž…๋‹ˆ๋‹ค.

์ด ํ”„๋กœ์ ํŠธ์—์„œ๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์€ ์ „์ž ์ƒ๊ฑฐ๋ž˜ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ๋งŒ๋“œ๋Š” ๋ฐฉ๋ฒ•์„ ๋ณด์—ฌ์ค๋‹ˆ๋‹ค.

ํ”„๋ก ํŠธ์—”๋“œ ๊ธฐ์ˆ ์„ ์—ฐ๋งˆํ•˜๊ธฐ ์œ„ํ•œ 9๊ฐ€์ง€ ์ถ”๊ฐ€ ํ”„๋กœ์ ํŠธ

๋ฌด์—‡์„ ๋ฐฐ์šธ ๊ฒƒ์ธ๊ฐ€
์ด ํ”„๋กœ์ ํŠธ์—์„œ๋Š” Next.js๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๊ฐœ๋ฐœํ•˜๋Š” ๋ฐฉ๋ฒ•, ์ฆ‰ ์ƒˆ ํŽ˜์ด์ง€์™€ ๊ตฌ์„ฑ ์š”์†Œ๋ฅผ ๋งŒ๋“ค๊ณ , ๋ฐ์ดํ„ฐ๋ฅผ ์ถ”์ถœํ•˜๊ณ , Next ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์˜ ์Šคํƒ€์ผ์„ ์ง€์ •ํ•˜๊ณ  ๋ฐฐํฌํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ๋ฐฐ์›๋‹ˆ๋‹ค.

๊ธฐ์ˆ  ์Šคํƒ ๋ฐ ๊ธฐ๋Šฅ

  • ๋‹ค์Œ .js
  • ๊ตฌ์„ฑ ์š”์†Œ ๋ฐ ํŽ˜์ด์ง€
  • ๋ฐ์ดํ„ฐ ์ƒ˜ํ”Œ๋ง
  • ์Šคํƒ€์ผ๋ง
  • ํ”„๋กœ์ ํŠธ ๋ฐฐํฌ
  • SSR ๋ฐ SPA

์ƒˆ๋กœ์šด ๊ฒƒ์„ ๋ฐฐ์šฐ๊ธฐ ์œ„ํ•ด ์ „์ž์ƒ๊ฑฐ๋ž˜ ์•ฑ๊ณผ ๊ฐ™์€ ์‹ค์ œ ์‚ฌ๋ก€๋ฅผ ๊ฐ–๋Š” ๊ฒƒ์€ ํ•ญ์ƒ ์ข‹์€ ์ผ์ž…๋‹ˆ๋‹ค. ๋‹น์‹ ์€ ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค ์—ฌ๊ธฐ์„œ ํŠœํ† ๋ฆฌ์–ผ์„ ์ฐพ์•„๋ณด์„ธ์š”.

Nuxt.js๋ฅผ ์‚ฌ์šฉํ•œ ๋ณธ๊ฒฉ์ ์ธ ๋‹ค๊ตญ์–ด ๋ธ”๋กœ๊ทธ

Nuxt.js๋Š” Vue์šฉ์ด๊ณ  Next.js๋Š” React์šฉ์ž…๋‹ˆ๋‹ค. ์„œ๋ฒ„ ์ธก ๋ Œ๋”๋ง๊ณผ ๋‹จ์ผ ํŽ˜์ด์ง€ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์˜ ์„ฑ๋Šฅ์„ ๊ฒฐํ•ฉํ•˜๊ธฐ ์œ„ํ•œ ํ›Œ๋ฅญํ•œ ํ”„๋ ˆ์ž„์›Œํฌ์ž…๋‹ˆ๋‹ค.
๋งŒ๋“ค ์ˆ˜ ์žˆ๋Š” ์ตœ์ข… ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์€ ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.

ํ”„๋ก ํŠธ์—”๋“œ ๊ธฐ์ˆ ์„ ์—ฐ๋งˆํ•˜๊ธฐ ์œ„ํ•œ 9๊ฐ€์ง€ ์ถ”๊ฐ€ ํ”„๋กœ์ ํŠธ

๋ฌด์—‡์„ ๋ฐฐ์šธ ๊ฒƒ์ธ๊ฐ€

์ด ์ƒ˜ํ”Œ ํ”„๋กœ์ ํŠธ์—์„œ๋Š” ์ดˆ๊ธฐ ์„ค์ •๋ถ€ํ„ฐ ์ตœ์ข… ๋ฐฐํฌ๊นŒ์ง€ Nuxt.js๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์™„์ „ํ•œ ์›น์‚ฌ์ดํŠธ๋ฅผ ๋งŒ๋“œ๋Š” ๋ฐฉ๋ฒ•์„ ๋ฐฐ์šฐ๊ฒŒ ๋ฉ๋‹ˆ๋‹ค.

ํŽ˜์ด์ง€, ๊ตฌ์„ฑ ์š”์†Œ, SCSS๋ฅผ ์‚ฌ์šฉํ•œ ์Šคํƒ€์ผ๋ง ๋“ฑ Nuxt๊ฐ€ ์ œ๊ณตํ•˜๋Š” ๋ฉ‹์ง„ ๊ธฐ๋Šฅ์„ ๋งŽ์ด ํ™œ์šฉํ•ฉ๋‹ˆ๋‹ค.

๊ธฐ์ˆ  ์Šคํƒ ๋ฐ ๊ธฐ๋Šฅ

  • Nuxt.js
  • ๊ตฌ์„ฑ ์š”์†Œ ๋ฐ ํŽ˜์ด์ง€
  • ์Šคํ† ๋ฆฌ๋ธ”๋ก ๋ชจ๋“ˆ
  • ๋จน์žฅ์–ด
  • ์ƒํƒœ ๊ด€๋ฆฌ๋ฅผ ์œ„ํ•œ Vuex
  • ์Šคํƒ€์ผ๋ง์„ ์œ„ํ•œ SCSS
  • Nuxt ๋ฏธ๋“ค์›จ์–ด

์ •๋ง ๋ฉ‹์ง„ ํ”„๋กœ์ ํŠธ๋„ค์š”, ์—ฌ๊ธฐ์—๋Š” ๋งŽ์€ ํ›Œ๋ฅญํ•œ Nuxt.js ๊ธฐ๋Šฅ์ด ํฌํ•จ๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค. ์ €๋Š” ๊ฐœ์ธ์ ์œผ๋กœ Nuxt๋กœ ์ž‘์—…ํ•˜๋Š” ๊ฒƒ์„ ์ข‹์•„ํ•ฉ๋‹ˆ๋‹ค. Nuxt๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ํ›Œ๋ฅญํ•œ Vue ๊ฐœ๋ฐœ์ž๊ฐ€ ๋  ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค.

๊ฐœ์ธ ๋น„์™€ ํ•จ๊ป˜ํ•˜๋Š” ๋ธ”๋กœ๊ทธ

Gatsby๋Š” React์™€ GraphQL์„ ์‚ฌ์šฉํ•˜๋Š” ๋›ฐ์–ด๋‚œ ์ •์  ์‚ฌ์ดํŠธ ์ƒ์„ฑ๊ธฐ์ž…๋‹ˆ๋‹ค. ํ”„๋กœ์ ํŠธ์˜ ๊ฒฐ๊ณผ๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.

ํ”„๋ก ํŠธ์—”๋“œ ๊ธฐ์ˆ ์„ ์—ฐ๋งˆํ•˜๊ธฐ ์œ„ํ•œ 9๊ฐ€์ง€ ์ถ”๊ฐ€ ํ”„๋กœ์ ํŠธ

๋ฌด์—‡์„ ๋ฐฐ์šธ ๊ฒƒ์ธ๊ฐ€

์ด ํŠœํ† ๋ฆฌ์–ผ์—์„œ๋Š” Gatsby๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ React ๋ฐ GraphQL์„ ์‚ฌ์šฉํ•˜์—ฌ ์ž์‹ ๋งŒ์˜ ๊ธฐ์‚ฌ๋ฅผ ์ž‘์„ฑํ•˜๋Š” ๋ฐ ์‚ฌ์šฉํ•  ๋ธ”๋กœ๊ทธ๋ฅผ ๋งŒ๋“œ๋Š” ๋ฐฉ๋ฒ•์„ ๋ฐฐ์›๋‹ˆ๋‹ค.

๊ธฐ์ˆ  ์Šคํƒ ๋ฐ ๊ธฐ๋Šฅ

  • ๊ฐœ์ธ ๋น„
  • ๋ฐ˜์‘
  • GraphQL
  • ํ”Œ๋Ÿฌ๊ทธ์ธ ๋ฐ ํ…Œ๋งˆ
  • MDX/๋งˆํฌ๋‹ค์šด
  • ๋ถ€ํŠธ ์ŠคํŠธ๋žฉ CSS
  • ํ…œํ”Œ๋ฆฟ

๋ธ”๋กœ๊ทธ๋ฅผ ์‹œ์ž‘ํ•˜๊ณ  ์‹ถ์—ˆ๋˜ ์ ์ด ์žˆ๋‹ค๋ฉด, ์ด๊ฑด ์ข‹์€ ์˜ˆ์•ผ React์™€ GraphQL์„ ์‚ฌ์šฉํ•˜์—ฌ ๋งŒ๋“œ๋Š” ๋ฐฉ๋ฒ•์— ๋Œ€ํ•ด ์•Œ์•„๋ณด์„ธ์š”.

WordPress๊ฐ€ ๋‚˜์œ ์„ ํƒ์ด๋ผ๊ณ  ๋งํ•˜๋Š” ๊ฒƒ์€ ์•„๋‹ˆ์ง€๋งŒ Gatsby๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด React๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๊ณ ์„ฑ๋Šฅ ์›น์‚ฌ์ดํŠธ๋ฅผ ๊ตฌ์ถ•ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๋Š” ๋†€๋ผ์šด ์กฐํ•ฉ์ž…๋‹ˆ๋‹ค.

Gridsome๊ณผ ํ•จ๊ป˜ํ•˜๋Š” ๋ธ”๋กœ๊ทธ

Vue์šฉ Gridsome... ์ข‹์Šต๋‹ˆ๋‹ค. Next/Nuxt์—์„œ๋Š” ์ด๋ฏธ ์ด ๊ธฐ๋Šฅ์„ ์‚ฌ์šฉํ–ˆ์Šต๋‹ˆ๋‹ค.
๊ทธ๋Ÿฌ๋‚˜ Gridsome๊ณผ Gatsby์˜ ๊ฒฝ์šฐ๋„ ๋งˆ์ฐฌ๊ฐ€์ง€์ž…๋‹ˆ๋‹ค. ๋‘˜ ๋‹ค GraphQL์„ ๋ฐ์ดํ„ฐ ๊ณ„์ธต์œผ๋กœ ์‚ฌ์šฉํ•˜์ง€๋งŒ Gridsome์€ VueJS๋ฅผ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. ์ด๊ฒƒ์€ ๋˜ํ•œ ํ›Œ๋ฅญํ•œ ๋ธ”๋กœ๊ทธ๋ฅผ ๋งŒ๋“œ๋Š” ๋ฐ ๋„์›€์ด ๋˜๋Š” ๋†€๋ผ์šด ์ •์  ์‚ฌ์ดํŠธ ์ƒ์„ฑ๊ธฐ์ž…๋‹ˆ๋‹ค.

ํ”„๋ก ํŠธ์—”๋“œ ๊ธฐ์ˆ ์„ ์—ฐ๋งˆํ•˜๊ธฐ ์œ„ํ•œ 9๊ฐ€์ง€ ์ถ”๊ฐ€ ํ”„๋กœ์ ํŠธ

๋ฌด์—‡์„ ๋ฐฐ์šธ ๊ฒƒ์ธ๊ฐ€

์ด ํ”„๋กœ์ ํŠธ์—์„œ๋Š” Gridsome, GraphQL ๋ฐ Markdown์„ ์‹œ์ž‘ํ•˜๊ธฐ ์œ„ํ•ด ๊ฐ„๋‹จํ•œ ๋ธ”๋กœ๊ทธ๋ฅผ ๋งŒ๋“œ๋Š” ๋ฐฉ๋ฒ•์„ ์•Œ๋ ค์ค๋‹ˆ๋‹ค. ๋˜ํ•œ Netlify๋ฅผ ํ†ตํ•ด ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ๋ฐฐํฌํ•˜๋Š” ๋ฐฉ๋ฒ•๋„ ๋‹ค๋ฃน๋‹ˆ๋‹ค.

๊ธฐ์ˆ  ์Šคํƒ ๋ฐ ๊ธฐ๋Šฅ

  • ๊ทธ๋ฆฌ์„ฌ
  • ๋ทฐ
  • GraphQL
  • ์ธํ•˜
  • ๋„คํ‹ฐ ํŒŒ์ด

์ด๊ฒƒ์€ ํ™•์‹คํžˆ ๊ฐ€์žฅ ํฌ๊ด„์ ์ธ ํŠœํ† ๋ฆฌ์–ผ์€ ์•„๋‹ˆ์ง€๋งŒ Gridsome์˜ ๊ธฐ๋ณธ ๊ฐœ๋…๊ณผ ๋งˆํฌ๋‹ค์šด์€ ์ข‹์€ ์ถœ๋ฐœ์ ์ด ๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

Quasar๋ฅผ ์‚ฌ์šฉํ•˜๋Š” SoundCloud์™€ ์œ ์‚ฌํ•œ ์˜ค๋””์˜ค ํ”Œ๋ ˆ์ด์–ด

Quasar๋Š” ๋ชจ๋ฐ”์ผ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ๋งŒ๋“œ๋Š” ๋ฐ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ๋˜ ๋‹ค๋ฅธ Vue ํ”„๋ ˆ์ž„์›Œํฌ์ž…๋‹ˆ๋‹ค. ์ด ํ”„๋กœ์ ํŠธ์—์„œ๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์€ ์˜ค๋””์˜ค ํ”Œ๋ ˆ์ด์–ด ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ๋งŒ๋“ญ๋‹ˆ๋‹ค.

ํ”„๋ก ํŠธ์—”๋“œ ๊ธฐ์ˆ ์„ ์—ฐ๋งˆํ•˜๊ธฐ ์œ„ํ•œ 9๊ฐ€์ง€ ์ถ”๊ฐ€ ํ”„๋กœ์ ํŠธ

๋ฌด์—‡์„ ๋ฐฐ์šธ ๊ฒƒ์ธ๊ฐ€

๋‹ค๋ฅธ ํ”„๋กœ์ ํŠธ๋Š” ์ฃผ๋กœ ์›น ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์— ์ค‘์ ์„ ๋‘์ง€๋งŒ, ์ด ํ”„๋กœ์ ํŠธ์—์„œ๋Š” Vue ๋ฐ Quasar ํ”„๋ ˆ์ž„์›Œํฌ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋ชจ๋ฐ”์ผ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ๋งŒ๋“œ๋Š” ๋ฐฉ๋ฒ•์„ ๋ณด์—ฌ์ค๋‹ˆ๋‹ค.
Android Studio/Xcode๊ฐ€ ๊ตฌ์„ฑ๋œ ์ƒํƒœ์—์„œ Cordova๊ฐ€ ์ด๋ฏธ ์‹คํ–‰ ์ค‘์ด์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๋ ‡์ง€ ์•Š์€ ๊ฒฝ์šฐ ์„ค๋ช…์„œ์—๋Š” ๋ชจ๋“  ์„ค์ • ๋ฐฉ๋ฒ•์„ ๋ณด์—ฌ์ฃผ๋Š” Quasar ์›น์‚ฌ์ดํŠธ ๋งํฌ๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค.

๊ธฐ์ˆ  ์Šคํƒ ๋ฐ ๊ธฐ๋Šฅ

  • ํ€˜์ด์‚ฌ
  • ๋ทฐ
  • ์ฝ”๋ฅด๋„๋ฐ”
  • ์›จ์ด๋ธŒ์„œํผ
  • UI ๊ตฌ์„ฑ์š”์†Œ

์†Œ๊ทœ๋ชจ ํ”„๋กœ์ ํŠธ, ๋ชจ๋ฐ”์ผ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ์ œ์ž‘์„ ์œ„ํ•œ Quasar์˜ ๊ธฐ๋Šฅ์„ ๋ณด์—ฌ์ค๋‹ˆ๋‹ค.

์ถœ์ฒ˜ : habr.com

์ฝ”๋ฉ˜ํŠธ๋ฅผ ์ถ”๊ฐ€