octanejs/octane
TypeScript0 / 0
vDOM을 제거한 React 호환 컴파일러 기반 경량 프레임워크
TL;DR
레포지토리 종류는 컴파일러형 UI 프레임워크이며 React API와 높은 호환성을 목표로 설계되었습니다. 컴포넌트를 컴파일해 직접 DOM 코드를 생성하므로 가상 DOM과 훅 북키핑 오버헤드가 제거되는 구조이고 .tsrx로 템플릿 지시자와 @{…} 같은 편의 문법을 추가로 제공합니다. 스트리밍 SSR, 바이트-안정 하이드레이션, 지연 하이드레이션과 같은 서버·하이드레이션 기능을 갖추고 Vite/Rspack/Rsbuild를 공식 지원하며 여러 @octanejs/* 바인딩이 포함된 모노레포 구조입니다. 현재는 알파 상태로 API가 변경될 수 있으니 안정성이 필수인 환경에서는 주의가 필요합니다.
핵심 포인트
- 이 레포지토리는 컴파일러형 JavaScript UI 프레임워크로, React API를 재사용하는 구조를 취합니다. 컴포넌트 코드가 배포 전 컴파일되어 직접 DOM 조작 코드로 바뀌며 가상 DOM을 사용하지 않습니다. Inferno의 후속작으로 성능 우선 목표를 이어가고 있다는 문서상의 설명이 있습니다.
- 표준 JSX를 그대로 쓸 수 있고 선택적으로 .tsrx라는 확장 문법을 사용할 수 있습니다. .tsrx는 @if, @for, @switch, @try 같은 템플릿 지시자와 @{ … } 짧은 문법을 제공하며 이들 지시자는 키 기반의 빠른 경로로 컴파일됩니다. VS Code용 TSRX 확장으로 문법 강조·진단·완성·네비게이션을 지원한다는 점도 명시되어 있습니다.
- 훅 관련 동작은 컴파일러가 클로저가 캡처하는 값을 분석해 의존성 배열을 유도하도록 설계되었습니다. 훅은 호출 순서가 아니라 호출 지점(call site)으로 추적되어 if문 안이나 조기 반환 뒤에 훅을 둘 수 있으며 단, 일반 자바스크립트 루프 안에 훅을 두면 컴파일 오류가 납니다. useState와 useReducer는 [state, update, getState] 셋을 반환해 지연 콜백에서 최신 상태를 읽을 수 있도록 합니다.
- 서버 사이드 기능은 스트리밍 SSR, 바이트-안정적 하이드레이션, 계층별 서스펜스(out-of-order Suspense)와 지연 하이드레이션(<Hydrate>)을 지원하도록 설계되어 있습니다. 빌드 도구로 Vite, Rspack, Rsbuild을 공식으로 지원하며 Vercel·Cloudflare용 어댑터와 다양한 @octanejs/* 바인딩 패키지들이 모노레포에 포함되어 있습니다. 현재 알파 상태로 API가 여전히 변경될 수 있고 런타임·컴파일러·SSR 경로가 동작하며 3,900개 이상의 동작 테스트가 존재하고 React 대비 커버리지를 기록한 parity 리포트가 제공됩니다.
1.2k
Stars
41
Forks
+204
Trending
0
조회수
1.2k watchers89 open issues
관련 토론
아직 관련 토론이 없습니다.
댓글
댓글을 작성하려면 로그인이 필요합니다.