01. DesignSystem

๐Ÿ‘‰ [๊ฐ•์˜ ๋ณด๊ธฐ]

ํ•™์Šต ํ‚ค์›Œ๋“œ

  • ๋ฐ˜์‘ํ˜• ์›น ๋””์ž์ธ(Responsive web design)

  • ๋””์ž์ธ ์‹œ์Šคํ…œ(Design System)

  • Atomic Design

๋ฐ˜์‘ํ˜• ์›น ๋””์ž์ธ (RWD)

  • ์›น ํŽ˜์ด์ง€๊ฐ€ ๋ชจ๋“  ํ™”๋ฉด ํฌ๊ธฐ์™€ ํ•ด์ƒ๋„์—์„œ ์ž˜ ๋ Œ๋”๋ง๋˜๋„๋ก ํ•˜๋ฉด์„œ๋„ ์‚ฌ์šฉ์„ฑ์„ ๋ณด์žฅํ•˜๋Š” ์›น ๋””์ž์ธ ์ ‘๊ทผ ๋ฐฉ์‹

  • ๋ฉ€ํ‹ฐ ๋””๋ฐ”์ด์Šค ์›น์„ ์œ„ํ•œ ๋””์ž์ธ ๋ฐฉ์‹

  • HTML์€ ๊ธฐ๋ณธ์ ์œผ๋กœ ๋ฐ˜์‘ํ˜• ๋˜๋Š” ์œ ๋™์ 

  • CSS ์—†์ด HTML๋งŒ ํฌํ•จ๋œ ์›น ํŽ˜์ด์ง€๋ฅผ ๋งŒ๋“ค๊ณ  ์ฐฝ ํฌ๊ธฐ๋ฅผ ์กฐ์ •ํ•˜๋ฉด ๋ธŒ๋ผ์šฐ์ €๋Š” ๋ทฐํฌํŠธ์— ๋งž๊ฒŒ ํ…์ŠคํŠธ๋ฅผ ์ž๋™์œผ๋กœ ๋ฆฌํ”Œ๋กœ์šฐ

  • ๋ณ„๋„์˜ ๊ธฐ์ˆ ์ด ์•„๋‹ˆ๋ผ ํ•˜๋‚˜์˜ ์ ‘๊ทผ ๋ฐฉ์‹

  • ์ฝ˜ํ…์ธ ๋ฅผ ๋ณด๋Š” ๋ฐ ์‚ฌ์šฉ๋˜๋Š” ๋ชจ๋“  ๊ธฐ๊ธฐ์— ๋Œ€์‘ํ•  ์ˆ˜ ์žˆ๋Š” ๋ ˆ์ด์•„์›ƒ์„ ๋งŒ๋“œ๋Š” ๋ฐ ์‚ฌ์šฉ๋˜๋Š” ์ผ๋ จ์˜ ๋ชจ๋ฒ” ์‚ฌ๋ก€๋ฅผ ์„ค๋ช…ํ•˜๋Š” ๋ฐ ์‚ฌ์šฉ๋˜๋Š” ์šฉ์–ด

  • Flexibale Web Design

  • CSS๋ฅผ ์‚ฌ์šฉํ•œ ์œ ๋™์ ์ด๊ณ  ํƒ„๋ ฅ์ ์ธ ๋ ˆ์ด์•„์›ƒ์„ ๋งŒ๋“ค์–ด๋‚ด๋Š” ๊ฒƒ

  • ์‚ฌ์šฉ์„ฑ๊ณผ ์ ‘๊ทผ์„ฑ์„ ๊ทน๋Œ€ํ™”ํ•˜๊ณ  ๋ณ€ํ™”ํ•˜๋Š” ์ˆ˜ ๋งŽ์€ ์ปจํ…์ธ ์— ์ ์‘ํ•˜๋Š” ๋งค๋ ฅ์ ์ธ ์›น์‚ฌ์ดํŠธ๋ฅผ ๋””์ž์ธํ•˜๊ณ  ๊ตฌ์ถ•ํ•˜๋Š” ๋ฐฉ๋ฒ•

  • ๋‹ค์–‘ํ•œ ์‚ฌ์šฉ์ž์˜ ์„ ํ˜ธ๋„ ์•„๋ž˜์—์„œ hold up ํ•˜๋Š”

  • ์œ ๋™์ ์ด๊ณ  ์œ ์—ฐํ•œ(Liquid and Fluid) ๋ ˆ์ด์•„์›ƒ์€ ์‚ฌ์šฉ์ž์˜ ๊ณ ์œ ํ•œ ์žฅ์น˜์˜ ๋ณด๊ธฐ ํฌ๊ธฐ์— ๋”ฐ๋ผ ๋„ˆ๋น„๊ฐ€ ๋‹ฌ๋ผ์ง‘๋‹ˆ๋‹ค.

  • ํƒ„๋ ฅ์ ์ธ(Elastic) ๋ ˆ์ด์•„์›ƒ์€ ์œ ์ €์˜ ๊ณ ์œ ํ•œ ํ…์ŠคํŠธ ํฌ๊ธฐ์— ๋”ฐ๋ผ ๊ฐ€๋กœ ๋„ˆ๋น„๊ฐ€ ๋‹ฌ๋ผ์ง‘๋‹ˆ๋‹ค.

  • ๋‘ ์œ ํ˜• ๋ชจ๋‘ ์œ ์ €์˜ ๋‹ˆ์ฆˆ์— ๋งž์ถ˜ ํฌ๊ธฐ์˜ ์‚ฌ์ดํŠธ๋ฅผ ๋ณผ ์ˆ˜ ์žˆ๊ฒŒ ๋งŒ๋“ญ๋‹ˆ๋‹ค.

  • ์™„๋ฒฝํ•œ ํ”ฝ์…€ ์ปจํŠธ๋กค์— ์ต์ˆ™ํ•œ ๋””์ž์ด๋„ˆ๋“ค์—๊ฒŒ๋Š” ์ฑŒ๋ฆฐ์ง€๋ฅผ ์ค„์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๋ฏธ๋””์–ด ์ฟผ๋ฆฌ

  • ๋ถ„๊ธฐ์ : ๋ฏธ๋””์–ด ์ฟผ๋ฆฌ๊ฐ€ ๋„์ž…๋˜๊ณ  ๋ ˆ์ด์•„์›ƒ์ด ๋ณ€๊ฒฝ๋˜๋Š” ์ง€์ 

  • ๋ชจ๋ฐ”์ผ ์šฐ์„  ๋””์ž์ธ: ํ™”๋ฉด์ด ์ข์€ ๋””๋ฐ”์ด์Šค๋ฅผ ์œ„ํ•ด ๊ฐ„๋‹จํ•œ ๋‹จ์ผ ์—ด ๋ ˆ์ด์•„์›ƒ์„ ๋งŒ๋“  ๋‹ค์Œ

    • ํ™”๋ฉด์ด ๋” ๋„“์€์ง€ ํ™•์ธํ•˜๊ณ  ํ™”๋ฉด ๋„ˆ๋น„๊ฐ€ ์ถฉ๋ถ„ํ•˜๋‹ค๊ณ  ํŒ๋‹จ๋˜๋ฉด ๋‹ค์ค‘ ์—ด ๋ ˆ์ด์•„์›ƒ์„ ๊ตฌํ˜„

    • ๊ฐœ๋ณ„ ๋””๋ฐ”์ด์Šค์˜ ์ ˆ๋Œ€ ํฌ๊ธฐ๋ณด๋‹ค๋Š” CSS ๊ฐ’๊ณผ ๋‹จ์œ„๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋ฏธ๋””์–ด ์ฟผ๋ฆฌ ๋ถ„๊ธฐ์ ์„ ์ •์˜

  • ๋‹ค๋‹จ ๋ ˆ์ด์•„์›ƒ

    • column-count: ๋ถ„ํ• ํ•  ์ตœ๋Œ€ ์—ด ์ˆ˜ = ํ™”๋ฉด ํฌ๊ธฐ์— ๋”ฐ๋ผ ๋ณ€๊ฒฝ๋˜๋Š” ํฌ๊ธฐ๋ฅผ ๊ณ„์‚ฐ( ์—ด์˜ ๋„ˆ๋น„๊ฐ€ ๋ณ€๊ฒฝ )

    • column-width: ํ™”๋ฉด ํฌ๊ธฐ์— ๋”ฐ๋ผ ์—ด์˜ ์ˆ˜๋ฅผ ๊ณ„์‚ฐ ( ์—ด์˜ ์ˆ˜๊ฐ€ ๋ณ€๊ฒฝ )

  • Flexbox, ๊ทธ๋ฆฌ๋“œ

  • ๋ฐ˜์‘ํ˜• ์ด๋ฏธ์ง€

    • <picture> (en-US)์™€ <img> ์š”์†Œ์˜ srcset ๋ฐ sizes ์†์„ฑ

    • ์‚ฌ์šฉ์ž์˜ ๋ทฐํฌํŠธ์™€ ๋””๋ฐ”์ด์Šค์˜ ํ•ด์ƒ๋„์— ๋งž๋Š” ์ด๋ฏธ์ง€๋ฅผ ์ œ๊ณตํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

    • ์˜ˆ๋ฅผ ๋“ค์–ด ๋ชจ๋ฐ”์ผ์šฉ ์ •์‚ฌ๊ฐํ˜• ์ด๋ฏธ์ง€, ๋ฐ์Šคํฌํ†ฑ์—์„œ๋Š” ๊ฐ€๋กœ ์ด๋ฏธ์ง€

    • <picture> ์š”์†Œ๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด

      • "hints"(์ด๋ฏธ์ง€๊ฐ€ ๊ฐ€์žฅ ์ ํ•ฉํ•œ ํ™”๋ฉด ํฌ๊ธฐ ๋ฐ ํ•ด์ƒ๋„๋ฅผ ์„ค๋ช…ํ•˜๋Š” ๋ฉ”ํƒ€๋ฐ์ดํ„ฐ)์™€ ํ•จ๊ป˜

      • ์—ฌ๋Ÿฌ ํฌ๊ธฐ๋ฅผ ์ œ๊ณตํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ,

      • ๋ธŒ๋ผ์šฐ์ €๋Š” ๊ฐ ๋””๋ฐ”์ด์Šค์— ๊ฐ€์žฅ ์ ํ•ฉํ•œ ์ด๋ฏธ์ง€๋ฅผ ์„ ํƒ

      • ์‚ฌ์šฉ์ž๊ฐ€ ์‚ฌ์šฉ ์ค‘์ธ ๋””๋ฐ”์ด์Šค์— ์ ํ•ฉํ•œ ์ด๋ฏธ์ง€ ํฌ๊ธฐ๋ฅผ ๋‹ค์šด๋กœ๋“œํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

  • ๋ฐ˜์‘ํ˜• ํƒ€์ดํฌ๊ทธ๋ž˜ํ”ผ

    • ํฐํŠธ ์‚ฌ์ด์ฆˆ์— rem ์‚ฌ์šฉํ•˜๊ธฐ

      • 1๋ ˆ๋ฒจ ๋จธ๋ฆฌ๊ธ€ 4rem = ๊ธฐ๋ณธ ๊ธ€๊ผดํฌ๊ธฐ(16px)์˜ 4๋ฐฐ

      • ํฐ ํฌ๊ธฐ์˜ ์ œ๋ชฉ์€ ๋” ํฐ ํ™”๋ฉด ํฌ๊ธฐ์—์„œ๋งŒ ์‚ฌ์šฉํ•ด์•ผ ํ•˜๋ฏ€๋กœ

      • ๋จผ์ € ๋” ์ž‘์€ ์ œ๋ชฉ์„ ๋งŒ๋“  ๋‹ค์Œ

      • ์‚ฌ์šฉ์ž์˜ ํ™”๋ฉด ํฌ๊ธฐ๊ฐ€ 1200px ์ด์ƒ์ธ ๊ฒฝ์šฐ ๋ฏธ๋””์–ด ์ฟผ๋ฆฌ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋” ํฐ ํฌ๊ธฐ๋กœ ๋ฎ์–ด์”๋‹ˆ๋‹ค.

    • vw, vh(๋ทฐํฌํŠธ ๋‹จ์œ„) ์‚ฌ์šฉํ•˜๊ธฐ

      • ์œ„์™€ ๊ฐ™์ด ํ•  ๋•Œ์˜ ๋ฌธ์ œ์ ์€ ํ…์ŠคํŠธ๊ฐ€ ํ•ญ์ƒ ๋ทฐํฌํŠธ์˜ ํฌ๊ธฐ์™€ ๊ด€๋ จ๋˜์–ด ์žˆ๊ธฐ ๋•Œ๋ฌธ์—

      • ์‚ฌ์šฉ์ž๊ฐ€ 'vw' ๋‹จ์œ„๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์„ค์ •ํ•œ ํ…์ŠคํŠธ๋ฅผ ํ™•๋Œ€/์ถ•์†Œํ•  ์ˆ˜ ์—†๋‹ค๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค.

      • ๋”ฐ๋ผ์„œ ๋ทฐํฌํŠธ ๋‹จ์œ„๋งŒ ์‚ฌ์šฉํ•˜์—ฌ ํ…์ŠคํŠธ๋ฅผ ์„ค์ •ํ•ด์„œ๋Š” ์•ˆ ๋ฉ๋‹ˆ๋‹ค.

      • calc()๋ฅผ ์‚ฌ์šฉํ•˜๋ผ.

      • em ๋˜๋Š” rem๊ณผ ๊ฐ™์€ ๊ณ ์ • ํฌ๊ธฐ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์„ค์ •๋œ ๊ฐ’์— vw ๋‹จ์œ„๋ฅผ ์ถ”๊ฐ€

      • vw ๋‹จ์œ„๋Š” ํ™•๋Œ€๋œ ๊ฐ’ ์œ„์— ์ถ”๊ฐ€๋ฉ๋‹ˆ๋‹ค.

      • vw, vh => ์œˆ๋„์šฐ ์ฐฝ ํฌ๊ธฐ์— ๋”ฐ๋ผ ๋ณ€ํ™”

      • rem, em => ์‚ฌ์šฉ์ž๊ฐ€ ํ™•๋Œ€ ์ถ•์†Œํ•จ์— ๋”ฐ๋ผ ๋ณ€ํ™”

    • ์•ผ๋งค ๋ฐ˜์‘ํ˜•

      • html ์— ํฐํŠธ์‚ฌ์ด์ฆˆ๋ฅผ ๋ชจ๋‘ 62.5%๋กœ ํ•ด์ฃผ๋ฉด 1rem(==16px) ์ด 10px์ด ๋จ

      • ๊ทธ๋Ÿผ ๋‚˜๋จธ์ง€ ์š”์†Œ์—์„œ rem์„ 10px์ฒ˜๋Ÿผ ์“ธ ์ˆ˜ ์žˆ์Œ

      • 1.6rem, 1.2rem, 1.0rem

    • ๋ทฐํฌํŠธ ๋ฉ”ํƒ€ ํƒœ๊ทธ

      • <meta name="viewport" content="width=device-width,initial-scale=1">

      • ๋ชจ๋ฐ”์ผ ๋ธŒ๋ผ์šฐ์ €์— ๋ทฐํฌํŠธ์˜ ๋„ˆ๋น„๋ฅผ ๊ธฐ๊ธฐ ๋„ˆ๋น„๋กœ ์„ค์ •ํ•˜๊ณ 

      • ๋ฌธ์„œ์˜ ํฌ๊ธฐ๋ฅผ ์˜๋„ํ•œ ํฌ๊ธฐ์˜ 100%๋กœ ์กฐ์ •ํ•˜์—ฌ

      • ๋ฌธ์„œ๋ฅผ ๋ชจ๋ฐ”์ผ์— ์ตœ์ ํ™”๋œ ํฌ๊ธฐ๋กœ ํ‘œ์‹œํ•ด์•ผ ํ•จ์„ ์•Œ๋ ค์คŒ

๋””์ž์ธ ์‹œ์Šคํ…œ(Design System)

  • ์˜ค๋Š˜๋‚  ๋””์ž์ด๋„ˆ์™€ ๊ฐœ๋ฐœ์ž๋“ค์€ UI ์ปดํฌ๋„ŒํŠธ ๊ตฌ์กฐํ™”๋ฅผ ์œ„ํ•ด ๋…ธ๋ ฅํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.

  • UI ์ปดํฌ๋„ŒํŠธ๋Š” ์‚ฌ์šฉ์ž ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ์ด๋ฃจ๋Š” ์กฐ๊ฐ๋“ค์˜ ์‹œ๊ฐ์ ์ด๊ณ  ๊ธฐ๋Šฅ์ ์ธ ์†์„ฑ์„ ์บก์Аํ™”ํ•ฉ๋‹ˆ๋‹ค.

  • ์ตœ๊ทผ์— ๋“ฑ์žฅํ•œ ์œ ์ € ์ธํ„ฐํŽ˜์ด์Šค๋“ค์€ ๋‹ค์–‘ํ•œ ์‚ฌ์šฉ์ž ๊ฒฝํ—˜์„ ์ œ๊ณตํ•˜๊ธฐ ์œ„ํ•ด ์ˆ˜๋ฐฑ ๊ฐœ์˜ ๋ชจ๋“ˆ์‹ UI ์ปดํฌ๋„ŒํŠธ๊ฐ€ ์žฌ๋ฐฐ์—ด๋œ ๊ตฌ์กฐ๋กœ ์ด๋ฃจ์–ด์ ธ ์žˆ์Šต๋‹ˆ๋‹ค.

  • ๐Ÿ— ์žฌ์‚ฌ์šฉ์ด ๊ฐ€๋Šฅํ•œ ๊ณต์šฉ UI ์ปดํฌ๋„ŒํŠธ

  • ๐ŸŽจ ๋””์ž์ธ ํ† ํฐ: ๋ธŒ๋žœ๋“œ ์ƒ‰์ƒ, ๊ฐ„๊ฒฉ๊ณผ ๊ฐ™์€ ์Šคํƒ€์ผ ๋ณ€์ˆ˜

  • ๐Ÿ“• ๋ฌธ์„œ: ์‚ฌ์šฉ ๋ฐฉ๋ฒ•, ์„ค๋ช…, ์ข‹์€ ์˜ˆ์™€ ๋‚˜์œ ์˜ˆ

  • ๊ฐ™์€ UI ์ปดํฌ๋„ŒํŠธ๋ฅผ ๋‹ค์–‘ํ•œ ํ”„๋กœ์ ํŠธ์—์„œ ๊ณต์œ ํ• ์ˆ˜๋ก ํšจ์šฉ์ด ์ปค์ง‘๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ ์ด ๊ฐ€์ด๋“œ๋Š” ๊ฐ™์€ UI ์ปดํฌ๋„ŒํŠธ๋ฅผ ์—ฌ๋Ÿฌ ์•ฑ์ด๋‚˜ ํŒ€ ์ž‘์—…์— ๊ฐ€์ ธ๋‹ค ๋ถ™์ด๋Š” ์ผ์ด ์žฆ์€ ๊ฐœ๋ฐœ์ž๋ฅผ ์œ„ํ•ด ์ œ์ž‘๋˜์—ˆ๋‹ค๊ณ  ๋ณด์‹œ๋ฉด ๋ฉ๋‹ˆ๋‹ค.

์ž‘์—… ํ๋ฆ„

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

  • UI ์ปดํฌ๋„ŒํŠธ๋Š” ๋ถ„๋ฆฌํ•˜์—ฌ ์ž‘์—…ํ•˜๊ธฐ

    • ๋ชจ๋“  ๋””์ž์ธ ์‹œ์Šคํ…œ์€ UI ์ปดํฌ๋„ŒํŠธ๋กœ ๊ตฌ์„ฑ๋ฉ๋‹ˆ๋‹ค. ์šฐ๋ฆฌ๋Š” ์Šคํ† ๋ฆฌ๋ถ์„ "์›Œํฌ๋ฒค์น˜(workbench)"๋กœ ์‚ฌ์šฉํ•˜์—ฌ ์†Œ๋น„์ž ์•ฑ ๋ฐ–์—์„œ UI ์ปดํฌ๋„ŒํŠธ๋ฅผ ๊ตฌ์ถ•ํ•  ๊ฒƒ์ž…๋‹ˆ๋‹ค. ๊ทธ ๋‹ค์Œ์—” ์Šคํ† ๋ฆฌ๋ถ์—์„œ ์ปดํฌ๋„ŒํŠธ์˜ ๋‚ด๊ตฌ์„ฑ์„ ํ–ฅ์ƒ์‹œํ‚ค๋Š” ์• ๋“œ์˜จ(Actions, Source, Knobs)์„ ํ†ตํ•ฉํ•ฉ๋‹ˆ๋‹ค.

  • ๋ฆฌ๋ทฐ๋ฅผ ํ†ตํ•ด ํ•ฉ์˜๋ฅผ ์ด๋Œ์–ด๋‚ด๊ณ  ํ”ผ๋“œ๋ฐฑ์„ ์ˆ˜์ง‘ํ•˜๊ธฐ

    • UI ๊ฐœ๋ฐœ์€ ๊ฐœ๋ฐœ์ž, ๋””์ž์ด๋„ˆ ๋ฐ ๋‹ค๋ฅธ ๋ถ„์•ผ ๊ฐ„์˜ ์กฐ์ •์ด ํ•„์š”ํ•œ ํŒ€ ์Šคํฌ์ธ ์ž…๋‹ˆ๋‹ค. ์Šคํ† ๋ฆฌ๋ถ์—์„œ๋Š” ์ž‘์—… ์ค‘์ธ UI ์ปดํฌ๋„ŒํŠธ๋“ค์„ ๊ฒŒ์‹œํ•˜์—ฌ ์ดํ•ด๊ด€๊ณ„์ž๋“ค์„ ๊ฐœ๋ฐœ ๊ณผ์ •์— ํฌํ•จ์‹œํ‚ค๋„๋ก ํ•ฉ๋‹ˆ๋‹ค. ์ด๋ฅผ ํ†ตํ•ด ์„œ๋น„์Šค ์ถœ์‹œ ์‹œ๊ธฐ๋ฅผ ์•ž๋‹น๊ธธ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

  • UI์—์„œ ๋ฐœ์ƒํ•˜๋Š” ๋ฒ„๊ทธ๋ฅผ ๋ฐฉ์ง€ํ•˜๊ธฐ์œ„ํ•ด ํ…Œ์ŠคํŠธ ํ•˜๋Š” ๋ฒ•

    • ๋””์ž์ธ ์‹œ์Šคํ…œ๋“ค์€ ๋‹จ์ผํ•œ ์ง„์‹ค์˜ ์›์ฒœ(source of truth)์ด๋ฉฐ ๋‹จ์ผ ์‹คํŒจ ์ง€์ (single point of failure)์ž…๋‹ˆ๋‹ค. ๊ธฐ๋ณธ ์ปดํฌ๋„ŒํŠธ์— ์žˆ๋Š” ์‚ฌ์†Œํ•œ UI ๋ฒ„๊ทธ๊ฐ€ ์ˆœ์‹๊ฐ„์— ํšŒ์‚ฌ ์ „์ฒด์˜ ์‚ฌ๊ณ ๋กœ ์ด์–ด์งˆ ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค. ์Šคํ† ๋ฆฌ๋ถ์€ ํ…Œ์ŠคํŠธ๋ฅผ ์ž๋™ํ™”ํ•˜์—ฌ ๋ถˆ๊ฐ€ํ”ผํ•˜๊ฒŒ ๋ฐœ์ƒํ•˜๋Š” ๋ฒ„๊ทธ๋ฅผ ๋ฐฉ์ง€ํ•˜๊ณ , ์ ‘๊ทผ์„ฑ๊ณผ ๋‚ด๊ตฌ์„ฑ์ด ๋›ฐ์–ด๋‚œ UI ์ปดํฌ๋„ŒํŠธ๋ฅผ ์•ˆ์‹ฌํ•˜๊ณ  ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋„๋ก ํ•ฉ๋‹ˆ๋‹ค.

  • ๋น ๋ฅธ ์ ์šฉ์„ ์œ„ํ•œ ๋ฌธ์„œํ™”

    • ๋ฌธ์„œํ™”๋Š” ํ•„์ˆ˜์ ์ด์ง€๋งŒ ๊ฐœ๋ฐœ์ž์—๊ฒŒ ์šฐ์„ ์ˆœ์œ„ ์ž‘์—…์ด ์•„๋‹Œ ๊ฒฝ์šฐ๊ฐ€ ๋งŽ์Šต๋‹ˆ๋‹ค. ์Šคํ† ๋ฆฌ๋ถ์€ ์ด๋Ÿฐ ๊ฐœ๋ฐœ์ž์˜ ํŽธ์˜๋ฅผ ์œ„ํ•ด ์ž๋™์œผ๋กœ ์ตœ์†Œ ์š”๊ฑด์„ ๊ฐ–์ถ˜ ๋ฌธ์„œ๋ฅผ ์ƒ์„ฑํ•ด์ค๋‹ˆ๋‹ค. ์ด๋ ‡๊ฒŒ ์ƒ์„ฑ๋œ ๋ฌธ์„œ๋Š” ๊ฐœ๋ฐœ์ž๊ฐ€ ํ•„์š”์— ๋”ฐ๋ผ ์‚ฌ์šฉ์žํ™”ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

  • ์‚ฌ์šฉ์ž ํ”„๋กœ์ ํŠธ์— ๋””์ž์ธ ์‹œ์Šคํ…œ ๋ฐฐํฌํ•˜๊ธฐ

    • ๋ฌธ์„œํ™”๊ฐ€ ์ž˜ ๋œ UI ์ปดํฌ๋„ŒํŠธ๊ฐ€ ์™„์„ฑ๋˜๋ฉด ๋‹ค๋ฅธ ํŒ€์— ๋ฐฐํฌ๋ฅผ ํ•  ์ฐจ๋ก€์ž…๋‹ˆ๋‹ค. ํŒจํ‚ค์ง•, ๋ฐฐํฌ ๋ฐ ๋‹ค๋ฅธ ์Šคํ† ๋ฆฌ๋ถ์—์„œ ๋””์ž์ธ ์‹œ์Šคํ…œ์„ ํ‘œ์‹œํ•˜๋Š” ๋ฐฉ๋ฒ•์— ๋Œ€ํ•ด ์•Œ์•„๋ณผ ์˜ˆ์ •์ž…๋‹ˆ๋‹ค.

1. ์•„ํ† ๋ฏน ๋””์ž์ธ ์‹œ์Šคํ…œ

  1. ๊ฐœ๋… ๋ฐ ์ •์˜

    1. ๋””์ž์ธ ์‹œ์Šคํ…œ ๋ฐฉ๋ฒ•๋ก  ์ค‘์˜ ํ•˜๋‚˜

    2. ์ฃผ๊ธฐ์œจํ‘œ ์ƒ์˜ ์›์ž(atom)๋“ค์ด ์–ด๋–ป๊ฒŒ ๊ฒฐํ•ฉํ•˜๋А๋ƒ์— ๋”ฐ๋ผ์„œ ์„ธ์ƒ ๋ชจ๋“  ๊ฒƒ๋“ค์„ ์ƒ์„ฑํ•  ์ˆ˜ ์žˆ๋“ฏ์ด

    3. ์›นํŽ˜์ด์ง€์˜ ์ปดํฌ๋„ŒํŠธ๋ฅผ 5๊ฐ€์ง€ ๋ ˆ๋ฒจ๋กœ ๋‚˜๋ˆ  ์ฒด๊ณ„ํ™”ํ•˜๋Š” ๋ฐฉ๋ฒ•

  2. ํ•„์š”์„ฑ ๋ฐ ์˜์˜

    1. ๊ทœ์น™์„ ์ œ๊ฐ๊ฐ์œผ๋กœ ๋งŒ๋“ค๋ฉด, ๊ด€์‹ฌ์‚ฌ๊ฐ€ ๋„ˆ๋ฌด ๋งŽ๊ฑฐ๋‚˜

    2. ์žฌ์‚ฌ์šฉ์ด๋‚˜ ํ™•์žฅํ•  ์ˆ˜ ์—†๋Š” ์ปดํฌ๋„ŒํŠธ๊ฐ€ ์ƒ๊ธฐ๋Š” ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๊ธฐ ์œ„ํ•ด

  3. ํŠน์ง•

    1. atom - molecule - organism - Template - page์œผ๋กœ ์ปดํฌ๋„ŒํŠธ๋ฅผ ์ชผ๊ฐœ๋Š” ๋ฐฉ๋ฒ•

    2. atom: ๋”์ด์ƒ ์ชผ๊ฐค ์ˆ˜ ์—†๋Š” ๋‹จ์ผ์š”์†Œ (ex. ํƒœ๊ทธ, ๊ธ€๊ผด, ์ปฌ๋ŸฌํŒ”๋ ˆํŠธ, ๋ ˆ์ด์•„์›ƒ ๋“ฑ)

    3. molecule: ์—ฌ๋Ÿฌ atom์„ ๊ฒฐํ•ฉ, ๊ณ ์œ ์˜ ํŠน์„ฑ์„ ๊ฐ€์ง, ํ•œ๊ฐ€์ง€ ๋™์ž‘์„ ํ•จ(SRP, Single Responsibility Principle) - ํ…Œ์ŠคํŠธํ•˜๊ธฐ ์‰ฝ๊ณ , ์žฌ์‚ฌ์šฉ์„ฑ ๋†’์Œ

    4. organism: ํŠน์ • ์ปจํ…์ŠคํŠธ๋ฅผ ๊ฐ€์ง, ์ƒ๋Œ€์ ์œผ๋กœ ๊ตฌ์ฒด์ , ์žฌ์‚ฌ์šฉ์„ฑ ๋‚ฎ์Œ (ex. header)

    5. Template: ์ปดํฌ๋„ŒํŠธ๋ฅผ ๋ฐฐ์น˜ํ•˜๊ณ  ๊ตฌ์กฐ๋ฅผ ์žก๋Š” ์™€์ด์–ดํ”„๋ ˆ์ž„, ์ปจํ…์ธ ๊ฐ€ ์—†๋Š” page (์Šค์ผˆ๋ ˆํ†ค)

    6. Page: ์œ ์ €๊ฐ€ ๋ณด๋Š”, ์‹ค์ œ ์ปจํ…์ธ ๋ฅผ ๋‹ด์€ ์š”์†Œ, template์˜ ์ธ์Šคํ„ด์Šค๋ผ๊ณ  ๋ณผ ์ˆ˜ ์žˆ์Œ.

  4. ๋ฐฉ๋ฒ•

    1. Molecule vs Organism

      1. SRP, Single Responsibility Principle์„ ์ง€ํ‚ฌ ์ˆ˜ ์žˆ๋А๋ƒ

      2. Context๊ฐ€ ์—†์–ด๋„ ์ปดํฌ๋„ŒํŠธ์˜ ์—ญํ• ์ด ์„ค๋ช…์ด ๋˜๋А๋ƒ

      3. ๊ทธ๋ž˜๋„ ๋ชจํ˜ธํ•˜๋ฉด ์ผ๋‹จ Organism

    2. ์ค‘๋ณต ์ปดํฌ๋„ŒํŠธ

      1. compound ์ปดํฌ๋„ŒํŠธ (ํ•ฉ์„ฑ ์ปดํฌ๋„ŒํŠธ)๋กœ ํ•ด๊ฒฐํ•˜๊ธฐ

      2. UI ์ œ์–ดํ•˜๋Š” ์ƒํƒœ ์ด๋Ÿฐ๊ฑฐ๋Š” ๋‹ค ์™ธ๋ถ€์—์„œ ์ฃผ์ž…ํ•˜๊ธฐ (์Šคํ† ๋ฆฌ๋ถ ์œ ์šฉ)

      3. ๋งˆ์ง„, ํŒจ๋”ฉ๊ณผ ๊ฐ™์€ ๋ ˆ์ด์•„์›ƒ ๊ด€๋ จ ์Šคํƒ€์ผ๋„ ์™ธ๋ถ€์—์„œ ์ฃผ์ž…ํ•˜๊ธฐ

    3. UI ๋ชจ๋ธ๋ง

      1. ํ•˜๋‚˜์˜ ์ปดํฌ๋„ŒํŠธ์˜ ๋‹จ์œ„๋ฅผ ์ชผ๊ฐœ๊ณ  ๋„ค์ด๋ฐ ํ•˜๋Š” ๊ณผ์ •์„ ํ”ผ๊ทธ์žผ์„ ํ†ตํ•ด ํ•จ๊ป˜ ์ง„ํ–‰ํ•˜๊ธฐ

  5. ๊ฐœ์ธ์ ์ธ ์ƒ๊ฐ(์ถ”๊ฐ€์ ์ธ ์งˆ๋ฌธ ๋˜๋Š” ์ธ์‚ฌ์ดํŠธ)

Last updated