// the find
Tencent/omi
Web Components Framework - Web组件框架
Omi is a Web Components framework from Tencent that layers JSX, signals-based reactivity, and a component class model on top of native custom elements. It targets developers who want the ergonomics of React/Vue but want their output to be actual web standards components that work across frameworks. Actively maintained with a real component ecosystem (TDesign, omi-form, omi-router).
Signal-based reactivity is genuinely well-designed — global signals update any component that reads them without wiring up subscriptions manually. Cross-framework interop is real and not just marketing: the Vue and React examples show a working custom element that passes props and fires events through the native DOM event system. Constructable Stylesheets support for scoped CSS is a smart use of a platform feature that most frameworks ignore. The starter kits and 100+ templates lower the barrier to something production-shaped quickly.
The manual `todos.update()` call required after mutating arrays is a leaky abstraction — if you forget it, the UI silently doesn't update, which is the kind of bug that wastes hours. TypeScript types for the signal API and component lifecycle look thin based on the examples; `this.props` and `this.state` appear to be loosely typed. Documentation is split across multiple CDN-hosted sites (omi.cdn-go.cn) that may not be stable long-term — not ideal for a framework you're betting a project on. The ecosystem is heavily Tencent-internal (TDesign, WeUI), so if you're not targeting a Chinese product stack, most of the component libraries are irrelevant to you.