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 λμμΈμ λν μ΄ν΄κ° νμν κ² κ°μλ€.
• μν λ―Ή λμμΈμ μμ(atom), λΆμ(molecule), μ 기체(organism), ν νλ¦Ώ(template), νμ΄μ§(page)λ‘ κ΅¬μ±λμ΄ μλ€.
μ¬κΈ°μ κ°μ₯ μ€μν 건 λΉμ°ν μμ(Atom)λ‘, μν λ―Ή λμμΈμμ μμ(Atom)λ λμμΈμ κ°μ₯ κΈ°λ³Έμ μ΄κ³ , λ μ΄μ μͺΌκ°€ μ μλ κ΅¬μ± μμλ₯Ό μλ―Ένλ€. μΈν, λΌλ²¨, μμ΄μ½, λ²νΌ λ±μ μμκ° μ΄μ ν΄λΉνλ©°, μ΄λ¬ν μμλ€μ΄ κ²°ν©νμ¬ λ 볡μ‘ν UI ꡬ쑰λ₯Ό λ§λ€μ΄κ°λ€.
↑ μν λ―Ή λμμΈμ μ΄ν΄νκΈ°μ μμ£Ό μ’μ μ΄λ―Έμ§μΈκ² κ°μμ 곡μ ννμ΄μ§μμ κ°μ Έμλ€ ππ»
βοΈ κ³Όμ . 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λ₯Ό λΉλ‘―ν΄ λ§μ κ²λ€μ΄ μμ§ λΆμ‘±ν΄μ μ€ν 리λΆμ λ€μμ 곡λΆν΄μΌκ² λ€κ³ μμλ₯Ό λ―Έλ€λ¨λλ° μ΄λ²μλ κ³Όμ λ‘ λ±μ₯νλ€λ? λλ₯ π«
μ²μμ κ·Έλ₯ λμΆ© νκ³ λΉ¨λ¦¬ λλ΄μΌμ§ νλλ°, μ μ΄μ μ¬μ©ν μ€μ λͺ¨λ₯΄λ λμΆ©λ ν μ μλ μν©μ΄μλ€. κ²°κ΅ νλμ© λ€ μ°Ύμκ°λ©° μ¬μ°¨μ μ°¨ ꡬνμ νκΈ΄ νλλ° μ¬μ€ μ λͺ¨λ₯΄κ² λ€ π μ λͺ¨λ₯΄κ² μ§λ§, λ°°μ°κ³ μΆμ λ§μμ λ€μλ€. λμμΈ κ°μ΄λλ₯Ό νμ©ν΄ λμμΈ μμ€ν μ 체κ³μ μΌλ‘ ꡬμΆνλ€λ©΄ μ μ§ μ¬λ―Έμμ κ² κ°λ€λ μκ°μ΄ λ€μλ€. (νΌλΈλ¦¬μ λ‘ μΌμ ν λ νΌλΈ 리λλμ΄ λ§λ νλ‘μ νΈμ λμμΈ μμ€ν μ λ³΄κ³ , μ΄κ² μ μΌ μ¬λ°μ΄ 보μΈλ€κ³ νμλλ° μ¬μ€ κ·Έκ² κ°μ₯ κΉλ€λ‘κ³ μ΄λ €μ΄ μΌμ΄μλ€λ…π λ¬Έλ μκ°μ΄ λ¬λ€.)
μ¬νΌ κ·Έλλ μ§κΈ μμ μμ μ€ν 리λΆμ μ°μ λ―Έλ€λ¬μΌκ² λ€. λ°°μΈλ μ΄ μ€κ² μ§.