Virtual DOM 대신 JSX를 실제 DOM 업데이트로 컴파일하고 세밀한 반응성을 제공하는 선언형 JavaScript UI 라이브러리입니다.
Tencent/omi
Omi는 재사용 가능한 커스텀 요소를 만들기 위한 JSX, signal 기반 반응성, 라우터, Tailwind 지원을 갖춘 Web Components 프레임워크입니다.
- 스타
- 13,276
- 포크
- 1,256
- 열린 이슈
- 68
- 마지막 커밋
- 15일 전
어떤 프로젝트인가요?
Omi는 브라우저의 네이티브 커스텀 요소 표준인 Web Components를 만들기 위한 프레임워크입니다. 컴포넌트는 @tag('counter-demo') 같은 데코레이터로 정의하고 JSX로 렌더링하므로, 커스텀 요소를 지원하는 일반 HTML, Vue, React 또는 다른 환경에서 사용할 수 있습니다.
상태는 signal 기반 반응형 시스템인 reactive-signal 패키지로 관리합니다. signal의 값이 바뀌면 해당 signal에 의존하는 UI만 업데이트됩니다. 코어 패키지에는 함수형 컴포넌트, Suspense, 디렉티브, 스타일 관리를 위한 Constructable Stylesheets도 포함되어 있습니다. 선택 패키지로 라우터, 폼 솔루션(omi-form), UI 컴포넌트와 아이콘 모음을 추가할 수 있습니다.
omi-cli를 통해 CLI 프로젝트 스캐폴딩을 제공하며, TypeScript, JavaScript 템플릿과 Router, Signal, Suspense, Tailwind CSS가 포함된 SPA 설정 템플릿을 지원합니다. 저장소는 모노레포로, 스타터 키트와 스네이크 게임 같은 예제 앱도 포함합니다.
핵심 기능
- 01@tag 데코레이터로 커스텀 요소를 정의하고 JSX로 렌더링합니다.
- 02signal 기반 반응성으로 값이 바뀐 부분에 의존하는 UI만 업데이트합니다.
- 03코어 프레임워크에 함수형 컴포넌트, Suspense, 디렉티브가 포함되어 있습니다.
- 04컴포넌트 스타일을 관리하고 공유하는 Constructable Stylesheets를 지원합니다.
- 05라우터, 폼, UI 컴포넌트를 위한 공식 패키지를 제공합니다.
- 06omi-cli로 Vite 기반 TypeScript 또는 JavaScript 프로젝트를 스캐폴딩할 수 있습니다.
활용 사례
- Vue, React 또는 일반 HTML에서 모두 사용할 수 있는 재사용 가능한 UI 컴포넌트 구축.
- 제공되는 템플릿으로 라우팅, signal, Tailwind CSS를 활용한 싱글 페이지 앱 제작.
- omi-form 패키지를 사용해 폼이 많은 인터페이스 구축.
빠른 시작
- 1
npm으로 omi 패키지를 설치합니다
npm i omi - 2
새 Omi + Vite + TS 프로젝트를 만듭니다
npx omi-cli init my-app - 3
프로젝트 폴더로 이동합니다
cd my-app - 4
개발 서버를 시작합니다
npm start
사용 전 알아둘 점
- 저장소 메타데이터에는 인식된 라이선스가 없다고(NOASSERTION) 표시되어 있지만, README에는 MIT라고 나와 있습니다. 사용하기 전에 라이선스 파일을 확인하세요.
토픽
자주 묻는 질문
- omi은(는) 무엇인가요?
- Omi는 재사용 가능한 커스텀 요소를 만들기 위한 JSX, signal 기반 반응성, 라우터, Tailwind 지원을 갖춘 Web Components 프레임워크입니다. Omi는 브라우저의 네이티브 커스텀 요소 표준인 Web Components를 만들기 위한 프레임워크입니다. 컴포넌트는 @tag('counter-demo') 같은 데코레이터로 정의하고 JSX로 렌더링하므로, 커스텀 요소를 지원하는 일반 HTML, Vue, React 또는 다른 환경에서 사용할 수 있습니다.
- omi은(는) 무료로 사용할 수 있나요? 라이선스는 무엇인가요?
- omi은(는) Other 라이선스의 오픈소스입니다. 상업용 제품에 사용하기 전에 라이선스 조건을 확인하세요.
- omi은(는) 아직 유지보수되고 있나요?
- 활발히 유지보수 중. omi의 마지막 커밋은 2026년 10월 10일입니다.
- omi은(는) 어디에 사용할 수 있나요?
- Vue, React 또는 일반 HTML에서 모두 사용할 수 있는 재사용 가능한 UI 컴포넌트 구축. 제공되는 템플릿으로 라우팅, signal, Tailwind CSS를 활용한 싱글 페이지 앱 제작. omi-form 패키지를 사용해 폼이 많은 인터페이스 구축.
- omi는 어떻게 설치하나요?
- npm으로 omi 패키지를 설치합니다: npm i omi 새 Omi + Vite + TS 프로젝트를 만듭니다: npx omi-cli init my-app 프로젝트 폴더로 이동합니다: cd my-app 개발 서버를 시작합니다: npm start
- omi은(는) 어디서 받을 수 있나요?
- 소스 코드와 설치 방법은 GitHub에 있습니다: https://github.com/Tencent/omi
요약은 프로젝트 README를 바탕으로 AI가 작성했습니다. GitHub 통계는 매일 갱신됩니다.
관련 프로젝트
Virtual DOM 기반의 빠르고 약 4kB 크기인 React 호환 UI 라이브러리로, 최신 컴포넌트 API를 동일하게 제공합니다.
어떤 JavaScript 프레임워크에서든 사용할 수 있는 네이티브 웹 컴포넌트 기반의 맞춤형 오디오·비디오 플레이어 컨트롤입니다.
클라이언트와 서버에서 고성능 UI를 구축하기 위한, 매우 빠른 React 유사 JavaScript 라이브러리입니다.
Fluent UI 디자인 시스템으로 웹 앱을 만드는 데 필요한 React 컴포넌트, 웹 컴포넌트, 유틸리티를 제공하는 Microsoft의 모노레포입니다.
웹, 서버, 네이티브 플랫폼에서 사용할 수 있으며 조합 가능한 컴포넌트로 인터랙티브 UI를 만드는 JavaScript 라이브러리입니다.