: Single Page Application
: λ§ κ·Έλλ‘ ν κ°μ νμ΄μ§λ‘ μ΄λ£¨μ΄μ§ μ ν리μΌμ΄μ
μ μλ―Έ
κΈ°μ‘΄μλ μ¬μ©μκ° λ€λ₯Έ νμ΄μ§λ‘ μ΄λν λλ§λ€ μλ‘μ΄ htmlμ λ°μ μ€κ³ , νμ΄μ§λ₯Ό λ‘λ©ν λ λ§λ€ μλ²μμ 리μμ€λ₯Ό μ λ¬λ°μ ν΄μν λ€ νλ©΄μ 보μ¬μ£Όμλ€. μ΄λ κ² μ¬μ©μμκ² λ³΄μ΄λ νλ©΄μ μλ² μΈ‘μμ μ€λΉνλ€.
νμ¬ μΉμμ μ 곡λλ μ λ³΄κ° λ¬΄μν λ§μ΄ λλ¬Έμ μλ‘μ΄ νλ©΄λ§λ€ μλ² μΈ‘μμ λͺ¨λ λ·°λ₯Όμ€λΉνλ€λ©΄ μ±λ₯μ λ¬Έμ κ° λ°μν μ μλ€.νΈλν½μ΄ λ무 λ§μ΄ λμ€κ±°λ λΆνμν λ‘λ©μ΄ λ§μ΄ μκΈ°κ±° λ±λ±
κ·Έλμ 리μ‘νΈ κ°μ λΌμ΄λΈλ¬λ¦¬ νΉμ νλ μμν¬λ₯Ό μ¬μ©νμ¬ λ·° λ λλ§μ μ¬μ©μμ λΈλΌμ°μ κ° λ΄λΉνλλ‘ νκ³ , μ°μ μ ν리μΌμ΄μ μ λΈλΌμ°μ μ λΆλ¬μμ μ€νμν¨ νμ μ¬μ©μμμ μΈν°λ μ μ΄ λ°μνλ©΄ νμν λΆλΆλ§ μλ°μ€ν¬λ¦½νΈλ₯Ό μ¬μ©νμ¬ μ λ°μ΄νΈν΄μ€λ€. μλ‘μ΄ λ°μ΄ν°κ° νμνλ€λ©΄ μλ² APIλ₯Ό νΈμΆνμ¬ νμν λ°μ΄ν°λ§ μλ‘ λΆλ¬μ μ ν리μΌμ΄μ μμ μ¬μ©ν μ μλ€.
μ±μ κ·λͺ¨κ° 컀μ§λ©΄ μλ°μ€ν¬λ¦½νΈ νμΌμ΄ λ무 컀μ§λ€λ κ² (νμ΄μ§ λ‘λ© μ μ¬μ©μκ° μ€μ λ‘ λ°©λ¬Ένμ§ μμ μλ μλ μ€ν¬λ¦½νΈλ λΆλ¬μ€κΈ° λλ¬Έ) but μμΌλ‘ λ°°μΈ μ½λ μ€ν리ν (code spliting)μ μ¬μ©νλ©΄ λΌμ°νΈλ³λ‘ νμΌλ€μ λλμ΄ νΈλν½κ³Ό λ‘λ© μλλ₯Ό κ°μ ν μ μλ€!
: λ€λ₯Έ μ£Όμμ λ€λ₯Έ νλ©΄μ λ³΄μ¬ μ£Όλ κ²μ λΌμ°ν
μ΄λΌκ³ νλ€.
: μ΄λ€ μ£Όμμ μ΄λ€ UIλ₯Ό 보μ¬μ€μ§ κ·μΉμ μ νλ μμ
: κ³Όκ±°μλ μλ²μμ κ΄λ¦¬νλ λ‘μ§μ΄μμ§λ§ μ΄μ λ ν΄λΌμ΄μΈνΈ μ¬μ΄λμμ μμ£Ό κ°λ¨νκ² κ΅¬νν μ μλ€.
: νκ°μ μΉνμ΄μ§(html)μμμ μ¬λ¬ κ°μ νμ΄μ§λ₯Ό 보μ¬μ£Όλ λ°©λ²μ΄ Routing
리μ‘νΈ λΌμ΄λΈλ¬λ¦¬ μ체μλ μ΄ κΈ°λ₯μ΄ λ΄μ₯λμ΄ μμ§λ μλ€. κ·Έ λμ λΈλΌμ°μ μ APIλ₯Ό μ§μ μ¬μ©νμ¬ μ΄λ₯Ό κ΄λ¦¬νκ±°λ, λΌμ΄λΈλ¬λ¦¬λ₯Ό μ¬μ©νμ¬ μ΄ μμ μ λμ± μ½κ² ꡬνν μ μλ€.
리μ‘νΈ λΌμ°ν λΌμ΄λΈλ¬λ¦¬λ 리μ‘νΈ λΌμ°ν°(react-router), λ¦¬μΉ λΌμ°ν°(reach-router), Next.jsλ±μ΄ μλ€.