solidjs/solid
가상 DOM 없이 반응성을 구현하는 SolidJS
원제 solidjs/solid
스타 36,261당일 +139TypeScript
Key Point
가상 DOM 없이 반응성 시스템으로 성능을 최적화한 새로운 UI 프레임워크의 설계와 기능을 이해해야 프론트엔드 기술 선택에 참고할 수 있다.
핵심 요약
- SolidJS는 JSX 기반 JavaScript UI 라이브러리로, 가상 DOM 대신 템플릿을 실제 DOM 노드로 컴파일한 뒤 세밀한 반응성으로 업데이트한다.
- 상태 변경 시 해당 상태에 의존한 코드만 다시 실행되는 방식으로, 불필요한 리렌더링을 최소화한다.
- createSignal 같은 반응형 원시 타입을 사용해 선언적 상태 관리를 제공하며, 컴포넌트는 한 번만 실행되는 일반 JavaScript 함수다.
- JS Framework Benchmark에서 vanilla JavaScript에 거의 근접한 성능을 보이며, 번들 크기는 작고 tree-shakable하다.
- JSX, 프래그먼트, Context, Portals, Suspense, 스트리밍 SSR, 점진적 hydration, Error Boundaries, 동시 렌더링 등 현대 프레임워크 기능을 제공한다.
- 웹 컴포넌트 친화적이며 custom renderer를 통해 다양한 환경에서 사용할 수 있고, 클라이언트와 서버 모두에서 컴포넌트를 렌더링할 수 있다.
- Context와 Stores로 전역 상태 관리가 내장되어 있고, Resources를 통해 서버에서 로드한 데이터를 일반 상태처럼 다룬다.
- 완전한 SSR과 serverless 지원이 있으며, Vite 생태계와 통합되고 TypeScript를 기본 지원한다.
- Firefox, Safari, Chrome, Edge 최신 2년을 지원하며, 서버 환경에서는 Node LTS, Deno, Cloudflare Workers 런타임을 지원한다.
- component libraries(Kobalte 등), solid-primitives, solid-labels 등 확장 도구들로 이루어진 생태계가 성장 중이다.
저장소 보기 ↗github.com