피드로 돌아가기
Building a Gantt Chart Component with Zero Dependencies
Dev.toDev.to
Frontend

개발자가 프레임워크 종속 없는 경량 Gantt 차트 컴포넌트 SchedulaCore를 Vanilla JavaScript로 구현한 사례

Building a Gantt Chart Component with Zero Dependencies

Raffaele G.2026년 3월 30일3intermediate

Context

기존 Gantt 차트 라이브러리들이 번들 크기 500KB 이상, 프레임워크 종속성, 개발자당 900달러 이상의 가격으로 사용성에 한계가 있었다.

Technical Solution

  • 번들 크기 문제 → 프레임워크 종속 제거로 단일 script 태그로 페이지 삽입 가능
  • 가격 문제 → MIT 라이선스 무료 버전과 프로젝트 단위 유료 라이선스 모델 도입
  • 기능 확장 문제 → 플러그인 기반 아키텍처(ISchedulaPlugin 인터페이스)로 핵심 렌더링과 부가 기능 분리
  • 캘린더 인식 스케줄링 → 경과 시간(Width)과净작업 시간(Effort)을 구분하여 근무 시간, 휴일, 교대 schedules 반영

Impact

번들 크기 기존 대비 상당히 감소, 배포 시 별도 npm 설치나 webpack 설정 불필요

Key Takeaway

플러그인 아키텍처를 활용하면 핵심 기능을 안정적으로 제공하고 부가 기능을 유연하게 확장할 수 있다.


manufacturing planning 환경에서 Vanilla JavaScript와 플러그인 패턴을 사용하여 프레임워크 종속 없는 경량 스케줄러를 구현하면 배포 단순화와 비용 절감 효과를 얻는다

원문 읽기