피드로 돌아가기
Runtime Is Not the Problem
Dev.toDev.to
Frontend

Runtime vs Compiled 논쟁을 넘어선 Capability-based Packaging 전략

Runtime Is Not the Problem

Viktor Lázár2026년 5월 13일17advanced

Context

UI 프레임워크의 크기 논쟁을 단순한 Compiler vs Runtime의 대립으로 보는 기존 시각의 한계 분석. React의 거대한 번들 사이즈는 Runtime 모델 자체의 결함이 아닌, 단일 Monolith 구조의 패키징 방식에 따른 불필요한 General-purpose Engine 포함 문제에서 기인함.

Technical Solution

  • Framework-shaped output을 App-shaped output으로 전환하는 Capability Graph 설계
  • General-purpose Engine 방식에서 개별 기능 단위의 Capability-based Packaging으로 구조 변경
  • Bundler 및 Compiler가 정적 구조를 인식하여 미사용 기능을 제거하는 Dead-code Elimination 최적화
  • 컴파일 기반의 Specialized Output과 런타임 기반의 Packaged Capability 간의 하이브리드 접근
  • 반복되는 컴포넌트 패턴을 Runtime Helper로 Lowering 하여 코드 중복을 방지하는 Amortization 전략

1. 라이브러리 설계 시 Monolith API 대신 기능별 분리된 Entry Point 제공 여부 검토

2. Tree-shaking 효율을 높이기 위해 프레임워크 내부 의존성을 Capability Graph 형태로 구조화

3. 앱 규모에 따른 Size Curve를 분석하여 Fixed Cost(Floor)와 Growth Rate(Slope)의 최적 지점 파악

4. 반복 패턴 발생 시 개별 컴파일 출력보다 공유 런타임 헬퍼를 통한 최적화 가능성 확인

원문 읽기