1. Design System

Keyword

  • λ°˜μ‘ν˜• μ›Ή λ””μžμΈ(Responsive web design)

  • λ””μžμΈ μ‹œμŠ€ν…œ(Design System)

  • Atomic Design


1. λ°˜μ‘ν˜• μ›Ή λ””μžμΈ(Responsive web design)

ν•˜λ‚˜μ˜ μ›Ή μ‚¬μ΄νŠΈκ°€ λ‹€μ–‘ν•œ λ””λ°”μ΄μŠ€μ˜ 화면에 따라 컨텐츠 크기가 μžλ™μœΌλ‘œ λ³€ν™”ν•˜λŠ” μ›Ή λ””μžμΈ 방식

https://ko.wikipedia.org/wiki/%EB%B0%98%EC%9D%91%ED%98%95_%EC%9B%B9_%EB%94%94%EC%9E%90%EC%9D%B8

λ°˜μ‘ν˜• μ›Ή 기술

λ·°ν¬νŠΈμ— 맞게 크기쑰정 - λ°˜μ‘ν˜• 이미지

μ΄λ―Έμ§€μ˜ ν¬κΈ°λŠ” κ³ μ •λ˜μ–΄ 있으며 λ·°ν¬νŠΈλ³΄λ‹€ 크면 μŠ€ν¬λ‘€λ°”κ°€ λ‚˜νƒ€λ‚œλ‹€. λͺ¨λ“  이미지에 100%의 max-widthλ₯Ό μ„€μ •ν•œλ‹€. 뷰포트 크기가 이미지보닀 μž‘μ€ 경우 이미지가 ν™”λ©΄ λ„ˆλΉ„μ— 맞게 μΆ•μ†Œλœλ‹€.

img {
  max-width: 100%;
}

λ·°ν¬νŠΈμ— 맞게 크기쑰정 - λ ˆμ΄μ•„μ›ƒ

μ»¨ν…μΈ μ˜ width에 κ³ μ •κ°’(px)이 μ•„λ‹Œ em λ˜λŠ” %κ°’μœΌλ‘œ μ„€μ •ν•œλ‹€. ν™”λ©΄ λ„ˆλΉ„μ— 따라 컬럼의 크기가 μƒλŒ€μ μœΌλ‘œ λ³€ν™”ν•œλ‹€.

λ―Έλ””μ–΄ 쿼리

λ―Έλ””μ–΄ 쿼리λ₯Ό μ‚¬μš©ν•˜λ©΄ λ‹€μ–‘ν•œ λ””λ°”μ΄μŠ€μ™€ ν™”λ©΄ 크기에 따라 CSSλ₯Ό μ„ νƒμ μœΌλ‘œ μ μš©ν•˜μ—¬ νŽ˜μ΄μ§€μ˜ μŠ€νƒ€μΌμ„ μ§€μ •ν•  수 μžˆλ‹€.

/* ν™”λ©΄μ˜ λ„ˆλΉ„κ°€ 600px μ΄ν•˜μΌ λ•Œ μŠ€νƒ€μΌμ„ 적용 */
@media screen and (max-width: 600px) {
}

Flexbox

Flexboxλ₯Ό μ‚¬μš©ν•˜λ©΄ μžμ‹ μš”μ†Œλ“€μ„ 효과적으둜 μ •λ ¬ν•˜κ³  μš”μ†Œ μ‚¬μ΄μ˜ 곡간 배뢄을 μ‘°μ ˆν•  수 μžˆλ‹€.

https://studiomeal.com/archives/197

GridλŠ” μˆ˜ν‰μ„ , μˆ˜μ§μ„ μœΌλ‘œ 이루어진 이차원 λ ˆμ΄μ•„μ›ƒ μ‹œμŠ€ν…œμ΄λ‹€. Flex와 λ™μΌν•˜κ²Œ μ»¨ν…Œμ΄λ„ˆμ™€ μ•„μ΄ν…œμœΌλ‘œ λ ˆμ΄μ•„μ›ƒμ„ μž‘μ„ 수 μžˆλ‹€.

https://studiomeal.com/archives/533

뷰포트 메타 νƒœκ·Έ

λͺ¨λ°”μΌμ›Ήμ΄λ‚˜ λ°˜μ‘ν˜•μ›Ήμ—μ„œ 각각의 κΈ°κΈ°μž₯치λ₯Ό 인식할 λ•Œ μ‚¬μš©ν•˜λŠ” μ€‘μš”ν•œ νƒœκ·Έ, μ‚¬μš©ν•˜μ§€ μ•Šμ„μ‹œ μΆ•μ†Œλœ νŽ˜μ΄μ§€λ₯Ό λ³΄κ²Œλœλ‹€.

<meta name="viewport" content="width=device-width, initial-scale=1.0">
  • width=device-width: λ””λ°”μ΄μŠ€μ˜ ν™”λ©΄ λ„ˆλΉ„λ₯Ό λ”°λ₯΄λ„둝 νŽ˜μ΄μ§€ λ„ˆλΉ„λ₯Ό μ„€μ •

  • initial-scale=1.0: λΈŒλΌμš°μ €μ—μ„œ 초기 νŽ˜μ΄μ§€ λ‘œλ“œμ‹œ ν™•λŒ€ / μΆ•μ†Œ μˆ˜μ€€μ„ μ„€μ •


2. λ””μžμΈ μ‹œμŠ€ν…œ(Design System)

μ •μ˜

λ””μžμΈ μ‹œμŠ€ν…œμ΄λž€ μž¬μ‚¬μš© κ°€λŠ₯ν•œ μ»΄ν¬λ„ŒνŠΈμ™€ UI νŒ¨ν„΄μ„ μ‚¬μš©ν•˜μ—¬ λ‹€μ•™ν•œ 규λͺ¨μ˜ λ””μžμΈμ„ κ΄€λ¦¬ν•˜κΈ° μœ„ν•œ ν‘œμ€€μ„ μ œκ³΅ν•œλ‹€.

μ›Ή μ‚¬μ΄νŠΈλ₯Ό PC용, λͺ¨λ°”μΌμš©μœΌλ‘œ λ”°λ‘œ λ§Œλ“€ ν•„μš”μ—†μ΄ ν•˜λ‚˜μ˜ 곡용 μ›Ήμ‚¬μ΄νŠΈλ₯Ό λ§Œλ“€μ–΄ λ‹€μ–‘ν•œ λ””λ°”μ΄μŠ€μ— λŒ€μ‘ν•  수 μžˆλ‹€.

Nielsen Norman Group의 μš”μ•½

λ””μžμΈ μ‹œμŠ€ν…œμ€ λ‹€μ–‘ν•œ νŽ˜μ΄μ§€μ™€ μ±„λ„μ—μ„œ μΌκ΄€λœ λ””μžμΈμ„ λ§Œλ“€κ³  쀑볡을 쀄여 λ‹€μ–‘ν•œ 규λͺ¨μ˜ λ””μžμΈμ„ κ΄€λ¦¬ν•˜κΈ° μœ„ν•œ 일련의 ν‘œμ€€μ΄λ‹€.

λ””μžμΈ μ‹œμŠ€ν…œμ€ μ™œ ν•„μš”ν•œκ°€?

  1. λ””μžμΈ 및 κ°œλ°œμ„ λΉ λ₯΄κ²Œ μž‘μ—…ν•˜κ³  λ³΅μ œν•  수 μžˆλ‹€. - μž¬μ‚¬μš© κ°€λŠ₯ν•œ μ»΄ν¬λ„ŒνŠΈ, UIλ₯Ό ν™œμš©ν•΄ λΉ λ₯΄κ²Œ μž‘μ—…ν•˜κ³  λ³΅μ œν•  수 μžˆλ‹€.

  2. ν˜‘μ—…μ— κΈ°μ—¬ - ν”„λ‘œμ νŠΈ ꡬ성원 κ°„μ˜ 지식 격차λ₯Ό 쀄이고 κ³΅ν†΅μ˜ 원칙을 μˆ™μ§€ν•˜μ—¬ ν˜‘μ—…μ— κΈ°μ—¬ν•  수 μžˆλ‹€. μ΄λŠ” λ‚­λΉ„λ˜λŠ” μ‹œκ°„μ„ 쀄이고 ν”„λ‘œμ νŠΈ 생산성을 ν–₯μƒμ‹œν‚¨λ‹€.

  3. 일관성 μžˆλŠ” μ‚¬μš©μž κ²½ν—˜ - μ„œλ‘œ λ‹€λ₯Έ νŽ˜μ΄μ§€λ‚˜ ν”Œλž«νΌμ— λ””μžμΈ 일관성을 μ‘°μ„±ν•΄ μ‚¬μš©μž κ²½ν—˜μ„ μ œκ³΅ν•œλ‹€.


3. Atomic Design

μ›Ή μ• ν”Œλ¦¬μΌ€μ΄μ…˜ UIλ₯Ό κ΅¬μ„±ν•˜λŠ” 데 μžˆμ–΄μ„œ μž‘μ€ λ‹¨μœ„λΆ€ν„° μ‹œμž‘ν•˜μ—¬ 큰 μš”μ†Œλ‘œ μ‘°ν•©ν•΄ λ‚˜κ°€λŠ” λ””μžμΈ μ‹œμŠ€ν…œ 방법둠

크게 5κ°€μ§€λ‘œ ꡬ성 μš”μ†Œλ‘œ 이루어져 μžˆλ‹€.

Atoms, Molecules, Organisms, Templates, Pages

  • Atom Atom은 μ»΄ν¬λ„ŒνŠΈλ₯Ό κ°€μž₯ μž‘μ€ λ‹¨μœ„λ‘œ λΆ„λ¦¬ν•œ κ²ƒμœΌλ‘œ 일반적으둜 HTML element λ‹¨μœ„λ‘œ μž‘μ„±λœλ‹€. 단독 μ‚¬μš©μ€ μ–΄λ ΅κ³ , Atom λ‹¨μœ„λ₯Ό molecule, organism λ‹¨μœ„λ‘œ κ²°ν•©ν•΄ μœ μš©ν•˜κ²Œ μ‚¬μš©ν•  수 μžˆλ‹€.

  • Molecule μ—¬λŸ¬κ°œμ˜ Atom을 μ‘°ν•©ν•˜μ—¬ SRPλ₯Ό λ§Œμ‘±ν•˜λŠ” ν•˜λ‚˜μ˜ 일을 μˆ˜ν–‰ν•˜λŠ” λ‹¨μœ„. Input Atom에 ν…μŠ€νŠΈλ₯Ό μž…λ ₯ν•˜κ³  Button Atom을 클릭해 form을 μ „μ†‘ν•˜λŠ” molecule의 μ˜ˆμ‹œκ°€ μžˆλ‹€. ν•˜λ‚˜μ˜ μ±…μž„μ„ κ°€μ§€λ―€λ‘œ μž¬μ‚¬μš©μ„±κ³Ό UI의 일관성, ν…ŒμŠ€νŠΈμ— μš©μ΄ν•˜λ‹€.

  • Organism μ›Ή μ„œλΉ„μŠ€μ—μ„œ ν‘œν˜„λ  수 μžˆλŠ” λͺ…ν™•ν•œ λ ˆμ΄μ•„μ›ƒκ³Ό νŠΉμ • μ»¨ν…μŠ€νŠΈ(νŠΉμ • μ½”λ“œ, μ˜μ—­μ— λŒ€ν•œ ν™˜κ²½μ •λ³΄)λ₯Ό κ°€μ§„λ‹€. μ»¨ν…μŠ€νŠΈλ₯Ό κ°€μ§€κΈ° λ•Œλ¬Έμ— μž¬μ‚¬μš©μ΄ μ–΄λ ΅λ‹€.

  • Template μ‹€μ œ μ½˜ν…μΈ λŠ” μ—†λŠ” μ»΄ν¬λ„ŒνŠΈλ₯Ό νŽ˜μ΄μ§€ λ ˆμ΄μ•„μ›ƒμ— 맞게 λ°°μΉ˜ν•œ 와이어 ν”„λ ˆμž„, μŠ€μΌˆλ ˆν†€ UI

  • Page μœ μ €κ°€ λ³Ό 수 μžˆλŠ” μ‹€μ œ 컨텐츠λ₯Ό λ‹΄κ³  μžˆλ‹€.

Last updated