Repolode
Tencent

Tencent/omi

Omiは、JSX、Signalベースのリアクティビティ、ルーター、Tailwind対応を備え、再利用可能なカスタム要素の構築を目指すWeb Componentsフレームワークです。

スター
13,276
フォーク
1,256
未解決の Issue
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. 1

    npmでomiパッケージをインストールする

    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は、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 の数値は毎日更新されます。

関連プロジェクト