Virtual DOM 기반의 빠르고 약 4kB 크기인 React 호환 UI 라이브러리로, 최신 컴포넌트 API를 동일하게 제공합니다.
infernojs/inferno
클라이언트와 서버에서 고성능 UI를 구축하기 위한, 매우 빠른 React 유사 JavaScript 라이브러리입니다.
- 스타
- 16,452
- 포크
- 642
- 열린 이슈
- 36
- 마지막 커밋
- 그저께
어떤 프로젝트인가요?
Inferno는 UI를 구축하기 위한 React 유사 JavaScript 라이브러리입니다. React의 컴포넌트 모델과 단방향 데이터 흐름, 라이프사이클 개념을 유지하면서 런타임 렌더링 속도에 중점을 두며, 특히 실시간 데이터 뷰와 대규모 DOM 트리에서 강점을 보입니다.
컴파일 타임 최적화로 속도를 높입니다. Babel, SWC, TypeScript용 Inferno JSX 플러그인은 createElement 호출 대신 직접 vNode 생성 호출을 만들어 내며, $HasVNodeChildren 같은 자식 플래그를 사용하면 개발자가 자식의 형태를 선언해 런타임에서 정규화 과정을 건너뛸 수 있습니다. 또한 이벤트 핸들러에서 화살표 함수와 bind 호출을 피할 수 있도록 linkEvent를 제공하고, inferno-server를 통한 서버 렌더링도 지원합니다.
Inferno는 몇 가지 측면에서 React와 다릅니다. 부분적인 합성 이벤트 시스템과 함수형 컴포넌트의 라이프사이클 훅, 제어 컴포넌트를 제공합니다. React Native는 지원하지 않습니다. JSX는 선택 사항이며 hyperscript와 createElement도 사용할 수 있습니다.
핵심 기능
- 01단방향 데이터 흐름과 익숙한 라이프사이클 메서드를 갖춘 React 유사 컴포넌트 API
- 02React에는 없는 함수형 컴포넌트 라이프사이클 이벤트
- 03bind와 클로저 사용을 피할 수 있는 부분 합성 이벤트 시스템 및 linkEvent 헬퍼
- 04inferno-server와 hydrate를 통한 클라이언트 및 서버 렌더링
- 05제어되는 input, select, textarea 컴포넌트
- 06Babel, SWC, TypeScript용 컴파일 타임 JSX 플러그인
활용 사례
- 자주 업데이트되는 실시간 대시보드나 데이터 뷰 구축
- 런타임 성능이 중요한 대규모 DOM 트리 렌더링
- 소규모 React 스타일 프런트엔드를 더 가벼운 런타임으로 마이그레이션
- 클라이언트에서 하이드레이션이 필요한 서버 사이드 렌더링 웹 앱
빠른 시작
- 1
코어 패키지를 설치합니다
npm install --save inferno - 2
Babel용 JSX 컴파일러 플러그인을 설치합니다
npm install --save-dev babel-plugin-inferno - 3
render 함수를 사용해 컴포넌트를 DOM 요소에 렌더링합니다
사용 전 알아둘 점
- Inferno는 React Native를 지원하지 않습니다.
- Inferno는 레거시 문자열 ref를 지원하지 않으므로, 이를 사용하는 코드는 수정해야 합니다.
- Inferno의 JSX 컴파일 타임 최적화를 사용하려면 해당 Inferno 버전에 맞는 컴파일러 플러그인이 필요합니다.
토픽
자주 묻는 질문
- inferno은(는) 무엇인가요?
- 클라이언트와 서버에서 고성능 UI를 구축하기 위한, 매우 빠른 React 유사 JavaScript 라이브러리입니다. Inferno는 UI를 구축하기 위한 React 유사 JavaScript 라이브러리입니다. React의 컴포넌트 모델과 단방향 데이터 흐름, 라이프사이클 개념을 유지하면서 런타임 렌더링 속도에 중점을 두며, 특히 실시간 데이터 뷰와 대규모 DOM 트리에서 강점을 보입니다.
- inferno은(는) 무료로 사용할 수 있나요? 라이선스는 무엇인가요?
- inferno은(는) MIT 라이선스의 오픈소스입니다. 상업용 제품에 사용하기 전에 라이선스 조건을 확인하세요.
- inferno은(는) 아직 유지보수되고 있나요?
- 활발히 유지보수 중. inferno의 마지막 커밋은 2026년 10월 23일입니다.
- inferno은(는) 어디에 사용할 수 있나요?
- 자주 업데이트되는 실시간 대시보드나 데이터 뷰 구축 런타임 성능이 중요한 대규모 DOM 트리 렌더링 소규모 React 스타일 프런트엔드를 더 가벼운 런타임으로 마이그레이션 클라이언트에서 하이드레이션이 필요한 서버 사이드 렌더링 웹 앱
- inferno는 어떻게 설치하나요?
- 코어 패키지를 설치합니다: npm install --save inferno Babel용 JSX 컴파일러 플러그인을 설치합니다: npm install --save-dev babel-plugin-inferno render 함수를 사용해 컴포넌트를 DOM 요소에 렌더링합니다
- inferno은(는) 어디서 받을 수 있나요?
- 소스 코드와 설치 방법은 GitHub에 있습니다: https://github.com/infernojs/inferno
요약은 프로젝트 README를 바탕으로 AI가 작성했습니다. GitHub 통계는 매일 갱신됩니다.
관련 프로젝트
Virtual DOM 대신 JSX를 실제 DOM 업데이트로 컴파일하고 세밀한 반응성을 제공하는 선언형 JavaScript UI 라이브러리입니다.
Omi는 재사용 가능한 커스텀 요소를 만들기 위한 JSX, signal 기반 반응성, 라우터, Tailwind 지원을 갖춘 Web Components 프레임워크입니다.
Firebase JS SDK에 Angular 바인딩을 제공하며, 의존성 주입, RxJS observable, Firebase 서비스용 Angular 친화적 API를 지원합니다.
웹 애플리케이션 구축을 위한 엔터프라이즈급 React UI 컴포넌트 라이브러리이자 디자인 언어입니다.
웹 애플리케이션 구축을 위한 수작업으로 제작된 반응형 컴포넌트를 제공하는 Vue용 Material Design UI 컴포넌트 프레임워크입니다.