Baike.dev
All toolsTrendingOpen sourceNewsSubmit
Log in
< 返回工具列表
O

omi

> 前端框架
开源

Web Components Framework - Web组件框架

13.3K stars0 点赞0 次浏览
访问官网GitHub

工具介绍

Web Components Framework - Web组件框架

English | [简体中文](./README.CN.md)

Omi - Web Components Framework

- 📶 **Signal**-driven reactive programming by [reactive-signal](https://github.com/Tencent/omi/tree/master/packages/reactive-signal) - 🧱 [TDesign Web Components](https://github.com/TDesignOteam/tdesign-web-components) & [OMI Playground](https://omi.cdn-go.cn/tutorial/latest/) - 💗 [100+ OMI Templates](https://omi.cdn-go.cn/templates/latest/) & [OMI Templates Source Code](https://github.com/Tencent/omi/tree/master/packages/omi-templates) - 🐲 [OMI Form](https://omi.cdn-go.cn/form/latest/docs/) & [OMI Form Playground](https://omi.cdn-go.cn/form/latest/play/) & [Lucide Omi Icons](https://github.com/omijs/lucide-omi) - ⚡ **Tiny** size, **Fast** performance - 🌐 Everything you need: **Web Components**, **JSX**, Function Components, Router, Suspense, Directive, Tailwindcss... - 💒 Harness **Constructable Stylesheets** to easily manage and share styles ```tsx import { render, signal, tag, Component, h } from 'omi' const count = signal(0) function add() { count.value++ } function sub() { count.value-- } @tag('counter-demo') export class CounterDemo extends Component { static css = 'span { color: red; }' render() { return ( <> - {count.value} + </> ) } } ``` Use this component: ```tsx import { h } from 'omi' import './counter-demo' render(, document.body) // or import { CounterDemo, Other } from './counter-demo' // Prevent tree Shaking when importing other things render(, document.body) // or document.body.appendChild(document.createElement('counter-demo')) ``` ## Install ```bash npm i omi ``` To quickly create an Omi + Vite + TS/JS project: ```bash $ npx omi-cli init my-app # or create js project by: npx omi-cli init-js my-app $ cd my-app $ npm start # develop $ npm run build # release ``` To quickly create an Omi + **Router** + **Signal** + **Suspense** + **Tailwindcss** + Vite + TS project: ```bash $ npx omi-cli init-spa my-app $ cd my-app $ npm start # develop $ npm run build # release ``` ### Packages - Core packages - [`omi`](https://github.com/Tencent/omi/tree/master/packages/omi) - Implementation of omi framework. - [`omi-form`](https://github.com/Tencent/omi/tree/master/packages/omi-form) - Powerful, simple and cross frameworks form solution. - [`lucide-omi`](https://github.com/omijs/lucide-omi) - Lucide icon collection for omi. - [`omiu`](https://github.com/Tencent/omi/tree/master/packages/omiu) - Hope to create the best web components. For example, the powerful [vchart](https://visactor.io/vchart) and [vtable](https://visactor.io/vtable) - [`omi-router`](https://github.com/Tencent/omi/tree/master/packages/omi-router) - Create SPA of omi framework. - [`omi-cli`](https://github.com/omijs/cli) - To quickly create an Omi + Vite + TS/JS project. - Starter kits (not published to npm) - [`omi-elements`](https://github.com/Tencent/omi/tree/master/packages/omi-elements) - Tailwind Element Omi UI KIT. - [`omi-starter-spa`](https://github.com/Tencent/omi/tree/master/packages/omi-starter-spa) - A starter repo for building single page app using Omi + OmiRouter + Tailwindcss + TypeScript + Vite + Prettier. - [`omi-starter-ts`](https://github.com/Tencent/omi/tree/master/packages/omi-starter-ts) - A starter repo for building web app or reusable components using Omi in TypeScript base on Vite. - [`omi-starter-tailwind`](https://github.com/Tencent/omi/tree/master/packages/omi-starter-tailwind) - A starter repo for building web app or reusable components using Omi + Tailwindcss + TypeScript + Vite. - [`omi-starter-js`](https://github.com/Tencent/omi/tree/master/packages/omi-starter-js) - A starter repo for building web app or reusable components using Omi in JavaScript base on Vite. - [`omi-vue`](https://github.com/Tencent/omi/tree/master/packages/omi-vue) - Vue SFC + Vite + OMI + OMI-WeUI. - Components - [`omi-weui`](https://github.com/Tencent/omi/tree/master/packages/omi-weui) - WeUI Components of omi. - [`omi-auto-animate`](https://github.com/Tencent/omi/tree/master/packages/omi-auto-animate) - Omi version of @formkit/auto-animate. - [`omi-suspense`](https://github.com/Tencent/omi/tree/master/packages/omi-suspense) - Handling asynchronous dependencies. - Directives - [`omi-transition`](https://github.com/Tencent/omi/tree/master/packages/omi-transition) - Applying animations when an component is entering and leaving the DOM. - [`omi-ripple`](https://github.com/Tencent/omi/tree/master/packages/omi-ripple) - A lightweight component for adding ripple effects to user interface elements. - Examples (not published to npm) - [`snake-game-2tier`](https://github.com/Tencent/omi/tree/master/packages/snake-game-2tier) - SNake Game with `Signal` class - [`snake-game-3tier`](https://github.com/Tencent/omi/tree/master/packages/snake-game-3tier) - SNake Game with reactivity functions - [`omi-tutorial`](https://github.com/omijs/tutorial) - Source code of omi tutorial. **If you want to help the project grow, start by simply sharing it with your peers!** - [Share via Dev.to]() - [Share via Twitter](https://twitter.com/intent/tweet?text=Web%20Components%20Framework%20%F0%9F%8E%89http%3A%2F%2Fomijs.org%2F%0A%0A%20Everything%20you%20need%3A%20Web%20Components%2C%20JSX%2C%20Router%2C%20Suspense%2C%20Directive%2C%20Tailwindcss...%20%0A%0A%20Tailwind%20Element%20Omi%20UI%20KIT%3E%20%F0%9F%92%AFhttps%3A%2F%2Fomi.cdn-go.cn%2Felements%2Flatest%2F) - [Share via Facebook](https://www.facebook.com/sharer/sharer.php?u=http%3A//omijs.org) - [Share via LinkedIn](http://www.linkedin.com/shareArticle?url=http%3A%2F%2Fomijs.org%2F) - [Share via Pinterest](https://www.pinterest.com/pin/create/button?url=http://omijs.org/&media=https://repository-images.githubusercontent.com/36606437/66abfcfb-096b-4c9d-a290-77165213e605&description=Omi-Web%20Componnets%20Framework) - [Share via Reddit](https://reddit.com/submit?url=http://omijs.org/&title=web%20components%20framework) - [Share via StumbleUpon](https://www.stumbleupon.com/submit?url=http://omijs.org/&title=web%20components%20framework) - [Share via Vkontakte](https://vk.com/share.php?url=http://omijs.org/) - [Share via Weibo](https://service.weibo.com/share/share.php?url=https://omijs.org/&title=web%20components%20framework) - [Share via Hackernews](https://news.ycombinator.com/submitlink?u=http://omijs.org/&t=web%20components%20framework) Thank you! ## Usage ### TodoApp with reactivity functions > Data oriented programming In data-oriented programming, the focus is on the data itself and the operations on the data, rather than the objects or data structures that hold the data. This programming paradigm emphasizes the change and flow of data, and how to respond to these changes. The TodoApp with reactivity functions is a good example of this, using the concepts of reactive programming, where the UI automatically updates to reflect changes in the data (i.e., the to-do list). ``` … ``` ## Auto Import h vite.config.js: ```tsx import { defineConfig } from 'vite' export default defineConfig({ esbuild: { jsxInject: "import { h } from 'omi'", jsxFactory: "h", jsxFragment: "h.f" } }) ``` You can inject code during construction, so you don't have to manually export `h`. ## Define Cross Framework Component The case of using Omi component in Vue is as follows: my-counter.tsx: ``` … ``` ### Using in Vue3 ```vue

{{ msg }}

【Omi】

``` If you `fire` the `count-change` in an Omi component: ```ts this.fire('count-change', this.state.count) ``` To use the component and listen for events in Vue: ```html ``` ### Using in React ``` … ``` ## Contributors ## License MIT © Tencent

核心特点

  • •📶 Signal-driven reactive programming by reactive-signal
  • •🧱 TDesign Web Components & OMI Playground
  • •💗 100+ OMI Templates & OMI Templates Source Code
  • •🐲 OMI Form & OMI Form Playground & Lucide Omi Icons
  • •⚡ Tiny size, Fast performance
  • •🌐 Everything you need: Web Components, JSX, Function Components, Router, Suspense, Directive, Tailwindcss...
  • •💒 Harness Constructable Stylesheets to easily manage and share styles
  • •Core packages
  • •omi - Implementation of omi framework.
  • •omi-form - Powerful, simple and cross frameworks form solution.

> 标签

TypeScriptcomponentscsscustom-elementshtml

暂无评论,来聊聊你的看法吧

> 工具信息

发布日期2026年8月1日
最后更新2026年9月9日
分类前端框架
定价开源

> 相关工具

R
React
用于构建用户界面的 JavaScript 库
V
Vue.js
渐进式 JavaScript 框架
N
Next.js
基于 React 的全栈 Web 框架
Baike.dev

baike.dev helps you discover great languages, frameworks, databases, DevOps and cloud-native tools.

Quick links

  • Home
  • All tools
  • Trending
  • Open source

About

  • About us
  • Community
  • News

Contribute

Found a great developer tool? Share it with the community.

Submit a tool
© 2026 baike.dev Developer EncyclopediaUpdated daily · Discover great developer tools