피드로 돌아가기
Dev.toFrontend
원문 읽기
Legacy jQuery 제거를 통한 Script Evaluation Time 단축 및 AI UI 응답성 최적화
Kill the Zombies: Why 2012 Dependencies are Making Your 2026 AI Feel Laggy
AI 요약
Context
LLM Streaming 기반의 Agentic UI 환경에서 2012년 출시된 jQuery 라이브러리가 Main Thread를 점유하며 Micro-stutter 발생. 단순 파일 크기보다 브라우저의 Script Evaluation 단계에서 발생하는 Blocking Time이 AI 토큰 렌더링의 실시간성을 저해하는 병목 지점으로 작용.
Technical Solution
- Convenience Bundling에서 Atomic Ingress 구조로 전환하여 불필요한 Transitive Dependency 제거
- jQuery의
.html()및.append()메서드를 Native DOM API인textContent와appendChild로 대체하여 XSS 취약점 원천 차단 - 단순 Alias 설정(Shimming) 방식의 런타임 Crash 위험을 배제하고 DOMPurify 등 전용 Sanitizer 도입을 통한 보안 계층 강화
- Webpack Bundle Analysis를 통한 의존성 트리 추적 및 jQuery 기반 레거시 플러그인의 Vanilla JS 대체제 전환
- 브라우저 캐싱과 무관한 Parse 및 Execute 단계의 오버헤드를 제거하여 Mobile 환경의 Script Evaluation 부하 감소
실천 포인트
1. webpack-bundle-analyzer를 활용한 jQuery 포함 여부 및 상위 패키지 추적
2. Chrome DevTools의 Long Tasks(>50ms) 분석을 통한 스크립트 실행 병목 구간 식별
3. jQuery 제거 시 .innerHTML 대신 textContent 사용 혹은 DOMPurify 적용 여부 검토
4. jQuery 기반 외부 라이브러리를 Headless 또는 Vanilla JS 기반 라이브러리로 교체