Repolode
Tencent

Tencent/omi

Omi — фреймворк для Web Components с JSX, реактивностью на основе сигналов, роутером и поддержкой Tailwind для создания переиспользуемых пользовательских элементов.

Звёзды
13,276
Форки
1,256
Открытые issues
68
Последний коммит
15 дней назад

Что это?

Omi — фреймворк для создания Web Components — стандарта браузерных пользовательских элементов. Компоненты описываются с помощью декоратора, например @tag('counter-demo'), и рендерятся с помощью JSX, поэтому их можно использовать в обычном HTML, Vue, React и любых других средах, поддерживающих пользовательские элементы.

Состояние обрабатывает реактивная система на основе сигналов (пакет reactive-signal): при изменении значения сигнала обновляется только зависящий от него интерфейс. В ядро также входят функциональные компоненты, Suspense, директивы и Constructable Stylesheets для управления стилями. Дополнительные пакеты предоставляют роутер, решение для работы с формами (omi-form), а также набор UI-компонентов и иконок.

В проекте есть CLI для создания каркаса приложения — omi-cli — с шаблонами для TypeScript, JavaScript и SPA, куда входят Router, Signal, Suspense и Tailwind CSS. Репозиторий организован как монорепозиторий и содержит стартовые наборы и примеры приложений, например игры «змейка».

Ключевые возможности

  • 01Создание пользовательских элементов с помощью декоратора @tag и их рендеринг с помощью JSX.
  • 02Реактивность на основе сигналов: при изменении значений обновляется только зависящий от них интерфейс.
  • 03В ядро фреймворка входят функциональные компоненты, Suspense и директивы.
  • 04Constructable Stylesheets для управления стилями компонентов и их совместного использования.
  • 05Официальные пакеты для роутинга, работы с формами и UI-компонентами.
  • 06omi-cli создаёт проекты на основе Vite с TypeScript или JavaScript.

Сценарии использования

  • Создание переиспользуемых UI-компонентов, работающих в Vue, React и обычном HTML.
  • Создание одностраничных приложений с маршрутизацией, сигналами и Tailwind CSS на основе готовых шаблонов.
  • Создание интерфейсов с большим количеством форм с помощью пакета omi-form.

Быстрый старт

  1. 1

    Установите пакет omi с помощью npm

    npm i omi
  2. 2

    Создайте новый проект на Omi + Vite + TS

    npx omi-cli init my-app
  3. 3

    Перейдите в папку проекта

    cd my-app
  4. 4

    Запустите сервер разработки

    npm start

Что важно знать

  • В метаданных репозитория указано, что распознанной лицензии нет (NOASSERTION), хотя в README указана MIT. Перед использованием проверьте файл лицензии.

Темы

Частые вопросы

Что такое omi?
Omi — фреймворк для Web Components с JSX, реактивностью на основе сигналов, роутером и поддержкой Tailwind для создания переиспользуемых пользовательских элементов. Omi — фреймворк для создания Web Components — стандарта браузерных пользовательских элементов. Компоненты описываются с помощью декоратора, например @tag('counter-demo'), и рендерятся с помощью JSX, поэтому их можно использовать в обычном HTML, Vue, React и любых других средах, поддерживающих пользовательские элементы.
omi можно использовать бесплатно? Какая у него лицензия?
omi распространяется с открытым исходным кодом под лицензией Other. Перед использованием в коммерческих продуктах проверьте условия лицензии.
omi всё ещё поддерживается?
Активно поддерживается. Последний коммит в omi — 10 окт. 2026 г..
Для чего можно использовать omi?
Создание переиспользуемых UI-компонентов, работающих в Vue, React и обычном HTML. Создание одностраничных приложений с маршрутизацией, сигналами и Tailwind CSS на основе готовых шаблонов. Создание интерфейсов с большим количеством форм с помощью пакета omi-form.
Как установить omi?
Установите пакет omi с помощью npm: 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 проекта. Статистика GitHub обновляется ежедневно.

Похожие проекты