λ³Έ νλ‘μ νΈμ μ»΄ν¬λνΈ μν€ν μ³λ CDD(μ»΄ν¬λνΈ κ°λ° μ£Όλ λ°©λ²λ‘ )μ μ§ν₯νκ³ μμ΅λλ€. λͺ¨λ νμ΄μ§λ μ»΄ν¬λνΈμ Atom λ¨μλΆν° μμν΄ Bottom-Up λ°©μμ κ΅¬μ‘°λ‘ μμ±λμμ΅λλ€.
-------> Atom -------> Molecule -------> Organism -------> Page
-
Organismsμ Section μ»΄ν¬λνΈλ μ€ν λ¦¬λΆ μμ±μ μ©μ΄ν©λλ€. Page μ»΄ν¬λνΈμμ κΈ°μ‘΄μ μμ λ¨μμ μ»΄ν¬λνΈλ₯Ό μ‘°ν©ν΄ μμ±νμλ€λ©΄, νΉμ μΉμ λ³λ‘ μ€ν 리λΆμ λ¬Έμνκ° λΆκ°λ₯ν λ¬Έμ κ° λ°μν©λλ€.
-
μ»΄ν¬λνΈλ₯Ό λ¨μ λ³λ‘ λλλ€λ μλ―Έλ 컨ν μ€νΈ μμλ€μ λλμ΄ κ΄λ¦¬ν μ μλ€λ μλ―Έκ° λ©λλ€. μλ₯Ό λ€μ΄ λΉλκΈ° μμ², μ°μ°μ μκ°μ΄ νμν λ°μ΄ν°κ° νμ΄μ§ μ»΄ν¬λνΈμμ νκΊΌλ²μ λ λλ§λλ€λ©΄, UX μ λ¬Έμ κ° λ°μν μΌλ €κ° ν½λλ€. λ³Έ μ»΄ν¬λνΈ μν€ν μ³μ Layoutκ³Ό Section μ»΄ν¬λνΈλ₯Ό ν¨κ» μ¬μ©νλ€λ©΄, Layoutμ ν΅ν΄ λλ©μΈμ λν 컨ν μ€νΈ μμμ νμ ν΄ κ΄λ¦¬ν μ μκ³ , νμ λ μμμμ νΉμ μΉμ μ νμν λ°μ΄ν°λ§ constateλ₯Ό νμ©ν ν μΌλ‘μ κ°μ Έμ κ΄λ¦¬ν μ μκ² λ©λλ€. μ΄λ, React 18μ Suspense(React-Queryλ₯Ό ν¬ν¨ν) λ° Fallback μ λ΅μλ μ 리ν©λλ€.
components
γ΄ Atoms
- λμ΄μ μͺΌκ°μ§ μ μλ μ΅μλ¨μμ κ³΅ν΅ μ»΄ν¬λνΈκ° μ΄ κ³³μ μμΉν©λλ€. μν λ―Ή λμμΈ ν¨ν΄μ Atomsμ μ μ¬ν©λλ€.
γ΄ Molecules
- κ° λλ©μΈμμ μ¬μ¬μ© κ°λ₯ν UI μ»΄ν¬λνΈκ° μ΄ κ³³μ μμΉν©λλ€. Atomsλ μ μμμ μ¬μ¬μ©μ΄ κ°λ₯νλ€λ©΄, Moleculesμ μμΉν μ»΄ν¬λνΈλ ν΄λΉ λλ©μΈ λ΄μμλ§ μ¬μ© κ°λ₯ν©λλ€.
γ΄ Organisms
- νλμ 컨ν
μ€νΈ μμμ 곡μ νλ λ μ΄μμ μ»΄ν¬λνΈμ ν΄λΉ μμμ μ¬μ©νλ μ¬λ¬ κ°μ Molecule UI μ»΄ν¬λνΈκ° μ κΈ°μ μΌλ‘ λ°°μΉλ Section μ»΄ν¬λνΈκ° μ΄ κ³³μ μμΉν©λλ€.
Sectionμμ ν μ μ¬μ©νλ κ²½μ°μ Layoutμμ ν μ μ¬μ©νλ κ²½μ°λ μ΄λ ν μ°¨μ΄κ° μλμ?
Layoutμ Sectionμ μ΄λ£¨λ λΆλͺ¨ μ»΄ν¬λνΈμ λλ€. λ°λΌμ λΆλͺ¨ μ»΄ν¬λνΈμμ νμ Sectionλ€μ΄ μ¬μ©ν κ³΅ν΅ μ»¨ν μ€νΈμ λν΄ μμμ 곡μ μν¬ λͺ©μ μ΄ μλ€λ©΄, Layout μ»΄ν¬λνΈμμ ν μ μ μΈν΄ constateλ₯Ό ν΅ν΄ 곡μ ν©λλ€. Sectionμμ λ°λ‘ ν μ κ°μ Έλ€ μ°λ κ²½μ°λ λμΌν Layout μ»΄ν¬λνΈ λ μ΄μ΄μ μλ λ€λ₯Έ Sectionμκ² μ»¨ν μ€νΈ μμμ 곡μ μν¬ λͺ©μ μ΄ μμ λμ λλ€.
κ·Έλ λ€λ©΄ μ Layoutμμ 곡μ 컨ν μ€νΈλ₯Ό λ§λλμ? κΈ°μ‘΄μ μ¬μ©νλ λ€λ₯Έ λ°©μμΌλ‘λ ν΄κ²°ν μ μλ κ³Όμ κ° μμλμ?
μ΄λ₯Ό μ€λͺ λ리기 μν΄μλ μ κ° Layout-Section κ΅¬μ‘°λ‘ νλ‘μ νΈλ₯Ό μννκΈ° μ κΈ°μ‘΄μ κ²ͺμλ κΈ°μ λΆμ±μ λν΄ Trade-Offλ₯Ό 극볡ν μ¬λ‘λ₯Ό μ€λͺ λλ €μΌν κ² κ°μ΅λλ€.
κ³Όκ±° Layout μ»΄ν¬λνΈλ₯Ό μ¬μ©νμ§ μκ³ νμ΄μ§λ₯Ό ꡬμ±ν κ²°κ³Ό λ€μκ³Ό κ°μ λ¬Έμ μ μ΄ λ°μνμμ΅λλ€.
- λ μ΄μ΄λ‘ λλμ΄μ Έ μμ§ μμ νμ΄μ§ λ΄μμ μ΄λμ μμΉνλ μ»΄ν¬λνΈμΈμ§ λ¨λ²μ νμ μ΄ μ΄λ €μ
- Section μ»΄ν¬λνΈ μμ΄ κ΅¬μ±λλ€ λ³΄λ μΆμν λ 벨μ μ ννκΈ° μ΄λ €μμ§λ―λ‘ κ°λ μ±μ΄ μ νλ¨
- νμ΄μ§μμ μνλ₯Ό μ²λ¦¬νλ€λ³΄λ Top-Down λ°©μμ 리μ‘νΈ μ»΄ν¬λνΈ λ λλ§ μ λ΅μ μμ΄ λΆλ¦¬ν¨
μ΄λ¬ν κΈ°μ λΆμ±λ₯Ό ν΄κ²°νκΈ° μν΄ Layout-Section ꡬ쑰λ₯Ό λμ νμμΌλ©°, λ°©ν₯μ±μ λ€μκ³Ό κ°μμ΅λλ€.
- νμ΄μ§μμ λ μ΄μ΄λ₯Ό λ€λ£° μ μκ² Layout μ»΄ν¬λνΈλ Compound μ»΄ν¬λνΈλ‘ μμ±νλλ‘ ν©λλ€.
- μΆμν λ 벨μ μ½λμμ μ νν μ μλλ‘ Atomic-design ν¨ν΄μ μ¬μ©νκ³ λ¬Έμλ₯Ό ν΅ν΄ κ° λ¨κ³κ° κ°μ§λ μλ―Έλ₯Ό μ νν©λλ€.
- κ²½μ°μ λ°λΌ Section μ»΄ν¬λνΈμ Layout μ»΄ν¬λνΈ μ»¨ν μ€νΈ λ΄μμ μνλ₯Ό μ²λ¦¬ν μ μλλ‘ νμ¬, 리λ λλ§λλ λ²μλ₯Ό ꡬλΆν©λλ€.
νμ§λ§ λͺ¨λ κ²μ΄ μλ²½νμ§λ§μ μμ΅λλ€. νκΈ°μ λν λΆλΆμ κΈ°μ‘΄μ Atomic-design ν¨ν΄μ λ¨μ κ³Ό λμΌν©λλ€.
- μ½λ μμ κ·μ¨μ λ¬Έμλ‘μ μ 곡νλ―λ‘ κ°λ°μκ° μ½λλ₯Ό μμ±ν λ μ΄λμ λμ νμ΅ λΉμ©μ΄ λ°μν μ μμ΅λλ€.
- μ»΄ν¬λνΈκ° νμ΄μ§μ μ 곡λκΈ°κΉμ§ κ° κ³Όμ μ΄ μ‘΄μ¬νκΈ° λλ¬Έμ κ΄λ¦¬ν΄μΌνλ νμΌμ μκ° λ§μμ§ μ μμ΅λλ€.
RXJSμ ν΅ν΄ μ΅μ λ²λΈ ν¨ν΄μΌλ‘ μ€νΈλ¦Όμ ꡬμ±νλλ‘ μ²λ¦¬νμμ΅λλ€.
μ΅μ λ²λΈμ λ€μκ³Ό κ°μ λ³μ λ€μ΄λ°μ κ°μ§λλ€.
${λ³μλͺ
}$
- λ³μλͺ
λμ '$' κΈ°νΈκ° λΆμ΅λλ€.