λ³Έλ¬Έ λ°”λ‘œκ°€κΈ°

Frontend Dev/πŸ₯ μ½”λ“œμŠ€ν…Œμ΄μΈ  FE λΆ€νŠΈμΊ ν”„

Section4 Unit4 [UX/UI] Design System

λ°˜μ‘ν˜•

좜처: https://uxdesign.cc/everything-you-need-to-know-about-design-systems-54b109851969


Section4 Unit4 [UX/UI] Design System

 

πŸ“Œ Chapter1. Design System

• λ””μžμΈ μ‹œμŠ€ν…œ(Design System)은 λ””μžμΈ 원칙뢀터 μž¬μ‚¬μš©ν•  수 μžˆλŠ” UI νŒ¨ν„΄κ³Ό μ»΄ν¬λ„ŒνŠΈ, μ½”λ“œλ‘œ κ΅¬μ„±λœ μ‹œμŠ€ν…œμ„ μ˜λ―Έν•œλ‹€. μ΄λŠ” 전체 μ„œλΉ„μŠ€μ— 효율적이고 μΌκ΄€λœ λ””μžμΈμ„ μ μš©ν•  수 μžˆλ„λ‘ 도와쀀닀.

 

• λ””μžμΈ μ‹œμŠ€ν…œμ„ μ‚¬μš©ν•˜λ©΄,

  1. λ””μžμ΄λ„ˆμ™€ κ°œλ°œμžλŠ” λ¬Έμ„œ ν˜Ήμ€ νˆ΄ν‚· ν˜•νƒœλ₯Ό 기반으둜 λ””μžμΈ μ‹œμŠ€ν…œμ„ κ³΅μœ ν•΄ 이λ₯Ό μ°Έκ³ ν•˜λ©° μ„œλ‘œμ˜ μž‘μ—…μ— λŒ€ν•œ 이해λ₯Ό 높일 수 있고, λ”°λΌμ„œ ν”„λ‘œμ νŠΈμ˜ 진행 속도가 빨라지며, νŒ€μ› κ°„μ˜ μ†Œν†΅κ³Ό ν˜‘μ—…μ΄ μ›ν™œν•΄μ§€λŠ” λ“± νŒ€ κ°„μ˜ μ›ν™œν•œ ν˜‘μ—…μ„ 촉진할 수 μžˆλ‹€.

  2. λ””μžμΈ μ‹œμŠ€ν…œμ— 따라 μ œν’ˆμ΄ λ§Œλ“€μ–΄μ§€λ©΄, μ‚¬μš©μžλ“€μ€ μ‹œκ°„μ΄ 지남에 따라 μ„œλΉ„μŠ€μ˜ μΌκ΄€λœ λ””μžμΈμ— 점점 μ΅μˆ™ν•΄μ§€κΈ° λ•Œλ¬Έμ—, μΈν„°νŽ˜μ΄μŠ€λ₯Ό μ‚¬μš©ν•˜λŠ” 데 κ±Έλ¦¬λŠ” μ‹œκ°„μ΄ 점점 쀄어든닀. μ΄λŠ” 일관성 μžˆλŠ” μ‚¬μš©μž κ²½ν—˜μ„ μ œκ³΅ν•  수 μžˆλ‹€.

  3. λ””μžμΈ μ‹œμŠ€ν…œμ—μ„œ νŠΉμ • μ»΄ν¬λ„ŒνŠΈμ˜ λ‹€μ–‘ν•œ μƒνƒœ(κΈ°λ³Έ μƒνƒœ, 포컀슀 μƒνƒœ, μ—λŸ¬ μƒνƒœ λ“±)에 λŒ€ν•œ λ””μžμΈ κ°€μ΄λ“œλΌμΈ 및 μ»΄ν¬λ„ŒνŠΈ 라이브러리λ₯Ό 미리 μ •μ˜ν•œλ‹€λ©΄ λ””μžμΈκ³Ό 개발 κ³Όμ •μ—μ„œ νš¨μœ¨μ„±μ„ 크게 ν–₯상할 수 μžˆλ‹€.

  4. μ‚¬μš©μžλ“€μ΄ μΌκ΄€λœ λ””μžμΈμ„ μΈμ§€ν•˜κ²Œ 되면 κ·Έ μ œν’ˆμ΄λ‚˜ λΈŒλžœλ“œμ— λŒ€ν•œ 인지도와 신뒰도가 λ†’μ•„μ§€κ²Œ λœλ‹€. λ””μžμΈ μ‹œμŠ€ν…œμ€ μ›Ή μ„œλΉ„μŠ€λΏ μ•„λ‹ˆλΌ λ§ˆμΌ€νŒ… 캠페인, μ˜€ν”„λΌμΈ κ΄‘κ³ , μ†Œμ…œ λ―Έλ””μ–΄ μ½˜ν…μΈ  λ“± λ‹€μ–‘ν•œ μ±„λ„μ—μ„œλ„ ν™œμš©λ  수 있고, 이λ₯Ό 톡해 κΈ°μ—…μ˜ λΈŒλžœλ“œ μ „λž΅κ³Ό 비전을 λͺ…ν™•νžˆ μ „λ‹¬ν•˜κ³ , μ‚¬μš©μžμ—κ²Œ μΌκ΄€λœ λΈŒλžœλ“œ 이미지λ₯Ό μ œκ³΅ν•˜μ—¬ κΈ°μ—…μ˜ λΈŒλžœλ“œ κ°€μΉ˜μ™€ μ‹œμž₯μ—μ„œμ˜ 경쟁λ ₯을 ν–₯상할 수 μžˆλ‹€.

 

 

πŸ“Œ Chapter2. Atomic Design

 CDDλ₯Ό 배우며 μ–ΈκΈ‰λ˜μ—ˆλ˜ Atomic Design. μ•„ν† λ―Ή λ””μžμΈμ€ λΆ„λͺ… 유λͺ…ν•œ λ””μžμΈ νŒ¨ν„΄μ΄κ³ , 큰 틀이 이미 μ •ν•΄μ Έ μžˆμ§€λ§Œ ν•΄μ„ν•˜λŠ” μ‚¬λžŒλ§ˆλ‹€μ˜ 주관적 견해가 λ“€μ–΄κ°€ μžˆλŠ” 것 κ°™λ‹€κ³ , μ§€λ‚œ μ›ν‹°λ“œ ν”„λ¦¬μ˜¨λ³΄λ”© κ°•μ˜μ—μ„œ λ“€μ—ˆλ˜ 것 κ°™λ‹€. μ•„ν† λ―Ή λ””μžμΈ νŒ¨ν„΄μ€ 정닡은 μ•„λ‹ˆμ§€λ§Œ, κ°œλ°œμ„ 배우며 ν•™μŠ΅ν•˜λŠ” κ΄€μ μ—μ„œλŠ” 정말 쒋은 μ˜ˆμ‹œμΈ 것 κ°™λ‹€κ³  ν–ˆμ—ˆλ‹€. 

 μ‚¬μ‹€ κ·Έλž˜μ„œ Atomic Design에 λŒ€ν•΄ 크게 신경쓰지 μ•Šκ³  μžˆμ—ˆμ§€λ§Œ, μ»΄ν¬λ„ŒνŠΈκ°€ μ€‘μš”ν•œ λ¦¬μ•‘νŠΈμ—μ„œλŠ” μ»΄ν¬λ„ŒνŠΈ 주도 개발과 Atomic λ””μžμΈμ— λŒ€ν•œ 이해가 ν•„μš”ν•  것 κ°™μ•˜λ‹€.  

 

Atomic Design

μ•„ν† λ―Ή λ””μžμΈμ€ μ›μž(atom), λΆ„μž(molecule), 유기체(organism), ν…œν”Œλ¦Ώ(template), νŽ˜μ΄μ§€(page)둜 κ΅¬μ„±λ˜μ–΄ μžˆλ‹€.

μ—¬κΈ°μ„œ κ°€μž₯ μ€‘μš”ν•œ 건 λ‹Ήμ—°νžˆ μ›μž(Atom)둜, μ•„ν† λ―Ή λ””μžμΈμ—μ„œ μ›μž(Atom)λŠ” λ””μžμΈμ˜ κ°€μž₯ 기본적이고, 더 이상 μͺΌκ°€ 수 μ—†λŠ” ꡬ성 μš”μ†Œλ₯Ό μ˜λ―Έν•œλ‹€. 인풋, 라벨, μ•„μ΄μ½˜, λ²„νŠΌ λ“±μ˜ μ˜ˆμ‹œκ°€ 이에 ν•΄λ‹Ήν•˜λ©°, μ΄λŸ¬ν•œ μ›μžλ“€μ΄ κ²°ν•©ν•˜μ—¬ 더 λ³΅μž‘ν•œ UI ꡬ쑰λ₯Ό λ§Œλ“€μ–΄κ°„λ‹€.

 

https://atomicdesign.bradfrost.com/chapter-2/

↑ μ•„ν† λ―Ή λ””μžμΈμ„ μ΄ν•΄ν•˜κΈ°μ— μ•„μ£Ό 쒋은 이미지인것 κ°™μ•„μ„œ 곡식 ν™ˆνŽ˜μ΄μ§€μ—μ„œ κ°€μ Έμ™”λ‹€ πŸ‘πŸ»

 

⭐️ 과제. Component Library

βœ… Bare Minimum Requirement

 Figma에 μž‘μ„±λœ μ»΄ν¬λ„ŒνŠΈ λ””μžμΈμ„ Styled Components와 Storybook을 ν™œμš©ν•˜μ—¬ React μ»΄ν¬λ„ŒνŠΈλ‘œ κ΅¬ν˜„ν•©λ‹ˆλ‹€.

  βœ”οΈ Figma 토큰을 μΆ”μΆœν•˜μ—¬ 이λ₯Ό React μ»΄ν¬λ„ŒνŠΈμ— μ μš©ν•©λ‹ˆλ‹€.

  βœ”οΈ Button μ»΄ν¬λ„ŒνŠΈλ₯Ό κ΅¬ν˜„ν•˜κ³  이에 λŒ€ν•œ μŠ€ν† λ¦¬λ₯Ό μž‘μ„±ν•©λ‹ˆλ‹€.

  βœ”οΈ ChevronButton μ»΄ν¬λ„ŒνŠΈλ₯Ό κ΅¬ν˜„ν•˜κ³  이에 λŒ€ν•œ μŠ€ν† λ¦¬λ₯Ό μž‘μ„±ν•©λ‹ˆλ‹€.

  βœ”οΈ IconButton의 μŠ€ν† λ¦¬λ₯Ό μž‘μ„±ν•©λ‹ˆλ‹€.

  βœ”οΈ Divider μ»΄ν¬λ„ŒνŠΈλ₯Ό κ΅¬ν˜„ν•˜κ³  이에 λŒ€ν•œ μŠ€ν† λ¦¬λ₯Ό μž‘μ„±ν•©λ‹ˆλ‹€.

  βœ”οΈ ItemBox μ»΄ν¬λ„ŒνŠΈλ₯Ό κ΅¬ν˜„ν•˜κ³  이에 λŒ€ν•œ μŠ€ν† λ¦¬λ₯Ό μž‘μ„±ν•©λ‹ˆλ‹€.

 

 Storybook, 아직 μ΅μˆ™μΉ˜ μ•Šκ³  μ§€κΈˆ λ°°μš°κΈ°μ—” 타이밍이 λ§žμ§€ μ•ŠλŠ” 것 κ°™μ•„μ„œ Advanced도 μžˆμ—ˆμ§€λ§Œ, Bare Minimum만 κ΅¬ν˜„μ„ ν–ˆλ‹€. 

 κ΅¬ν˜„ 과정을 기둝해 볼까 ν–ˆμ—ˆλŠ”λ°, 이해도가 떨어지고 μŠ€ν† λ¦¬λΆμ„ ν•™μŠ΅ν•˜λŠ”κ²Œ μš°μ„ μ€ μ•„λ‹Œκ²ƒ κ°™μ•„μ„œ 보λ₯˜! ν•˜μ§€λ§Œ λ‹€μŒμ— κΈ°νšŒκ°€ λœλ‹€λ©΄ μŠ€ν† λ¦¬λΆμ„ νšŒμ‚¬μ—μ„œ μ‚¬μš©ν•΄λ³΄κ³  μ‹Άλ‹€.

 

πŸš€ Github Repository  fe-sprint-component-library

 

μ•„μ£Ό κ·€μ—¬μš΄ λ‚˜μ˜ μŠ€ν† λ¦¬λΆ...πŸ˜‚


πŸŒ™  였늘의 회고

 μ•„λ‹ˆ, μ§€λ‚œ μ„Ήμ…˜μ—μ„œ κ°„λ‹¨ν•˜κ²Œ 배우고 μ§€λ‚˜κ°”λ˜ μŠ€ν† λ¦¬λΆμ΄ 또 λ“±μž₯ν–ˆλ‹€. μ΅œκ·Όμ— μŠ€ν† λ¦¬λΆ 이야기λ₯Ό μ—¬κΈ°μ €κΈ°μ„œ λ“€μ–΄μ„œ, μŠ€ν† λ¦¬λΆμ˜ μž₯점은 μΈμ§€ν•˜κ³  μžˆμ§€λ§Œ μ§€κΈˆ μ‹œμ μ— λ°°μš°κΈ°μ—λŠ” μ€‘μš”λ„κ°€ λ–¨μ–΄μ§„λ‹€λŠ” 생각이 λ“€μ—ˆλ‹€. λ‚˜λΏλ§Œ μ•„λ‹ˆλΌ λ§Žμ€ μˆ˜κ°•μƒλ“€λ„ κ·Έλ ‡κ²Œ μƒκ°ν•˜κ³  μžˆμ—ˆκ³ , μ™ΈλΆ€κ°•μ‚¬λ‹˜λ“€ 쀑 μΌλΆ€λŠ” κ·Έλ ‡κ²Œ μƒκ°ν•˜μ‹œλŠ” λ“― ν–ˆλ‹€. μ—¬νŠΌ μ§€λ‚œ 달에 μŠ€ν† λ¦¬λΆμ΄ λ“±μž₯ν–ˆμ„ λ•ŒλŠ” 관심을 가지고 있던 터라 곡뢀해보렀 ν–ˆλŠ”λ°, μ„Ήμ…˜ κ°•μ‚¬λ‹˜λ„ κ·Έλƒ₯ ν›‘κ³  μ§€λ‚˜κ°€λ©΄ λœλ‹€κ³  ν•˜μ‹œκ³ , Reactλ₯Ό λΉ„λ‘―ν•΄ λ§Žμ€ 것듀이 아직 λΆ€μ‘±ν•΄μ„œ μŠ€ν† λ¦¬λΆμ€ λ‹€μŒμ— 곡뢀해야겠닀고 μˆœμ„œλ₯Ό λ―Έλ€„λ†¨λŠ”λ° μ΄λ²ˆμ—λŠ” 과제둜 λ“±μž₯ν•˜λ‹€λ‹ˆ? 두λ‘₯ 🫠

 μ²˜μŒμ—” κ·Έλƒ₯ λŒ€μΆ© ν•˜κ³  빨리 끝내야지 ν–ˆλŠ”λ°, μ• μ΄ˆμ— μ‚¬μš©ν• μ€„μ„ λͺ¨λ₯΄λ‹ˆ λŒ€μΆ©λ„ ν•  수 μ—†λ˜ μƒν™©μ΄μ—ˆλ‹€. κ²°κ΅­ ν•˜λ‚˜μ”© λ‹€ μ°Ύμ•„κ°€λ©° μ—¬μ°¨μ €μ°¨ κ΅¬ν˜„μ„ ν•˜κΈ΄ ν–ˆλŠ”λ° 사싀 잘 λͺ¨λ₯΄κ² λ‹€ πŸ˜‡ 잘 λͺ¨λ₯΄κ² μ§€λ§Œ, 배우고 싢은 λ§ˆμŒμ€ λ“€μ—ˆλ‹€. λ””μžμΈ κ°€μ΄λ“œλ₯Ό ν™œμš©ν•΄ λ””μžμΈ μ‹œμŠ€ν…œμ„ μ²΄κ³„μ μœΌλ‘œ κ΅¬μΆ•ν•œλ‹€λ©΄ 왠지 μž¬λ―Έμžˆμ„ 것 κ°™λ‹€λŠ” 생각이 λ“€μ—ˆλ‹€. (νΌλΈ”λ¦¬μ…”λ‘œ 일을 ν•  λ•Œ 퍼블 λ¦¬λ”λ‹˜μ΄ λ§Œλ“  ν”„λ‘œμ νŠΈμ˜ λ””μžμΈ μ‹œμŠ€ν…œμ„ 보고, 이게 제일 μž¬λ°Œμ–΄ 보인닀고 ν–ˆμ—ˆλŠ”λ° 사싀 그게 κ°€μž₯ κΉŒλ‹€λ‘­κ³  μ–΄λ €μš΄ μΌμ΄μ—ˆλ‹€λŠ”…πŸ˜‚ 문득 생각이 났닀.)

 μ—¬νŠΌ κ·Έλž˜λ„ μ§€κΈˆ μ‹œμ μ—μ„œ μŠ€ν† λ¦¬λΆμ€ μš°μ„  미뀄둬야겠닀. λ°°μšΈλ‚ μ΄ μ˜€κ² μ§€.

λ°˜μ‘ν˜•