Dev knowledge

Micro Frontend

devwoodie 2023. 3. 14. 23:40
728x90
λ°˜μ‘ν˜•

πŸ“‹ Micro Frontend

Micro Frontend λž€ λ°±μ—”λ“œμ—μ„œ μ‚¬μš©ν•˜κ³  μžˆλŠ” 마이크둜 μ„œλΉ„μŠ€ μ•„ν‚€ν…μ³μ²˜λŸΌ ν”„λ‘ νŠΈμ—”λ“œμ—μ„œ κ΄€λ¦¬ν•˜λŠ” μ„œλΉ„μŠ€λ₯Ό λΆ„λ¦¬ν•΄μ„œ 개발, κ΄€λ¦¬ν•˜λŠ” νŒ¨ν„΄μ„ λ§ν•©λ‹ˆλ‹€.

Micro Service 처럼 전체 화면을 μž‘λ™ν•  수 μžˆλŠ” λ‹¨μœ„λ‘œ λ‚˜λˆ„μ–΄ κ°œλ°œν•œ ν›„ μ„œλ‘œ μ‘°λ¦½ν•˜λŠ” λ°©μ‹μž…λ‹ˆλ‹€.

πŸ“ Micro Frontend μž₯점

  • μž‘κ³ , 응집λ ₯ 있고 μœ μ§€λ³΄μˆ˜μ— μš©μ΄ν•œ μ½”λ“œλ² μ΄μŠ€λ₯Ό κ°€μ§ˆ 수 μžˆμŠ΅λ‹ˆλ‹€.
  • 각 Micro FrontendλŠ” κ³ μœ ν•œ 기술 및 ν”„λ ˆμž„ μ›Œν¬λ₯Ό 선택할 수 μžˆμŠ΅λ‹ˆλ‹€.
  • ν”„λ‘ νŠΈμ—”λ“œ κ°œλ°œμ„ 점진적 μ—…κ·Έλ ˆμ΄λ“œ λ˜λŠ” μž¬μž‘μ„±μ΄ μˆ˜μ›”ν•΄μ§‘λ‹ˆλ‹€.
  • 뢄리 배포가 μš©μ΄ν•˜κ³ , 자율적인 νŒ€ 쑰직운영이 μˆ˜μ›”ν•΄μ§‘λ‹ˆλ‹€.

πŸ“ Micro Frontend 단점

  • 배포 λ²ˆλ“€ μ‚¬μ΄μ¦ˆκ°€ 컀질 수 μžˆμŠ΅λ‹ˆλ‹€.
  • μ„œλ‘œ κ°„μ˜ 개발 ν™˜κ²½μ˜ 차이둜 λ³΅μž‘λ„κ°€ μ˜¬λΌκ°‘λ‹ˆλ‹€.
  • 각 Micro Frontendμ—λŠ” 쀑볡 된 μ½”λ“œ λ˜λŠ” κΈ°λŠ₯이 μžˆμ„ 수 μžˆμŠ΅λ‹ˆλ‹€.

πŸ“Œ Main Concept

  • 기술 독립성
    • 각 μž‘λ™ λ‹¨μœ„λ“€μ€ 기술적으둜 독립적일 수 μžˆμ–΄μ•Ό ν•œλ‹€.
    • 각 μž‘λ™ λ‹¨μœ„μ— μ‚¬μš©λœ ν”„λ‘ νŠΈμ•€λ“œ 기술(React, Vue, Vanilla JS λ“±) 에 상관 없이 쑰합이 κ°€λŠ₯ν•΄μ•Ό ν•œλ‹€.
  • μ»¨ν…μŠ€νŠΈ 독립성
    • 각 μž‘λ™ λ‹¨μœ„λ“€μ΄ 같은 ν”„λ ˆμž„μ›Œν¬λ₯Ό μ‚¬μš©ν•˜λ”λΌλ„, μ»¨ν…μŠ€νŠΈλ₯Ό κ³΅μœ ν•΄μ„  μ•ˆλœλ‹€.
    • 독립적인 μ• ν”Œλ¦¬μΌ€μ΄μ…˜μ„ 자체적으둜 ꡬ좕해야 ν•˜κ³ , μƒνƒœ κ³΅μœ λ‚˜ μ „μ—­ λ³€μˆ˜μ— μ˜μ‘΄ν•΄μ„œλŠ” μ•ˆλœλ‹€.
  • λ„€μž„μŠ€νŽ˜μ΄μŠ€λ₯Ό ν™œμš©ν•œ 뢄리
    • 각 μž‘λ™ λ‹¨μœ„μ˜ 격리가 λΆˆκ°€λŠ₯ν•œ 경우, 넀이밍 μ»¨λ²€μ…˜μ— 따라 prefix λ“±μœΌλ‘œ λ„€μž„μŠ€νŽ˜μ΄μŠ€λ₯Ό ν™œμš©ν•œλ‹€.
    • css, 둜컬 μŠ€ν† λ¦¬μ§€, 이벀트, 쿠킀에 λ„€μž„μŠ€νŽ˜μ΄μŠ€λ₯Ό λΆ€μ—¬ν•˜μ—¬ μΆ©λŒμ„ λ°©μ§€ν•˜κ³  λͺ…ν™•νžˆ λΆ„λ¦¬ν•œλ‹€.
  • 톡신 μ‹œμŠ€ν…œμ— κΈ°λ³Έ λΈŒλΌμš°μ € κΈ°λŠ₯ ν™œμš©
    • μž‘λ™ λ‹¨μœ„ κ°„μ˜ 톡신을 μœ„ν•œ μ‹œμŠ€ν…œμ„ 자체 κ΅¬μΆ•ν•˜λŠ” 것보닀, λΈŒλΌμš°μ € 이벀트λ₯Ό μ‚¬μš©ν•œλ‹€.
    • λ§Œμ•½ μ •λ§λ‘œ μž‘λ™ λ‹¨μœ„ κ°„ μ»€μŠ€ν…€ APIκ°€ ν•„μš”ν•œ 경우, κ°€λŠ₯ν•œ κ°„λ‹¨ν•˜κ²Œ μœ μ§€ν•œλ‹€.
  • 탄λ ₯적인 μ›Ή λ””μžμΈ ꡬ좕
    • JSμ—μ„œ μ—λŸ¬κ°€ λ‚˜κ±°λ‚˜ μ‹€ν–‰ν•  수 없더라도, κΈ°λŠ₯은 μ‚¬μš© κ°€λŠ₯ν•΄μ•Ό ν•œλ‹€.
    • λ²”μš© λ Œλ”λ§κ³Ό 점진적 ν–₯상을 톡해 μ„±λŠ₯을 ν–₯μƒμ‹œν‚¬ 수 μžˆλ‹€.

728x90
λ°˜μ‘ν˜•